summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WelcomeFragment.kt23
-rw-r--r--android/src/main/res/layout/welcome.xml6
2 files changed, 26 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WelcomeFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WelcomeFragment.kt
index 5fcf67f568..fd2a0c9c96 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WelcomeFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WelcomeFragment.kt
@@ -1,10 +1,14 @@
package net.mullvad.mullvadvpn.ui
+import android.content.ClipData
+import android.content.ClipboardManager
+import android.content.Context
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
+import android.widget.Toast
import kotlinx.coroutines.delay
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.ui.widget.UrlButton
@@ -29,7 +33,9 @@ class WelcomeFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) {
parentActivity.openSettings()
}
- accountLabel = view.findViewById<TextView>(R.id.account_number)
+ accountLabel = view.findViewById<TextView>(R.id.account_number).apply {
+ setOnClickListener { copyAccountTokenToClipboard() }
+ }
view.findViewById<UrlButton>(R.id.buy_credit).apply {
prepare(daemon, jobTracker)
@@ -68,6 +74,7 @@ class WelcomeFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) {
jobTracker.newUiJob("updateAccountNumber") {
accountLabel.text = accountText ?: ""
+ accountLabel.setEnabled(accountText != null && accountText.length > 0)
}
}
@@ -106,4 +113,18 @@ class WelcomeFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) {
commit()
}
}
+
+ private fun copyAccountTokenToClipboard() {
+ val accountToken = accountLabel.text
+ val clipboardLabel = resources.getString(R.string.mullvad_account_number)
+ val toastMessage = resources.getString(R.string.copied_mullvad_account_number)
+
+ val context = parentActivity
+ val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
+ val clipData = ClipData.newPlainText(clipboardLabel, accountToken)
+
+ clipboard.primaryClip = clipData
+
+ Toast.makeText(context, toastMessage, Toast.LENGTH_SHORT).show()
+ }
}
diff --git a/android/src/main/res/layout/welcome.xml b/android/src/main/res/layout/welcome.xml
index 88e8c5d39c..521bfc4dff 100644
--- a/android/src/main/res/layout/welcome.xml
+++ b/android/src/main/res/layout/welcome.xml
@@ -55,8 +55,10 @@
<TextView android:id="@+id/account_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:layout_marginVertical="11dp"
+ android:paddingHorizontal="24dp"
+ android:paddingVertical="11dp"
+ android:clickable="true"
+ android:background="?android:attr/selectableItemBackground"
android:textColor="@color/white"
android:textSize="24sp"
android:textStyle="bold"