summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt32
-rw-r--r--android/src/main/res/drawable/edit_text_background.xml25
-rw-r--r--android/src/main/res/layout/redeem_voucher.xml55
-rw-r--r--android/src/main/res/values/dimensions.xml1
-rw-r--r--android/src/main/res/values/strings.xml3
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>