mirror of
				https://github.com/yggdrasil-network/yggdrasil-android.git
				synced 2025-11-03 18:55:08 +03:00 
			
		
		
		
	Click on a version row now opens URL of the project on GitHub.
This commit is contained in:
		
							parent
							
								
									3ddba8c9d6
								
							
						
					
					
						commit
						02a32935ba
					
				
					 5 changed files with 34 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -4,6 +4,7 @@ import android.app.Activity
 | 
			
		|||
import android.app.AlertDialog
 | 
			
		||||
import android.content.*
 | 
			
		||||
import android.graphics.Color
 | 
			
		||||
import android.net.Uri
 | 
			
		||||
import android.net.VpnService
 | 
			
		||||
import android.os.Bundle
 | 
			
		||||
import android.view.ContextThemeWrapper
 | 
			
		||||
| 
						 | 
				
			
			@ -20,6 +21,7 @@ import eu.neilalexander.yggdrasil.PacketTunnelProvider.Companion.STATE_INTENT
 | 
			
		|||
import mobile.Mobile
 | 
			
		||||
import org.json.JSONArray
 | 
			
		||||
 | 
			
		||||
const val APP_WEB_URL = "https://github.com/yggdrasil-network/yggdrasil-android"
 | 
			
		||||
 | 
			
		||||
class MainActivity : AppCompatActivity() {
 | 
			
		||||
    private lateinit var enabledSwitch: Switch
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +33,7 @@ class MainActivity : AppCompatActivity() {
 | 
			
		|||
    private lateinit var dnsLabel: TextView
 | 
			
		||||
    private lateinit var dnsRow: LinearLayoutCompat
 | 
			
		||||
    private lateinit var settingsRow: LinearLayoutCompat
 | 
			
		||||
    private lateinit var versionRow: LinearLayoutCompat
 | 
			
		||||
 | 
			
		||||
    private fun start() {
 | 
			
		||||
        val intent = Intent(this, PacketTunnelProvider::class.java)
 | 
			
		||||
| 
						 | 
				
			
			@ -59,6 +62,7 @@ class MainActivity : AppCompatActivity() {
 | 
			
		|||
        dnsLabel = findViewById(R.id.dnsValue)
 | 
			
		||||
        dnsRow = findViewById(R.id.dnsTableRow)
 | 
			
		||||
        settingsRow = findViewById(R.id.settingsTableRow)
 | 
			
		||||
        versionRow = findViewById(R.id.versionTableRow)
 | 
			
		||||
 | 
			
		||||
        enabledLabel.setTextColor(Color.GRAY)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -106,6 +110,11 @@ class MainActivity : AppCompatActivity() {
 | 
			
		|||
            startActivity(intent)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        versionRow.isClickable = true
 | 
			
		||||
        versionRow.setOnClickListener {
 | 
			
		||||
            openUrlInBrowser(APP_WEB_URL)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ipAddressLabel.setOnLongClickListener {
 | 
			
		||||
            val clipboard: ClipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
 | 
			
		||||
            val clip = ClipData.newPlainText("ip", ipAddressLabel.text)
 | 
			
		||||
| 
						 | 
				
			
			@ -213,4 +222,16 @@ class MainActivity : AppCompatActivity() {
 | 
			
		|||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun openUrlInBrowser(url: String) {
 | 
			
		||||
        val intent = Intent(Intent.ACTION_VIEW).apply {
 | 
			
		||||
            data = Uri.parse(url)
 | 
			
		||||
        }
 | 
			
		||||
        try {
 | 
			
		||||
            startActivity(intent)
 | 
			
		||||
        } catch (e: ActivityNotFoundException) {
 | 
			
		||||
            // Handle the exception if no browser is found
 | 
			
		||||
            Toast.makeText(this, getText(R.string.no_browser_found_toast), Toast.LENGTH_SHORT).show()
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,6 @@ import android.content.BroadcastReceiver
 | 
			
		|||
import android.content.Context
 | 
			
		||||
import android.content.Intent
 | 
			
		||||
import android.content.IntentFilter
 | 
			
		||||
import androidx.appcompat.app.AppCompatActivity
 | 
			
		||||
import android.os.Bundle
 | 
			
		||||
import android.text.method.LinkMovementMethod
 | 
			
		||||
import android.util.Log
 | 
			
		||||
| 
						 | 
				
			
			@ -13,13 +12,20 @@ import android.view.ContextThemeWrapper
 | 
			
		|||
import android.view.KeyEvent
 | 
			
		||||
import android.view.LayoutInflater
 | 
			
		||||
import android.view.View
 | 
			
		||||
import android.widget.*
 | 
			
		||||
import android.widget.EditText
 | 
			
		||||
import android.widget.ImageButton
 | 
			
		||||
import android.widget.Switch
 | 
			
		||||
import android.widget.TableLayout
 | 
			
		||||
import android.widget.TableRow
 | 
			
		||||
import android.widget.TextView
 | 
			
		||||
import androidx.appcompat.app.AppCompatActivity
 | 
			
		||||
import androidx.core.widget.doOnTextChanged
 | 
			
		||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
 | 
			
		||||
import com.google.android.material.textfield.TextInputEditText
 | 
			
		||||
import org.json.JSONArray
 | 
			
		||||
import org.json.JSONObject
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PeersActivity : AppCompatActivity() {
 | 
			
		||||
    private lateinit var config: ConfigurationProxy
 | 
			
		||||
    private lateinit var inflater: LayoutInflater
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -351,7 +351,9 @@
 | 
			
		|||
 | 
			
		||||
                        </androidx.appcompat.widget.LinearLayoutCompat>
 | 
			
		||||
 | 
			
		||||
                        <androidx.appcompat.widget.LinearLayoutCompat style="@style/SelectableItemStyle">
 | 
			
		||||
                        <androidx.appcompat.widget.LinearLayoutCompat
 | 
			
		||||
                            android:id="@+id/versionTableRow"
 | 
			
		||||
                            style="@style/SelectableItemStyle">
 | 
			
		||||
 | 
			
		||||
                            <TextView
 | 
			
		||||
                                android:id="@+id/versionLabel"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,4 +85,5 @@
 | 
			
		|||
    <string name="private_key_label">Приватный ключ:</string>
 | 
			
		||||
    <string name="set_keys">Установить свой ключ</string>
 | 
			
		||||
    <string name="save">Сохранить</string>
 | 
			
		||||
    <string name="no_browser_found_toast">Не найден браузер для открытия ссылки!</string>
 | 
			
		||||
</resources>
 | 
			
		||||
| 
						 | 
				
			
			@ -85,4 +85,5 @@
 | 
			
		|||
    <string name="private_key_label">Private key:</string>
 | 
			
		||||
    <string name="set_keys">Set your own key</string>
 | 
			
		||||
    <string name="save">Save</string>
 | 
			
		||||
    <string name="no_browser_found_toast">No browser found to open the URL!</string>
 | 
			
		||||
</resources>
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue