diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WelcomeFragment.kt | 23 | ||||
| -rw-r--r-- | android/src/main/res/layout/welcome.xml | 6 |
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" |
