summaryrefslogtreecommitdiff
path: root/wallet/src/main/res
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-07-17 16:25:14 -0300
committerTorsten Grote <t@grobox.de>2020-07-17 16:25:14 -0300
commit4f665e694b819f7999bb96919d8b468c2a3de48b (patch)
tree75b38092b50bdcc2bf1ffd6c87f4da00ddd2976d /wallet/src/main/res
parentaa4472c62acd909cea65dd26102b5d7188c7aacd (diff)
downloadtaler-android-4f665e694b819f7999bb96919d8b468c2a3de48b.tar.gz
taler-android-4f665e694b819f7999bb96919d8b468c2a3de48b.tar.bz2
taler-android-4f665e694b819f7999bb96919d8b468c2a3de48b.zip
[wallet] add UI for making manual withdrawal via exchange
Diffstat (limited to 'wallet/src/main/res')
-rw-r--r--wallet/src/main/res/drawable/ic_baseline_more_vert.xml26
-rw-r--r--wallet/src/main/res/layout/fragment_exchange_list.xml2
-rw-r--r--wallet/src/main/res/layout/fragment_manual_withdraw.xml118
-rw-r--r--wallet/src/main/res/layout/list_item_exchange.xml22
-rw-r--r--wallet/src/main/res/menu/exchange.xml21
-rw-r--r--wallet/src/main/res/navigation/nav_graph.xml11
-rw-r--r--wallet/src/main/res/values/strings.xml7
7 files changed, 200 insertions, 7 deletions
diff --git a/wallet/src/main/res/drawable/ic_baseline_more_vert.xml b/wallet/src/main/res/drawable/ic_baseline_more_vert.xml
new file mode 100644
index 0000000..b19e0f1
--- /dev/null
+++ b/wallet/src/main/res/drawable/ic_baseline_more_vert.xml
@@ -0,0 +1,26 @@
+<!--
+ ~ This file is part of GNU Taler
+ ~ (C) 2020 Taler Systems S.A.
+ ~
+ ~ GNU Taler is free software; you can redistribute it and/or modify it under the
+ ~ terms of the GNU General Public License as published by the Free Software
+ ~ Foundation; either version 3, or (at your option) any later version.
+ ~
+ ~ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ ~ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ ~ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU General Public License along with
+ ~ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:tint="?attr/colorControlNormal"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" />
+</vector>
diff --git a/wallet/src/main/res/layout/fragment_exchange_list.xml b/wallet/src/main/res/layout/fragment_exchange_list.xml
index c7404ae..29d88c7 100644
--- a/wallet/src/main/res/layout/fragment_exchange_list.xml
+++ b/wallet/src/main/res/layout/fragment_exchange_list.xml
@@ -27,7 +27,7 @@
android:scrollbars="vertical"
android:visibility="invisible"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
- tools:listitem="@layout/list_item_history"
+ tools:listitem="@layout/list_item_exchange"
tools:visibility="visible" />
<TextView
diff --git a/wallet/src/main/res/layout/fragment_manual_withdraw.xml b/wallet/src/main/res/layout/fragment_manual_withdraw.xml
new file mode 100644
index 0000000..5b37d2a
--- /dev/null
+++ b/wallet/src/main/res/layout/fragment_manual_withdraw.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ This file is part of GNU Taler
+ ~ (C) 2020 Taler Systems S.A.
+ ~
+ ~ GNU Taler is free software; you can redistribute it and/or modify it under the
+ ~ terms of the GNU General Public License as published by the Free Software
+ ~ Foundation; either version 3, or (at your option) any later version.
+ ~
+ ~ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ ~ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ ~ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU General Public License along with
+ ~ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+ -->
+
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <Button
+ android:id="@+id/qrCodeButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="32dp"
+ android:drawableLeft="@drawable/ic_scan_qr"
+ android:text="@string/button_scan_qr_code"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="packed"
+ tools:ignore="RtlHardcoded" />
+
+ <TextView
+ android:id="@+id/orView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="32dp"
+ android:text="@string/or"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/qrCodeButton" />
+
+ <TextView
+ android:id="@+id/manualWithdrawIntro"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="32dp"
+ android:text="@string/withdraw_manual_title"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/orView" />
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/amountLayout"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="16dp"
+ android:hint="@string/withdraw_amount"
+ app:boxBackgroundMode="outline"
+ app:endIconDrawable="@drawable/ic_cancel"
+ app:endIconMode="clear_text"
+ app:layout_constraintEnd_toStartOf="@+id/currencyView"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/manualWithdrawIntro">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/amountView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ems="10"
+ android:inputType="number" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <TextView
+ android:id="@+id/currencyView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="@+id/amountLayout"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/amountLayout"
+ app:layout_constraintTop_toTopOf="@+id/amountLayout"
+ tools:text="TESTKUDOS123" />
+
+ <TextView
+ android:id="@+id/paymentOptionsLabel"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="32dp"
+ android:layout_marginEnd="16dp"
+ android:text="@string/withdraw_manual_payment_options"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/amountLayout" />
+
+ <Button
+ android:id="@+id/checkFeesButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="32dp"
+ android:layout_marginEnd="16dp"
+ android:text="@string/withdraw_manual_check_fees"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/paymentOptionsLabel"
+ app:layout_constraintVertical_bias="0.0" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/list_item_exchange.xml b/wallet/src/main/res/layout/list_item_exchange.xml
index 4c646fe..c9d1df4 100644
--- a/wallet/src/main/res/layout/list_item_exchange.xml
+++ b/wallet/src/main/res/layout/list_item_exchange.xml
@@ -21,16 +21,17 @@
android:layout_height="wrap_content"
android:background="@drawable/selectable_background"
android:foreground="?attr/selectableItemBackground"
- android:padding="16dp">
+ android:paddingTop="16dp"
+ android:paddingBottom="16dp">
<TextView
android:id="@+id/urlView"
style="@style/TransactionTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
+ android:layout_marginStart="16dp"
android:textSize="18sp"
- app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/overflowIcon"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="exchange.test.taler.net" />
@@ -40,11 +41,22 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
android:textSize="14sp"
- app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/overflowIcon"
app:layout_constraintStart_toStartOf="@+id/urlView"
app:layout_constraintTop_toBottomOf="@+id/urlView"
tools:text="@string/exchange_list_currency" />
+ <ImageButton
+ android:id="@+id/overflowIcon"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:background="?attr/selectableItemBackgroundBorderless"
+ android:contentDescription="@string/menu"
+ android:scaleType="centerInside"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:srcCompat="@drawable/ic_baseline_more_vert" />
+
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/menu/exchange.xml b/wallet/src/main/res/menu/exchange.xml
new file mode 100644
index 0000000..85ec08f
--- /dev/null
+++ b/wallet/src/main/res/menu/exchange.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ This file is part of GNU Taler
+ ~ (C) 2020 Taler Systems S.A.
+ ~
+ ~ GNU Taler is free software; you can redistribute it and/or modify it under the
+ ~ terms of the GNU General Public License as published by the Free Software
+ ~ Foundation; either version 3, or (at your option) any later version.
+ ~
+ ~ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ ~ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ ~ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU General Public License along with
+ ~ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+ -->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/action_manual_withdrawal"
+ android:title="@string/exchange_menu_manual_withdraw" />
+</menu>
diff --git a/wallet/src/main/res/navigation/nav_graph.xml b/wallet/src/main/res/navigation/nav_graph.xml
index 7019597..1242857 100644
--- a/wallet/src/main/res/navigation/nav_graph.xml
+++ b/wallet/src/main/res/navigation/nav_graph.xml
@@ -69,7 +69,16 @@
<fragment
android:id="@+id/nav_settings_exchanges"
android:name="net.taler.wallet.exchanges.ExchangeListFragment"
- android:label="@string/exchange_list_title"/>
+ android:label="@string/exchange_list_title">
+ <action
+ android:id="@+id/action_nav_settings_exchanges_to_nav_exchange_manual_withdrawal"
+ app:destination="@id/nav_exchange_manual_withdrawal" />
+ </fragment>
+
+ <fragment
+ android:id="@+id/nav_exchange_manual_withdrawal"
+ android:name="net.taler.wallet.exchanges.ManualWithdrawFragment"
+ android:label="@string/withdraw_title"/>
<fragment
android:id="@+id/nav_settings_backup"
diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml
index 226c7d1..7e8024f 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -52,6 +52,8 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card
<string name="ok">OK</string>
<string name="cancel">Cancel</string>
<string name="search">Search</string>
+ <string name="menu">Menu</string>
+ <string name="or">or</string>
<string name="menu_settings">Settings</string>
<string name="menu_retry_pending_operations">Retry Pending Operations</string>
@@ -110,6 +112,10 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card
<string name="withdraw_button_confirm_bank">Confirm with bank</string>
<string name="withdraw_button_tos">Review Terms</string>
<string name="withdraw_waiting_confirm">Waiting for confirmation</string>
+ <string name="withdraw_manual_title">Make a manual transfer to the exchange</string>
+ <string name="withdraw_amount">How much to withdraw?</string>
+ <string name="withdraw_manual_payment_options">Payment options supported by %s:</string>
+ <string name="withdraw_manual_check_fees">Check fees</string>
<string name="withdraw_error_title">Withdrawal Error</string>
<string name="withdraw_error_message">Withdrawing is currently not possible. Please try again later!</string>
@@ -121,6 +127,7 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card
<string name="exchange_list_add">Add exchange</string>
<string name="exchange_add_url">Enter address of exchange</string>
<string name="exchange_add_error">Could not add exchange</string>
+ <string name="exchange_menu_manual_withdraw">Withdraw</string>
<string name="exchange_fee_withdrawal_fee_label">Withdrawal Fee:</string>
<string name="exchange_fee_overhead_label">Rounding Loss:</string>