diff options
author | Sebastian <sebasjm@gmail.com> | 2022-07-01 18:05:51 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-07-01 18:06:32 -0300 |
commit | c3c43726de9858f42fee9d4051ab3d3245b47099 (patch) | |
tree | 148c263dccacd278f063552fa8ffd4a990c84fad /wallet/src/main/res | |
parent | e05bfb78c4dafee6980f5b86196bca4ff302208c (diff) | |
download | taler-android-c3c43726de9858f42fee9d4051ab3d3245b47099.tar.gz taler-android-c3c43726de9858f42fee9d4051ab3d3245b47099.tar.bz2 taler-android-c3c43726de9858f42fee9d4051ab3d3245b47099.zip |
accept tips
Diffstat (limited to 'wallet/src/main/res')
-rw-r--r-- | wallet/src/main/res/layout/fragment_already_accepted.xml | 52 | ||||
-rw-r--r-- | wallet/src/main/res/layout/fragment_prompt_tip.xml | 257 | ||||
-rw-r--r-- | wallet/src/main/res/navigation/nav_graph.xml | 24 | ||||
-rw-r--r-- | wallet/src/main/res/values/strings.xml | 8 |
4 files changed, 341 insertions, 0 deletions
diff --git a/wallet/src/main/res/layout/fragment_already_accepted.xml b/wallet/src/main/res/layout/fragment_already_accepted.xml new file mode 100644 index 0000000..b1a7bb1 --- /dev/null +++ b/wallet/src/main/res/layout/fragment_already_accepted.xml @@ -0,0 +1,52 @@ +<?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/> + --> + +<LinearLayout 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" + android:layout_margin="15dp" + android:orientation="vertical" + tools:context=".tip.AlreadyAcceptedFragment"> + + <Space + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" /> + + <TextView + android:layout_width="match_parent" + android:layout_height="50dp" + android:layout_gravity="center" + android:text="@string/tip_already_accepted" + android:textAlignment="center" + android:textColor="@android:color/holo_green_dark" + app:autoSizeTextType="uniform" /> + + + <Space + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" /> + + <Button + android:id="@+id/backButton" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/button_back" /> + +</LinearLayout> diff --git a/wallet/src/main/res/layout/fragment_prompt_tip.xml b/wallet/src/main/res/layout/fragment_prompt_tip.xml new file mode 100644 index 0000000..d96ef60 --- /dev/null +++ b/wallet/src/main/res/layout/fragment_prompt_tip.xml @@ -0,0 +1,257 @@ +<?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" + tools:context=".tip.PromptTipFragment"> + + <TextView + android:id="@+id/introView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" + android:layout_marginBottom="8dp" + android:gravity="center" + android:text="@string/tip_total" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/effectiveAmountView" + 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:visibility="visible" /> + + <TextView + android:id="@+id/effectiveAmountView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" + android:gravity="center" + android:textColor="@color/green" + android:textSize="24sp" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/chosenAmountLabel" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/introView" + tools:text="9.8 TESTKUDOS" + tools:visibility="visible" /> + + <TextView + android:id="@+id/chosenAmountLabel" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="32dp" + android:layout_marginEnd="16dp" + android:gravity="center" + android:text="@string/amount_chosen" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/chosenAmountView" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/effectiveAmountView" + tools:visibility="visible" /> + + <TextView + android:id="@+id/chosenAmountView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="8dp" + android:layout_marginEnd="16dp" + android:gravity="center" + android:textSize="20sp" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/feeLabel" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/chosenAmountLabel" + tools:text="10 TESTKUDOS" + tools:visibility="visible" /> + + <TextView + android:id="@+id/feeLabel" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="32dp" + android:layout_marginEnd="16dp" + android:gravity="center" + android:text="@string/tip_fees" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/feeView" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/chosenAmountView" + tools:visibility="visible" /> + + <TextView + android:id="@+id/feeView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="8dp" + android:layout_marginEnd="16dp" + android:gravity="center" + android:textColor="@color/red" + android:textSize="20sp" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/exchangeIntroView" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/feeLabel" + tools:text="-0.2 TESTKUDOS" + tools:visibility="visible" /> + + <TextView + android:id="@+id/exchangeIntroView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="32dp" + android:layout_marginEnd="16dp" + android:layout_marginBottom="8dp" + android:gravity="center" + android:text="@string/tip_exchange" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/withdrawExchangeUrl" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/feeView" + tools:visibility="visible" /> + + <TextView + android:id="@+id/withdrawExchangeUrl" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginBottom="8dp" + android:layout_marginEnd="8dp" + android:gravity="center" + android:textSize="24sp" + android:visibility="invisible" + app:layout_constrainedWidth="true" + app:layout_constraintBottom_toTopOf="@+id/merchantIntroView" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_chainStyle="packed" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/exchangeIntroView" + tools:text="demo.taler.net" + tools:visibility="visible" /> + + <TextView + android:id="@+id/merchantIntroView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" + android:layout_marginBottom="8dp" + android:gravity="center" + android:text="@string/tip_merchant_url" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/withdrawMerchantUrl" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/withdrawExchangeUrl" + tools:visibility="visible" /> + + + <TextView + android:id="@+id/withdrawMerchantUrl" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginEnd="8dp" + android:gravity="center" + android:textSize="24sp" + android:visibility="invisible" + app:layout_constrainedWidth="true" + app:layout_constraintBottom_toTopOf="@+id/withdrawCard" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.502" + app:layout_constraintHorizontal_chainStyle="packed" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/merchantIntroView" + tools:text="merchant.demo.taler.net" + tools:visibility="visible" /> + + <ProgressBar + android:id="@+id/progressBar" + style="?android:attr/progressBarStyleLarge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <com.google.android.material.card.MaterialCardView + android:id="@+id/withdrawCard" + style="@style/BottomCard" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:visibility="invisible" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + tools:visibility="visible"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="8dp"> + + <Button + android:id="@+id/confirmWithdrawButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:backgroundTint="@color/green" + android:enabled="false" + android:text="@string/tip_button_confirm" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintStart_toStartOf="parent" + tools:enabled="true" + tools:text="@string/tip_button_confirm" /> + + <ProgressBar + android:id="@+id/confirmProgressBar" + style="?android:attr/progressBarStyle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="invisible" + app:layout_constraintBottom_toBottomOf="@+id/confirmWithdrawButton" + app:layout_constraintEnd_toEndOf="@+id/confirmWithdrawButton" + app:layout_constraintStart_toStartOf="@+id/confirmWithdrawButton" + app:layout_constraintTop_toTopOf="@+id/confirmWithdrawButton" + tools:visibility="visible" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + + </com.google.android.material.card.MaterialCardView> + +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/wallet/src/main/res/navigation/nav_graph.xml b/wallet/src/main/res/navigation/nav_graph.xml index 469a399..b3f96c5 100644 --- a/wallet/src/main/res/navigation/nav_graph.xml +++ b/wallet/src/main/res/navigation/nav_graph.xml @@ -34,6 +34,24 @@ <action android:id="@+id/action_nav_main_to_nav_uri_input" app:destination="@id/nav_uri_input" /> + <action + android:id="@+id/action_nav_main_to_promptTip" + app:destination="@id/promptTip" /> + </fragment> + + <fragment + android:id="@+id/promptTip" + android:name="net.taler.wallet.tip.PromptTipFragment" + android:label="Review Tip" + tools:layout="@layout/fragment_prompt_tip"> + <action + android:id="@+id/action_promptTip_to_nav_main" + app:destination="@id/nav_main" + app:popUpTo="@id/nav_main" /> + <action + android:id="@+id/action_promptTip_to_alreadyAccepted" + app:destination="@id/alreadyAccepted" + app:popUpTo="@id/nav_main" /> </fragment> <fragment @@ -131,6 +149,12 @@ tools:layout="@layout/fragment_transaction_withdrawal" /> <fragment + android:id="@+id/alreadyAccepted" + android:name="net.taler.wallet.tip.AlreadyAcceptedFragment" + android:label="@string/tip_already_accepted" + tools:layout="@layout/fragment_already_accepted" /> + + <fragment android:id="@+id/alreadyPaid" android:name="net.taler.wallet.payment.AlreadyPaidFragment" android:label="@string/payment_already_paid_title" diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml index 592070c..efaa7dd 100644 --- a/wallet/src/main/res/values/strings.xml +++ b/wallet/src/main/res/values/strings.xml @@ -187,6 +187,14 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card <string name="refund_success">Refund received: %s</string> <string name="tip_title">Tip</string> + <string name="tip_already_accepted">This tip is already accepted.</string> + <string name="tip_total">Total</string> + <string name="tip_fees">Fee</string> + <string name="tip_exchange">Exchange</string> + <string name="tip_merchant_url">Merchant URL</string> + <string name="tip_button_confirm">Accept tip</string> + <string name="tip_received">Tip received</string> + <string name="wifi_disabled_error">Turn on Wi-Fi to get free Wi-Fi</string> <string name="wifi_connect_error">Could not connect to free Wi-Fi: %s</string> |