summaryrefslogtreecommitdiff
path: root/wallet/src/main/res
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-05-22 14:43:36 -0300
committerTorsten Grote <t@grobox.de>2020-05-22 14:43:36 -0300
commit882c2c50c878215c380ee1cfd132030a0b0c80f8 (patch)
tree5396c0e666b7548f9ec53f62d529abc2da02f9cd /wallet/src/main/res
parentb0869289dc9fa2f983991915e77ba0260e59ed8b (diff)
downloadtaler-android-882c2c50c878215c380ee1cfd132030a0b0c80f8.tar.gz
taler-android-882c2c50c878215c380ee1cfd132030a0b0c80f8.tar.bz2
taler-android-882c2c50c878215c380ee1cfd132030a0b0c80f8.zip
[wallet] add option to enter URI manually by long pressing scan button
Diffstat (limited to 'wallet/src/main/res')
-rw-r--r--wallet/src/main/res/drawable/ic_content_paste.xml9
-rw-r--r--wallet/src/main/res/layout/fragment_uri_input.xml75
-rw-r--r--wallet/src/main/res/navigation/nav_graph.xml9
-rw-r--r--wallet/src/main/res/values/strings.xml5
4 files changed, 98 insertions, 0 deletions
diff --git a/wallet/src/main/res/drawable/ic_content_paste.xml b/wallet/src/main/res/drawable/ic_content_paste.xml
new file mode 100644
index 0000000..40235c2
--- /dev/null
+++ b/wallet/src/main/res/drawable/ic_content_paste.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M19,2h-4.18C14.4,0.84 13.3,0 12,0c-1.3,0 -2.4,0.84 -2.82,2L5,2c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,4c0,-1.1 -0.9,-2 -2,-2zM12,2c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM19,20L5,20L5,4h2v3h10L17,4h2v16z" />
+</vector>
diff --git a/wallet/src/main/res/layout/fragment_uri_input.xml b/wallet/src/main/res/layout/fragment_uri_input.xml
new file mode 100644
index 0000000..60155e3
--- /dev/null
+++ b/wallet/src/main/res/layout/fragment_uri_input.xml
@@ -0,0 +1,75 @@
+<?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">
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/uriLayout"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:hint="@string/enter_uri"
+ app:boxBackgroundMode="outline"
+ app:endIconMode="clear_text"
+ app:endIconTint="?attr/colorControlNormal"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/uriView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textUri" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <Button
+ android:id="@+id/pasteButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="16dp"
+ android:layout_weight="1"
+ android:drawableLeft="@drawable/ic_content_paste"
+ android:drawableTint="?attr/colorOnPrimarySurface"
+ android:text="@string/paste"
+ app:layout_constraintEnd_toStartOf="@+id/okButton"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/uriLayout"
+ tools:ignore="RtlHardcoded" />
+
+ <Button
+ android:id="@+id/okButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="16dp"
+ android:backgroundTint="@color/green"
+ android:text="@string/ok"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/pasteButton"
+ app:layout_constraintTop_toBottomOf="@+id/uriLayout" />
+
+</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 a06abad..d5ce657 100644
--- a/wallet/src/main/res/navigation/nav_graph.xml
+++ b/wallet/src/main/res/navigation/nav_graph.xml
@@ -34,6 +34,9 @@
<action
android:id="@+id/action_nav_main_to_nav_transactions"
app:destination="@id/nav_transactions" />
+ <action
+ android:id="@+id/action_nav_main_to_nav_uri_input"
+ app:destination="@id/nav_uri_input" />
</fragment>
<fragment
@@ -124,6 +127,12 @@
tools:layout="@layout/fragment_transactions" />
<fragment
+ android:id="@+id/nav_uri_input"
+ android:name="net.taler.wallet.UriInputFragment"
+ android:label="@string/enter_uri"
+ tools:layout="@layout/fragment_uri_input" />
+
+ <fragment
android:id="@+id/errorFragment"
android:name="net.taler.wallet.withdraw.ErrorFragment"
android:label="@string/nav_error"
diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml
index 167ab53..3da30f9 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -45,6 +45,11 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card
<string name="button_back">Go Back</string>
<string name="button_scan_qr_code">Scan Taler QR Code</string>
+ <string name="enter_uri">Enter Taler URI</string>
+ <string name="paste">Paste</string>
+ <string name="paste_invalid">Clipboard contains an invalid data type</string>
+ <string name="uri_invalid">Not a valid Taler URI</string>
+ <string name="ok">OK</string>
<string name="search">Search</string>
<string name="menu_settings">Settings</string>