diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-05 19:34:05 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-11 13:15:50 +0000 |
| commit | bd4a17f596e86aca3bffdd3d801cb3d1fe51590a (patch) | |
| tree | 2868a0cacc2b4a3caa8a06411c8b4409fae47e07 | |
| parent | 39704ca80417af363103f7b9e3a16f13229cedf2 (diff) | |
| download | mullvadvpn-bd4a17f596e86aca3bffdd3d801cb3d1fe51590a.tar.xz mullvadvpn-bd4a17f596e86aca3bffdd3d801cb3d1fe51590a.zip | |
Create Redeem Voucher dialog
5 files changed, 116 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt new file mode 100644 index 0000000000..2d71d6b926 --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt @@ -0,0 +1,32 @@ +package net.mullvad.mullvadvpn.ui + +import android.app.Dialog +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.support.v4.app.DialogFragment +import android.view.LayoutInflater +import android.view.ViewGroup +import android.view.ViewGroup.LayoutParams +import net.mullvad.mullvadvpn.R + +class RedeemVoucherDialogFragment : DialogFragment() { + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ) = inflater.inflate(R.layout.redeem_voucher, container, false) + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val dialog = super.onCreateDialog(savedInstanceState) + + dialog.window?.setBackgroundDrawable(ColorDrawable(android.R.color.transparent)) + + return dialog + } + + override fun onStart() { + super.onStart() + + dialog?.window?.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) + } +} diff --git a/android/src/main/res/drawable/edit_text_background.xml b/android/src/main/res/drawable/edit_text_background.xml new file mode 100644 index 0000000000..06252ac37c --- /dev/null +++ b/android/src/main/res/drawable/edit_text_background.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <item android:state_enabled="false"> + <inset android:insetTop="1dp" + android:insetBottom="1dp" + android:insetLeft="1dp" + android:insetRight="1dp"> + <shape android:shape="rectangle"> + <corners android:radius="@dimen/edit_text_corner_radius" /> + <solid android:color="@color/white20" /> + </shape> + </inset> + </item> + <item android:state_enabled="true"> + <inset android:insetTop="1dp" + android:insetBottom="1dp" + android:insetLeft="1dp"> + <shape android:shape="rectangle"> + <corners android:radius="@dimen/edit_text_corner_radius" /> + <solid android:color="@color/white" /> + </shape> + </inset> + </item> +</selector> diff --git a/android/src/main/res/layout/redeem_voucher.xml b/android/src/main/res/layout/redeem_voucher.xml new file mode 100644 index 0000000000..2728d543d3 --- /dev/null +++ b/android/src/main/res/layout/redeem_voucher.xml @@ -0,0 +1,55 @@ +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:mullvad="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="30dp" + android:background="@drawable/dialog_background" + android:orientation="vertical" + android:gravity="left" + android:elevation="2dp"> + <TextView android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:layout_marginBottom="12dp" + android:textColor="@color/white80" + android:textSize="16sp" + android:text="@string/enter_voucher_code" /> + <EditText android:id="@+id/voucher_code" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="14dp" + android:background="@drawable/edit_text_background" + android:singleLine="true" + android:imeActionLabel="@string/redeem" + android:imeOptions="flagNoPersonalizedLearning" + android:inputType="textCapCharacters" + android:textCursorDrawable="@drawable/text_input_cursor" + android:hint="@string/voucher_hint" + android:maxLength="19" + android:digits="0123456789-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + android:textAllCaps="true" + android:textColorHint="@color/blue40" + android:textColor="@color/blue" + android:textSize="13sp" + android:textStyle="bold" /> + <TextView android:id="@+id/error" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="8dp" + android:textColor="@color/red" + android:textSize="13sp" + android:textStyle="bold" + android:visibility="invisible" /> + <net.mullvad.mullvadvpn.ui.widget.Button android:id="@+id/redeem" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginVertical="16dp" + mullvad:showSpinner="true" + mullvad:buttonColor="green" + mullvad:text="@string/redeem" /> + <net.mullvad.mullvadvpn.ui.widget.Button android:id="@+id/cancel" + android:layout_width="match_parent" + android:layout_height="wrap_content" + mullvad:buttonColor="blue" + mullvad:text="@string/cancel" /> +</LinearLayout> diff --git a/android/src/main/res/values/dimensions.xml b/android/src/main/res/values/dimensions.xml index 4ba5bfaba5..4342bec6c5 100644 --- a/android/src/main/res/values/dimensions.xml +++ b/android/src/main/res/values/dimensions.xml @@ -5,6 +5,7 @@ <dimen name="relay_list_divider">1dp</dimen> <dimen name="dialog_margin">14dp</dimen> <dimen name="account_input_corner_radius">4dp</dimen> + <dimen name="edit_text_corner_radius">4dp</dimen> <dimen name="normal_button_height">44dp</dimen> <dimen name="tall_button_height">64dp</dimen> <dimen name="cell_switch_border_radius">16dp</dimen> diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index 6c9e794562..20309f34d4 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -30,6 +30,9 @@ account. Buy credit on our website.</string> <string name="buy_credit">Buy credit</string> <string name="redeem_voucher">Redeem voucher</string> + <string name="enter_voucher_code">Enter voucher code</string> + <string name="voucher_hint">XXXX-XXXX-XXXX-XXXX</string> + <string name="redeem">Redeem</string> <string name="settings">Settings</string> <string name="settings_account">Account</string> <string name="less_than_a_day_left">less than a day left</string> |
