diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt index ea56090..82fb296 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt @@ -1,16 +1,14 @@ package eu.neilalexander.yggdrasil import android.app.Activity -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent -import android.content.IntentFilter +import android.content.* import android.graphics.Color import android.net.VpnService import android.os.Bundle import android.widget.Switch import android.widget.TableRow import android.widget.TextView +import android.widget.Toast import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import androidx.localbroadcastmanager.content.LocalBroadcastManager @@ -97,6 +95,22 @@ class MainActivity : AppCompatActivity() { val intent = Intent(this, SettingsActivity::class.java) startActivity(intent) } + + ipAddressLabel.setOnLongClickListener { + val clipboard: ClipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager + val clip = ClipData.newPlainText("ip", ipAddressLabel.text) + clipboard.setPrimaryClip(clip) + Toast.makeText(applicationContext,R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show() + true + } + + subnetLabel.setOnLongClickListener { + val clipboard: ClipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager + val clip = ClipData.newPlainText("subnet", subnetLabel.text) + clipboard.setPrimaryClip(clip) + Toast.makeText(applicationContext,R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show() + true + } } override fun onResume() { @@ -153,4 +167,4 @@ class MainActivity : AppCompatActivity() { super.onPause() LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver) } -} \ No newline at end of file +} diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt index 9ad3e25..4e4fbcc 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt @@ -1,6 +1,8 @@ package eu.neilalexander.yggdrasil import android.app.AlertDialog +import android.content.ClipData +import android.content.ClipboardManager import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.ContextThemeWrapper @@ -55,6 +57,14 @@ class SettingsActivity : AppCompatActivity() { builder.show() } + publicKeyLabel.setOnLongClickListener { + val clipboard: ClipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager + val clip = ClipData.newPlainText("public key", publicKeyLabel.text) + clipboard.setPrimaryClip(clip) + Toast.makeText(applicationContext,R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show() + true + } + updateView() } @@ -68,4 +78,4 @@ class SettingsActivity : AppCompatActivity() { publicKeyLabel.text = config.getJSON().getString("PublicKey") } -} \ 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 bd74bd7..242d96b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,6 @@ Yggdrasil + Copied to clipboard Use these DNS servers while Yggdrasil is running. Note that all DNS requests, including for non-Yggdrasil internet hostnames, will be sent to these servers. Yggdrasil will not configure any DNS servers when the service starts. All DNS requests will be resolved by the default resolver. These DNS servers are provided by community members. Click the + button to add them to the list above. Long-tap to see more info.