summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-06-19 09:10:19 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-06-19 09:10:19 -0300
commit0d58496ed00837c380e1397e05fbe4f37a98bbd3 (patch)
treea48d4b332bd25a6cdb88e2ec71af06ba7e331b41
parent0e476dd74165095182266b689c6b821b081f1a1e (diff)
parentf340a7c86963586a2cc3c666104c6fb9b577b1aa (diff)
downloadmullvadvpn-0d58496ed00837c380e1397e05fbe4f37a98bbd3.tar.xz
mullvadvpn-0d58496ed00837c380e1397e05fbe4f37a98bbd3.zip
Merge branch 'copy-account-number-to-clipboard'
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/AccountFragment.kt17
-rw-r--r--android/src/main/res/layout/account.xml14
-rw-r--r--android/src/main/res/values/strings.xml2
3 files changed, 29 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountFragment.kt
index 8d8702a38b..8bcd8506a7 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountFragment.kt
@@ -8,6 +8,8 @@ import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import android.content.Context
+import android.content.ClipboardManager
+import android.content.ClipData
import android.os.Bundle
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
@@ -15,6 +17,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
+import android.widget.Toast
import org.joda.time.DateTime
@@ -53,6 +56,8 @@ class AccountFragment : Fragment() {
accountExpiryDisplay = view.findViewById<TextView>(R.id.account_expiry_display)
accountNumberDisplay = view.findViewById<TextView>(R.id.account_number_display)
+ accountNumberContainer.setOnClickListener { copyAccountNumberToClipboard() }
+
updateViewJob = updateView()
return view
@@ -88,6 +93,18 @@ class AccountFragment : Fragment() {
goToLoginScreen()
}
+ private fun copyAccountNumberToClipboard() {
+ val clipboard =
+ parentActivity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
+ val clipLabel = parentActivity.resources.getString(R.string.mullvad_account_number)
+ val clipData = ClipData.newPlainText(clipLabel, accountNumberDisplay.text)
+
+ clipboard.primaryClip = clipData
+
+ Toast.makeText(parentActivity, R.string.copied_mullvad_account_number, Toast.LENGTH_SHORT)
+ .show()
+ }
+
private fun clearAccountNumber() = GlobalScope.launch(Dispatchers.Default) {
val daemon = parentActivity.asyncDaemon.await()
diff --git a/android/src/main/res/layout/account.xml b/android/src/main/res/layout/account.xml
index 39924ef9d6..fa37527f2d 100644
--- a/android/src/main/res/layout/account.xml
+++ b/android/src/main/res/layout/account.xml
@@ -34,7 +34,6 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginHorizontal="24dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="24dp"
android:orientation="vertical"
@@ -42,7 +41,8 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="24dp"
+ android:layout_marginBottom="12dp"
+ android:layout_marginHorizontal="24dp"
android:textColor="@color/white"
android:textSize="32sp"
android:textStyle="bold"
@@ -51,9 +51,12 @@
<LinearLayout android:id="@+id/account_number_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginBottom="24dp"
+ android:paddingHorizontal="24dp"
+ android:paddingVertical="12dp"
android:orientation="vertical"
android:visibility="invisible"
+ android:background="?android:attr/selectableItemBackground"
+ android:clickable="true"
>
<TextView
android:layout_width="wrap_content"
@@ -76,7 +79,8 @@
<LinearLayout android:id="@+id/account_expiry_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginBottom="24dp"
+ android:paddingHorizontal="24dp"
+ android:paddingVertical="12dp"
android:orientation="vertical"
android:visibility="invisible"
>
@@ -99,6 +103,8 @@
/>
</LinearLayout>
<Button android:id="@+id/logout"
+ android:layout_marginTop="12dp"
+ android:layout_marginHorizontal="24dp"
android:text="@string/log_out"
style="@style/RedButton"
/>
diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml
index 9b226aae07..eef3679d2a 100644
--- a/android/src/main/res/values/strings.xml
+++ b/android/src/main/res/values/strings.xml
@@ -19,6 +19,8 @@
<string name="quit">Quit</string>
<string name="account_number">Account number</string>
+ <string name="mullvad_account_number">Mullvad account number</string>
+ <string name="copied_mullvad_account_number">Copied Mullvad account number</string>
<string name="paid_until">Paid until</string>
<string name="log_out">Log out</string>