diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-19 09:10:19 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-19 09:10:19 -0300 |
| commit | 0d58496ed00837c380e1397e05fbe4f37a98bbd3 (patch) | |
| tree | a48d4b332bd25a6cdb88e2ec71af06ba7e331b41 | |
| parent | 0e476dd74165095182266b689c6b821b081f1a1e (diff) | |
| parent | f340a7c86963586a2cc3c666104c6fb9b577b1aa (diff) | |
| download | mullvadvpn-0d58496ed00837c380e1397e05fbe4f37a98bbd3.tar.xz mullvadvpn-0d58496ed00837c380e1397e05fbe4f37a98bbd3.zip | |
Merge branch 'copy-account-number-to-clipboard'
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/AccountFragment.kt | 17 | ||||
| -rw-r--r-- | android/src/main/res/layout/account.xml | 14 | ||||
| -rw-r--r-- | android/src/main/res/values/strings.xml | 2 |
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> |
