diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt index 5597862..befdbe3 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt @@ -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() + } + } } diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/PeersActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/PeersActivity.kt index 70f1b4d..55e2817 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/PeersActivity.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/PeersActivity.kt @@ -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 diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9261130..e85a344 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -351,7 +351,9 @@ - + Приватный ключ: Установить свой ключ Сохранить + Не найден браузер для открытия ссылки! \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1bf73ec..eacd6e7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -85,4 +85,5 @@ Private key: Set your own key Save + No browser found to open the URL! \ No newline at end of file