[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-android] branch master updated (db0cf38 -> 9401b3e)
From: |
gnunet |
Subject: |
[taler-taler-android] branch master updated (db0cf38 -> 9401b3e) |
Date: |
Wed, 01 Apr 2020 20:31:07 +0200 |
This is an automated email from the git hooks/post-receive script.
torsten-grote pushed a change to branch master
in repository taler-android.
from db0cf38 Fix amount serialization in PoS app
new a66b217 [wallet] Add basic support for refunds
new aa6dad9 [pos] Enable refunds
new b2bec20 [pos] automatic code cleanup
new 9401b3e [wallet] automatic code cleanup
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
build.gradle | 2 +-
merchant-terminal/src/main/AndroidManifest.xml | 41 ++--
.../java/net/taler/merchantpos/MainActivity.kt | 4 +
.../src/main/java/net/taler/merchantpos/Utils.kt | 15 ++
.../net/taler/merchantpos/config/ConfigManager.kt | 6 +-
.../taler/merchantpos/config/MerchantRequest.kt | 11 +-
.../taler/merchantpos/history/HistoryManager.kt | 10 +-
.../taler/merchantpos/history/RefundFragment.kt | 4 +-
.../net/taler/merchantpos/history/RefundManager.kt | 24 +-
.../taler/merchantpos/history/RefundUriFragment.kt | 6 +
.../java/net/taler/merchantpos/order/LiveOrder.kt | 3 +-
.../taler/merchantpos/payment/PaymentManager.kt | 20 +-
.../src/main/res/drawable/ic_cash_refund.xml | 12 +-
.../src/main/res/drawable/ic_check_circle.xml | 14 +-
.../main/res/drawable/ic_history_black_24dp.xml | 10 +-
.../main/res/drawable/ic_launcher_background.xml | 236 +++++++++++++------
.../src/main/res/drawable/ic_menu_manage.xml | 12 +-
.../src/main/res/drawable/ic_move_money_24dp.xml | 10 +-
.../src/main/res/drawable/side_nav_bar.xml | 12 +-
.../src/main/res/layout/activity_main.xml | 40 ++--
.../src/main/res/layout/app_bar_main.xml | 53 +++--
.../src/main/res/layout/fragment_categories.xml | 47 ++--
.../main/res/layout/fragment_config_fetcher.xml | 45 ++--
.../main/res/layout/fragment_merchant_config.xml | 203 +++++++++--------
.../main/res/layout/fragment_merchant_history.xml | 17 +-
.../src/main/res/layout/fragment_order.xml | 195 ++++++++--------
.../src/main/res/layout/fragment_order_state.xml | 59 +++--
.../main/res/layout/fragment_payment_success.xml | 99 ++++----
.../main/res/layout/fragment_process_payment.xml | 155 +++++++------
.../src/main/res/layout/fragment_products.xml | 43 ++--
.../src/main/res/layout/fragment_refund.xml | 166 +++++++-------
.../src/main/res/layout/fragment_refund_uri.xml | 137 ++++++-----
.../src/main/res/layout/list_item_category.xml | 25 +-
.../src/main/res/layout/list_item_history.xml | 135 ++++++-----
.../src/main/res/layout/list_item_order.xml | 73 +++---
.../src/main/res/layout/list_item_product.xml | 59 +++--
.../src/main/res/layout/nav_header_main.xml | 61 +++--
.../src/main/res/menu/activity_main_drawer.xml | 25 +-
.../main/res/mipmap-anydpi-v26/ic_taler_logo.xml | 4 +-
.../res/mipmap-anydpi-v26/ic_taler_logo_round.xml | 4 +-
.../src/main/res/navigation/nav_graph.xml | 165 +++++++-------
merchant-terminal/src/main/res/values/strings.xml | 10 +-
.../src/main/java/net/taler/common/TalerUtils.kt | 7 +
wallet/src/main/AndroidManifest.xml | 54 ++---
.../net/taler/wallet/HostCardEmulatorService.kt | 10 +-
.../src/main/java/net/taler/wallet/MainActivity.kt | 18 +-
wallet/src/main/java/net/taler/wallet/Settings.kt | 6 +-
.../main/java/net/taler/wallet/WalletViewModel.kt | 2 +
.../net/taler/wallet/history/HistoryAdapter.kt | 25 +-
.../java/net/taler/wallet/history/HistoryEvent.kt | 6 +
.../wallet/pending/PendingOperationsManager.kt | 2 +-
.../java/net/taler/wallet/refund/RefundManager.kt | 48 ++++
.../main/res/drawable/history_payment_aborted.xml | 12 +-
wallet/src/main/res/drawable/history_refresh.xml | 16 +-
wallet/src/main/res/drawable/history_refund.xml | 12 +-
.../src/main/res/drawable/history_tip_accepted.xml | 12 +-
.../src/main/res/drawable/history_tip_declined.xml | 12 +-
wallet/src/main/res/drawable/history_withdrawn.xml | 12 +-
.../src/main/res/drawable/ic_account_balance.xml | 12 +-
.../res/drawable/ic_account_balance_wallet.xml | 12 +-
wallet/src/main/res/drawable/ic_add_circle.xml | 12 +-
wallet/src/main/res/drawable/ic_cancel.xml | 10 +-
.../src/main/res/drawable/ic_cash_usd_outline.xml | 12 +-
wallet/src/main/res/drawable/ic_check_circle.xml | 14 +-
wallet/src/main/res/drawable/ic_directions.xml | 10 +-
wallet/src/main/res/drawable/ic_error.xml | 10 +-
.../main/res/drawable/ic_history_black_24dp.xml | 10 +-
.../main/res/drawable/ic_launcher_foreground.xml | 82 +++----
wallet/src/main/res/drawable/ic_scan_qr.xml | 14 +-
wallet/src/main/res/drawable/ic_settings.xml | 12 +-
wallet/src/main/res/drawable/ic_sync.xml | 12 +-
wallet/src/main/res/drawable/pending_border.xml | 18 +-
wallet/src/main/res/drawable/side_nav_bar.xml | 10 +-
.../main/res/layout-w550dp/payment_bottom_bar.xml | 176 +++++++-------
wallet/src/main/res/layout/activity_main.xml | 34 +--
wallet/src/main/res/layout/app_bar_main.xml | 84 +++----
.../src/main/res/layout/fragment_already_paid.xml | 48 ++--
wallet/src/main/res/layout/fragment_error.xml | 136 +++++------
wallet/src/main/res/layout/fragment_json.xml | 41 ++--
.../res/layout/fragment_payment_successful.xml | 76 +++----
.../res/layout/fragment_pending_operations.xml | 26 +--
.../src/main/res/layout/fragment_product_image.xml | 10 +-
.../main/res/layout/fragment_prompt_payment.xml | 42 ++--
.../main/res/layout/fragment_prompt_withdraw.xml | 252 ++++++++++-----------
.../res/layout/fragment_review_exchange_tos.xml | 128 +++++------
wallet/src/main/res/layout/fragment_settings.xml | 106 ++++-----
.../src/main/res/layout/fragment_show_balance.xml | 126 +++++------
.../src/main/res/layout/fragment_show_history.xml | 45 ++--
.../res/layout/fragment_withdraw_successful.xml | 76 +++----
wallet/src/main/res/layout/history_payment.xml | 116 +++++-----
wallet/src/main/res/layout/history_receive.xml | 144 ++++++------
wallet/src/main/res/layout/history_row.xml | 92 ++++----
wallet/src/main/res/layout/list_item_balance.xml | 100 ++++----
wallet/src/main/res/layout/list_item_product.xml | 96 ++++----
.../main/res/layout/list_item_product_single.xml | 102 ++++-----
wallet/src/main/res/layout/payment_bottom_bar.xml | 176 +++++++-------
wallet/src/main/res/layout/payment_details.xml | 168 +++++++-------
wallet/src/main/res/layout/pending_row.xml | 47 ++--
wallet/src/main/res/menu/activity_main_drawer.xml | 30 +--
wallet/src/main/res/menu/balance.xml | 16 +-
wallet/src/main/res/menu/history.xml | 23 +-
wallet/src/main/res/menu/pending_operations.xml | 10 +-
.../src/main/res/mipmap-anydpi-v26/ic_launcher.xml | 7 +-
.../res/mipmap-anydpi-v26/ic_launcher_round.xml | 7 +-
wallet/src/main/res/navigation/nav_graph.xml | 150 ++++++------
wallet/src/main/res/values/colors.xml | 3 +-
.../src/main/res/values/ic_launcher_background.xml | 3 +-
wallet/src/main/res/values/strings.xml | 3 +
wallet/src/main/res/xml/apduservice.xml | 14 +-
wallet/src/main/res/xml/backup_descriptor.xml | 3 +-
.../net/taler/wallet/crypto/Base32CrockfordTest.kt | 3 +-
.../net/taler/wallet/history/HistoryEventTest.kt | 35 ++-
112 files changed, 2869 insertions(+), 2661 deletions(-)
create mode 100644
wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt
diff --git a/build.gradle b/build.gradle
index 57a780b..59e7f30 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.6.1'
+ classpath 'com.android.tools.build:gradle:3.6.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath
"androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
}
diff --git a/merchant-terminal/src/main/AndroidManifest.xml
b/merchant-terminal/src/main/AndroidManifest.xml
index f52995f..3d89fee 100644
--- a/merchant-terminal/src/main/AndroidManifest.xml
+++ b/merchant-terminal/src/main/AndroidManifest.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,35 +15,35 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="net.taler.merchantpos">
+ xmlns:tools="http://schemas.android.com/tools"
+ package="net.taler.merchantpos">
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature
- android:name="android.hardware.nfc"
- android:required="false" />
+ android:name="android.hardware.nfc"
+ android:required="false" />
<uses-feature
- android:name="android.hardware.telephony"
- android:required="false" />
+ android:name="android.hardware.telephony"
+ android:required="false" />
<application
- android:allowBackup="true"
- android:fullBackupContent="@xml/backup_descriptor"
- android:icon="@mipmap/ic_taler_logo"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_taler_logo_round"
- android:supportsRtl="true"
- android:theme="@style/AppTheme"
- tools:ignore="GoogleAppIndexingWarning">
+ android:allowBackup="true"
+ android:fullBackupContent="@xml/backup_descriptor"
+ android:icon="@mipmap/ic_taler_logo"
+ android:label="@string/app_name"
+ android:roundIcon="@mipmap/ic_taler_logo_round"
+ android:supportsRtl="true"
+ android:theme="@style/AppTheme"
+ tools:ignore="GoogleAppIndexingWarning">
<activity
- android:name=".MainActivity"
- android:label="@string/app_name"
- android:screenOrientation="landscape"
- android:theme="@style/AppTheme.NoActionBar"
- tools:ignore="LockedOrientationActivity">
+ android:name=".MainActivity"
+ android:label="@string/app_name"
+ android:screenOrientation="landscape"
+ android:theme="@style/AppTheme.NoActionBar"
+ tools:ignore="LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/MainActivity.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/MainActivity.kt
index d6e3747..64f6ceb 100644
--- a/merchant-terminal/src/main/java/net/taler/merchantpos/MainActivity.kt
+++ b/merchant-terminal/src/main/java/net/taler/merchantpos/MainActivity.kt
@@ -47,6 +47,10 @@ class MainActivity : AppCompatActivity(),
OnNavigationItemSelectedListener {
private var reallyExit = false
+ companion object {
+ val TAG = "taler-pos"
+ }
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/Utils.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/Utils.kt
index 578debf..9deb042 100644
--- a/merchant-terminal/src/main/java/net/taler/merchantpos/Utils.kt
+++ b/merchant-terminal/src/main/java/net/taler/merchantpos/Utils.kt
@@ -16,11 +16,15 @@
package net.taler.merchantpos
+import android.util.Log
import android.view.View
import androidx.annotation.StringRes
+import com.android.volley.Response
+import com.android.volley.VolleyError
import
com.google.android.material.snackbar.BaseTransientBottomBar.ANIMATION_MODE_FADE
import com.google.android.material.snackbar.BaseTransientBottomBar.Duration
import com.google.android.material.snackbar.Snackbar.make
+import net.taler.merchantpos.MainActivity.Companion.TAG
fun topSnackbar(view: View, text: CharSequence, @Duration duration: Int) {
make(view, text, duration)
@@ -32,3 +36,14 @@ fun topSnackbar(view: View, text: CharSequence, @Duration
duration: Int) {
fun topSnackbar(view: View, @StringRes resId: Int, @Duration duration: Int) {
topSnackbar(view, view.resources.getText(resId), duration)
}
+
+class LogErrorListener(private val onError: (error: VolleyError) -> Any) :
+ Response.ErrorListener {
+
+ override fun onErrorResponse(error: VolleyError) {
+ val body = error.networkResponse.data?.let { String(it) }
+ Log.e(TAG, "$error $body")
+ onError.invoke(error)
+ }
+
+}
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
index edb8059..171cf28 100644
---
a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
+++
b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigManager.kt
@@ -26,7 +26,6 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.android.volley.Request.Method.GET
import com.android.volley.RequestQueue
-import com.android.volley.Response.ErrorListener
import com.android.volley.Response.Listener
import com.android.volley.VolleyError
import com.android.volley.toolbox.JsonObjectRequest
@@ -35,6 +34,7 @@ import com.fasterxml.jackson.module.kotlin.readValue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
+import net.taler.merchantpos.LogErrorListener
import net.taler.merchantpos.R
import org.json.JSONObject
@@ -91,7 +91,7 @@ class ConfigManager(
val stringRequest = object : JsonObjectRequest(GET, config.configUrl,
null,
Listener { onConfigReceived(it, configToSave) },
- ErrorListener { onNetworkError(it) }
+ LogErrorListener { onNetworkError(it) }
) {
// send basic auth header
override fun getHeaders(): MutableMap<String, String> {
@@ -117,7 +117,7 @@ class ConfigManager(
val params = mapOf("instance" to merchantConfig.instance)
val req = MerchantRequest(GET, merchantConfig, "config", params, null,
Listener { onMerchantConfigReceived(config, json, merchantConfig,
it) },
- ErrorListener { onNetworkError(it) }
+ LogErrorListener { onNetworkError(it) }
)
queue.add(req)
}
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/config/MerchantRequest.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/config/MerchantRequest.kt
index 8d95378..6c9c741 100644
---
a/merchant-terminal/src/main/java/net/taler/merchantpos/config/MerchantRequest.kt
+++
b/merchant-terminal/src/main/java/net/taler/merchantpos/config/MerchantRequest.kt
@@ -20,6 +20,7 @@ package net.taler.merchantpos.config
import android.util.ArrayMap
import com.android.volley.Response
import com.android.volley.toolbox.JsonObjectRequest
+import net.taler.merchantpos.LogErrorListener
import org.json.JSONObject
class MerchantRequest(
@@ -29,9 +30,15 @@ class MerchantRequest(
params: Map<String, String>?,
jsonRequest: JSONObject?,
listener: Response.Listener<JSONObject>,
- errorListener: Response.ErrorListener
+ errorListener: LogErrorListener
) :
- JsonObjectRequest(method, merchantConfig.urlFor(endpoint, params),
jsonRequest, listener, errorListener) {
+ JsonObjectRequest(
+ method,
+ merchantConfig.urlFor(endpoint, params),
+ jsonRequest,
+ listener,
+ errorListener
+ ) {
override fun getHeaders(): MutableMap<String, String> {
val headerMap = ArrayMap<String, String>()
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/HistoryManager.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/HistoryManager.kt
index 3aaf3a4..6b95e16 100644
---
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/HistoryManager.kt
+++
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/HistoryManager.kt
@@ -21,7 +21,6 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.android.volley.Request.Method.GET
import com.android.volley.RequestQueue
-import com.android.volley.Response.ErrorListener
import com.android.volley.Response.Listener
import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonProperty
@@ -29,6 +28,7 @@ import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue
import net.taler.common.Amount
import net.taler.common.Timestamp
+import net.taler.merchantpos.LogErrorListener
import net.taler.merchantpos.config.ConfigManager
import net.taler.merchantpos.config.MerchantRequest
import org.json.JSONObject
@@ -36,14 +36,10 @@ import org.json.JSONObject
data class HistoryItem(
@JsonProperty("order_id")
val orderId: String,
- @JsonProperty("amount")
- val amountStr: String,
+ val amount: Amount,
val summary: String,
val timestamp: Timestamp
) {
- @get:JsonIgnore
- val amount: Amount by lazy { Amount.fromJSONString(amountStr) }
-
@get:JsonIgnore
val time = timestamp.ms
}
@@ -72,7 +68,7 @@ class HistoryManager(
val params = mapOf("instance" to merchantConfig.instance)
val req = MerchantRequest(GET, merchantConfig, "history", params, null,
Listener { onHistoryResponse(it) },
- ErrorListener { onHistoryError() })
+ LogErrorListener { onHistoryError() })
queue.add(req)
}
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundFragment.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundFragment.kt
index 7652ca4..2b85add 100644
---
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundFragment.kt
+++
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundFragment.kt
@@ -36,6 +36,7 @@ import net.taler.common.navigate
import net.taler.merchantpos.MainViewModel
import net.taler.merchantpos.R
import
net.taler.merchantpos.history.RefundFragmentDirections.Companion.actionRefundFragmentToRefundUriFragment
+import net.taler.merchantpos.history.RefundResult.AlreadyRefunded
import net.taler.merchantpos.history.RefundResult.Error
import net.taler.merchantpos.history.RefundResult.PastDeadline
import net.taler.merchantpos.history.RefundResult.Success
@@ -72,7 +73,7 @@ class RefundFragment : Fragment() {
return
}
if (inputAmount > item.amount) {
- amountView.error = getString(R.string.refund_error_max_amount,
item.amountStr)
+ amountView.error = getString(R.string.refund_error_max_amount,
item.amount.amountStr)
return
}
if (inputAmount.isZero()) {
@@ -88,6 +89,7 @@ class RefundFragment : Fragment() {
private fun onRefundResultChanged(result: RefundResult?): Any = when
(result) {
Error -> onError(R.string.refund_error_backend)
PastDeadline -> onError(R.string.refund_error_deadline)
+ AlreadyRefunded -> onError(R.string.refund_error_already_refunded)
is Success -> {
progressBar.fadeOut()
refundButton.fadeIn()
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundManager.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundManager.kt
index 910116e..da642d6 100644
---
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundManager.kt
+++
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundManager.kt
@@ -22,9 +22,10 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.android.volley.Request.Method.POST
import com.android.volley.RequestQueue
-import com.android.volley.Response.ErrorListener
import com.android.volley.Response.Listener
+import com.android.volley.VolleyError
import net.taler.common.Amount
+import net.taler.merchantpos.LogErrorListener
import net.taler.merchantpos.config.ConfigManager
import net.taler.merchantpos.config.MerchantRequest
import org.json.JSONObject
@@ -32,6 +33,7 @@ import org.json.JSONObject
sealed class RefundResult {
object Error : RefundResult()
object PastDeadline : RefundResult()
+ object AlreadyRefunded : RefundResult()
class Success(
val refundUri: String,
val item: HistoryItem,
@@ -61,6 +63,12 @@ class RefundManager(
mRefundResult.value = null
}
+ @UiThread
+ internal fun abortRefund() {
+ toBeRefunded = null
+ mRefundResult.value = null
+ }
+
@UiThread
internal fun refund(item: HistoryItem, amount: Amount, reason: String) {
val merchantConfig = configManager.merchantConfig!!
@@ -73,7 +81,7 @@ class RefundManager(
Log.d(TAG, body.toString(4))
val req = MerchantRequest(POST, merchantConfig, "refund", null, body,
Listener { onRefundResponse(it, item, amount, reason) },
- ErrorListener { onRefundError() }
+ LogErrorListener { onRefundError(it) }
)
queue.add(req)
}
@@ -86,7 +94,7 @@ class RefundManager(
reason: String
) {
if (!json.has("contract_terms")) {
- Log.e("TEST", "json: $json")
+ Log.e(TAG, "Contract terms missing: $json")
onRefundError()
return
}
@@ -110,7 +118,15 @@ class RefundManager(
}
@UiThread
- private fun onRefundError() {
+ private fun onRefundError(error: VolleyError? = null) {
+ val data = error?.networkResponse?.data
+ if (data != null) {
+ val json = JSONObject(String(data))
+ if (json.has("code") && json.getInt("code") == 2602) {
+ mRefundResult.value = RefundResult.AlreadyRefunded
+ return
+ }
+ }
mRefundResult.value = RefundResult.Error
}
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundUriFragment.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundUriFragment.kt
index 1bc4002..1ea0959 100644
---
a/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundUriFragment.kt
+++
b/merchant-terminal/src/main/java/net/taler/merchantpos/history/RefundUriFragment.kt
@@ -58,6 +58,12 @@ class RefundUriFragment : Fragment() {
getString(R.string.refund_order_ref, result.item.orderId,
result.reason)
cancelRefundButton.setOnClickListener {
findNavController().navigateUp() }
+ completeButton.setOnClickListener { findNavController().navigateUp() }
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ refundManager.abortRefund()
}
}
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
index f8d465b..a77e39b 100644
--- a/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
+++ b/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
@@ -50,7 +50,8 @@ internal class MutableLiveOrder(
) : LiveOrder {
private val availableCategories: Map<Int, Category>
get() = productsByCategory.keys.map { it.id to it }.toMap()
- override val order: MutableLiveData<Order> = MutableLiveData(Order(id,
currency, availableCategories))
+ override val order: MutableLiveData<Order> =
+ MutableLiveData(Order(id, currency, availableCategories))
override val orderTotal: LiveData<Amount> = Transformations.map(order) {
it.total }
override val restartState = MutableLiveData(DISABLED)
private val selectedOrderLine = MutableLiveData<ConfigProduct>()
diff --git
a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
index 054d7cd..9138740 100644
---
a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
+++
b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
@@ -24,10 +24,11 @@ import androidx.lifecycle.MutableLiveData
import com.android.volley.Request.Method.GET
import com.android.volley.Request.Method.POST
import com.android.volley.RequestQueue
-import com.android.volley.Response.ErrorListener
import com.android.volley.Response.Listener
-import com.android.volley.VolleyError
import com.fasterxml.jackson.databind.ObjectMapper
+import net.taler.common.Timestamp
+import net.taler.common.now
+import net.taler.merchantpos.LogErrorListener
import net.taler.merchantpos.config.ConfigManager
import net.taler.merchantpos.config.MerchantRequest
import net.taler.merchantpos.order.Order
@@ -73,11 +74,12 @@ class PaymentManager(
val currency = merchantConfig.currency!!
val summary = order.summary
val summaryI18n = order.summaryI18n
-// val refundDeadline = Timestamp(System.currentTimeMillis() +
HOURS.toMillis(2))
+ val now = now()
+ val deadline = Timestamp(now + MINUTES.toMillis(120))
mPayment.value = Payment(order, summary, currency)
- val fulfillmentId = "${System.currentTimeMillis()}-${order.hashCode()}"
+ val fulfillmentId = "${now}-${order.hashCode()}"
val fulfillmentUrl =
"${FULFILLMENT_PREFIX}${URLEncoder.encode(summary,
"UTF-8")}#$fulfillmentId"
val body = JSONObject().apply {
@@ -88,7 +90,8 @@ class PaymentManager(
// fulfillment_url needs to be unique per order
put("fulfillment_url", fulfillmentUrl)
put("instance", "default")
-// put("refund_deadline",
JSONObject(mapper.writeValueAsString(refundDeadline)))
+ put("wire_transfer_deadline",
JSONObject(mapper.writeValueAsString(deadline)))
+ put("refund_deadline",
JSONObject(mapper.writeValueAsString(deadline)))
put("products", order.getProductsJson())
})
}
@@ -97,7 +100,7 @@ class PaymentManager(
val req = MerchantRequest(POST, merchantConfig, "order", null, body,
Listener { onOrderCreated(it) },
- ErrorListener { onNetworkError(it) }
+ LogErrorListener { onNetworkError() }
)
queue.add(req)
}
@@ -123,7 +126,7 @@ class PaymentManager(
val req = MerchantRequest(GET, merchantConfig, "check-payment",
params, null,
Listener { onPaymentChecked(it) },
- ErrorListener { onNetworkError(it) })
+ LogErrorListener { onNetworkError() })
queue.add(req)
}
@@ -141,8 +144,7 @@ class PaymentManager(
}
}
- private fun onNetworkError(volleyError: VolleyError) {
- Log.e(PaymentManager::class.java.simpleName, volleyError.toString())
+ private fun onNetworkError() {
cancelPayment()
}
diff --git a/merchant-terminal/src/main/res/drawable/ic_cash_refund.xml
b/merchant-terminal/src/main/res/drawable/ic_cash_refund.xml
index 7359ca3..a053644 100644
--- a/merchant-terminal/src/main/res/drawable/ic_cash_refund.xml
+++ b/merchant-terminal/src/main/res/drawable/ic_cash_refund.xml
@@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000000"
- android:pathData="M3,11H21V23H3V11M12,15A2,2 0 0,1 14,17A2,2 0 0,1
12,19A2,2 0 0,1 10,17A2,2 0 0,1 12,15M7,13A2,2 0 0,1 5,15V19A2,2 0 0,1
7,21H17A2,2 0 0,1 19,19V15A2,2 0 0,1
17,13H7M17,5V10H15.5V6.5H9.88L12.3,8.93L11.24,10L7,5.75L11.24,1.5L12.3,2.57L9.88,5H17Z"
/>
+ android:fillColor="#000000"
+ android:pathData="M3,11H21V23H3V11M12,15A2,2 0 0,1 14,17A2,2 0 0,1
12,19A2,2 0 0,1 10,17A2,2 0 0,1 12,15M7,13A2,2 0 0,1 5,15V19A2,2 0 0,1
7,21H17A2,2 0 0,1 19,19V15A2,2 0 0,1
17,13H7M17,5V10H15.5V6.5H9.88L12.3,8.93L11.24,10L7,5.75L11.24,1.5L12.3,2.57L9.88,5H17Z"
/>
</vector>
diff --git a/merchant-terminal/src/main/res/drawable/ic_check_circle.xml
b/merchant-terminal/src/main/res/drawable/ic_check_circle.xml
index 61e1b5a..08e5b50 100644
--- a/merchant-terminal/src/main/res/drawable/ic_check_circle.xml
+++ b/merchant-terminal/src/main/res/drawable/ic_check_circle.xml
@@ -1,10 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:alpha="0.56"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:alpha="0.56"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
- android:fillColor="@color/green"
- android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z" />
+ android:fillColor="@color/green"
+ android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z" />
</vector>
diff --git a/merchant-terminal/src/main/res/drawable/ic_history_black_24dp.xml
b/merchant-terminal/src/main/res/drawable/ic_history_black_24dp.xml
index a61de1b..d9f75ea 100644
--- a/merchant-terminal/src/main/res/drawable/ic_history_black_24dp.xml
+++ b/merchant-terminal/src/main/res/drawable/ic_history_black_24dp.xml
@@ -1,9 +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">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
- android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89
0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0
-3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03
9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"/>
+ android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89
0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0
-3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03
9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
</vector>
diff --git a/merchant-terminal/src/main/res/drawable/ic_launcher_background.xml
b/merchant-terminal/src/main/res/drawable/ic_launcher_background.xml
index 2408e30..0d025f9 100644
--- a/merchant-terminal/src/main/res/drawable/ic_launcher_background.xml
+++ b/merchant-terminal/src/main/res/drawable/ic_launcher_background.xml
@@ -1,74 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
-<vector
- android:height="108dp"
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
- android:viewportHeight="108"
+ android:height="108dp"
android:viewportWidth="108"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#008577"
- android:pathData="M0,0h108v108h-108z"/>
- <path android:fillColor="#00000000" android:pathData="M9,0L9,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M19,0L19,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M29,0L29,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M39,0L39,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M49,0L49,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M59,0L59,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M69,0L69,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M79,0L79,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M89,0L89,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M99,0L99,108"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,9L108,9"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,19L108,19"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,29L108,29"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,39L108,39"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,49L108,49"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,59L108,59"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,69L108,69"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,79L108,79"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,89L108,89"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M0,99L108,99"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M19,29L89,29"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M19,39L89,39"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M19,49L89,49"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M19,59L89,59"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M19,69L89,69"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M19,79L89,79"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M29,19L29,89"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M39,19L39,89"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M49,19L49,89"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M59,19L59,89"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M69,19L69,89"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
- <path android:fillColor="#00000000" android:pathData="M79,19L79,89"
- android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+ android:viewportHeight="108">
+ <path
+ android:fillColor="#008577"
+ android:pathData="M0,0h108v108h-108z" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M9,0L9,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,0L19,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M29,0L29,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M39,0L39,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M49,0L49,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M59,0L59,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M69,0L69,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M79,0L79,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M89,0L89,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M99,0L99,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,9L108,9"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,19L108,19"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,29L108,29"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,39L108,39"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,49L108,49"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,59L108,59"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,69L108,69"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,79L108,79"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,89L108,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,99L108,99"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,29L89,29"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,39L89,39"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,49L89,49"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,59L89,59"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,69L89,69"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,79L89,79"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M29,19L29,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M39,19L39,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M49,19L49,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M59,19L59,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M69,19L69,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M79,19L79,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
</vector>
diff --git a/merchant-terminal/src/main/res/drawable/ic_menu_manage.xml
b/merchant-terminal/src/main/res/drawable/ic_menu_manage.xml
index a0e423c..aeb047d 100644
--- a/merchant-terminal/src/main/res/drawable/ic_menu_manage.xml
+++ b/merchant-terminal/src/main/res/drawable/ic_menu_manage.xml
@@ -1,9 +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">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
- android:fillColor="#FF000000"
- android:pathData="M22.7,19l-9.1,-9.1c0.9,-2.3 0.4,-5 -1.5,-6.9
-2,-2 -5,-2.4 -7.4,-1.3L9,6 6,9 1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1c1.9,1.9
4.6,2.4 6.9,1.5l9.1,9.1c0.4,0.4 1,0.4 1.4,0l2.3,-2.3c0.5,-0.4 0.5,-1.1
0.1,-1.4z"/>
+ android:fillColor="#FF000000"
+ android:pathData="M22.7,19l-9.1,-9.1c0.9,-2.3 0.4,-5 -1.5,-6.9 -2,-2
-5,-2.4 -7.4,-1.3L9,6 6,9 1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1c1.9,1.9 4.6,2.4
6.9,1.5l9.1,9.1c0.4,0.4 1,0.4 1.4,0l2.3,-2.3c0.5,-0.4 0.5,-1.1 0.1,-1.4z" />
</vector>
\ No newline at end of file
diff --git a/merchant-terminal/src/main/res/drawable/ic_move_money_24dp.xml
b/merchant-terminal/src/main/res/drawable/ic_move_money_24dp.xml
index 349f48f..6702c56 100644
--- a/merchant-terminal/src/main/res/drawable/ic_move_money_24dp.xml
+++ b/merchant-terminal/src/main/res/drawable/ic_move_money_24dp.xml
@@ -1,9 +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">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
- android:pathData="M19,3L4.99,3c-1.11,0 -1.98,0.9 -1.98,2L3,19c0,1.1
0.88,2 1.99,2L19,21c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2
-2,-2zM19,15h-4c0,1.66 -1.35,3 -3,3s-3,-1.34
-3,-3L4.99,15L4.99,5L19,5v10zM16,10h-2L14,7h-4v3L8,10l4,4 4,-4z"/>
+ android:pathData="M19,3L4.99,3c-1.11,0 -1.98,0.9 -1.98,2L3,19c0,1.1
0.88,2 1.99,2L19,21c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2
-2,-2zM19,15h-4c0,1.66 -1.35,3 -3,3s-3,-1.34
-3,-3L4.99,15L4.99,5L19,5v10zM16,10h-2L14,7h-4v3L8,10l4,4 4,-4z" />
</vector>
diff --git a/merchant-terminal/src/main/res/drawable/side_nav_bar.xml
b/merchant-terminal/src/main/res/drawable/side_nav_bar.xml
index 50dc048..7b2e2b3 100644
--- a/merchant-terminal/src/main/res/drawable/side_nav_bar.xml
+++ b/merchant-terminal/src/main/res/drawable/side_nav_bar.xml
@@ -1,9 +1,9 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
+ android:shape="rectangle">
<gradient
- android:angle="135"
- android:centerColor="@color/colorPrimaryDark"
- android:endColor="@color/colorPrimaryDark"
- android:startColor="@color/colorPrimary"
- android:type="linear"/>
+ android:angle="135"
+ android:centerColor="@color/colorPrimaryDark"
+ android:endColor="@color/colorPrimaryDark"
+ android:startColor="@color/colorPrimary"
+ android:type="linear" />
</shape>
\ No newline at end of file
diff --git a/merchant-terminal/src/main/res/layout/activity_main.xml
b/merchant-terminal/src/main/res/layout/activity_main.xml
index 6523caa..1285b19 100644
--- a/merchant-terminal/src/main/res/layout/activity_main.xml
+++ b/merchant-terminal/src/main/res/layout/activity_main.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -15,28 +14,27 @@
~ GNU Taler; see the file COPYING. If not, see
<http://www.gnu.org/licenses/>
-->
-<androidx.drawerlayout.widget.DrawerLayout
- 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:id="@+id/drawer_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:fitsSystemWindows="true"
- tools:openDrawer="start">
+<androidx.drawerlayout.widget.DrawerLayout
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:id="@+id/drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
+ tools:openDrawer="start">
<include
- layout="@layout/app_bar_main"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
+ layout="@layout/app_bar_main"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
<com.google.android.material.navigation.NavigationView
- android:id="@+id/nav_view"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:fitsSystemWindows="true"
- app:menu="@menu/activity_main_drawer"
- app:headerLayout="@layout/nav_header_main" />
+ android:id="@+id/nav_view"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:fitsSystemWindows="true"
+ app:headerLayout="@layout/nav_header_main"
+ app:menu="@menu/activity_main_drawer" />
</androidx.drawerlayout.widget.DrawerLayout>
diff --git a/merchant-terminal/src/main/res/layout/app_bar_main.xml
b/merchant-terminal/src/main/res/layout/app_bar_main.xml
index 0254c71..f6d9912 100644
--- a/merchant-terminal/src/main/res/layout/app_bar_main.xml
+++ b/merchant-terminal/src/main/res/layout/app_bar_main.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,38 +15,38 @@
-->
<androidx.coordinatorlayout.widget.CoordinatorLayout
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=".MainActivity">
+ 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=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:theme="@style/AppTheme.AppBarOverlay">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
- android:id="@+id/toolbar"
- android:layout_width="match_parent"
- android:layout_height="?attr/actionBarSize"
- android:background="?attr/colorPrimary"
- app:popupTheme="@style/AppTheme.PopupOverlay" />
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="?attr/actionBarSize"
+ android:background="?attr/colorPrimary"
+ app:popupTheme="@style/AppTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.fragment.app.FragmentContainerView
- android:id="@+id/navHostFragment"
- android:name="androidx.navigation.fragment.NavHostFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:defaultNavHost="true"
- app:layout_insetEdge="top"
- app:layout_behavior="@string/appbar_scrolling_view_behavior"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:navGraph="@navigation/nav_graph" />
+ android:id="@+id/navHostFragment"
+ android:name="androidx.navigation.fragment.NavHostFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:defaultNavHost="true"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_insetEdge="top"
+ app:navGraph="@navigation/nav_graph" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_categories.xml
b/merchant-terminal/src/main/res/layout/fragment_categories.xml
index a90585f..f81bf9a 100644
--- a/merchant-terminal/src/main/res/layout/fragment_categories.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_categories.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,31 +15,31 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- android:layout_height="match_parent">
+ 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_marginStart="8dp"
+ android:layout_marginEnd="8dp">
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/categoriesList"
- android:layout_width="0dp"
- tools:listitem="@layout/list_item_category"
- android:layout_height="0dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/categoriesList"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:listitem="@layout/list_item_category" />
<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" />
+ 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" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_config_fetcher.xml
b/merchant-terminal/src/main/res/layout/fragment_config_fetcher.xml
index af7dcaf..55403bd 100644
--- a/merchant-terminal/src/main/res/layout/fragment_config_fetcher.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_config_fetcher.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,30 +15,30 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_margin="16dp">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_margin="16dp">
<TextView
- android:id="@+id/titleView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/config_fetching"
- android:textAppearance="@style/TextAppearance.AppCompat.Headline"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/titleView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/config_fetching"
+ android:textAppearance="@style/TextAppearance.AppCompat.Headline"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<ProgressBar
- android:id="@+id/progressBar"
- style="?android:attr/progressBarStyleLarge"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/titleView" />
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyleLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/titleView" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_merchant_config.xml
b/merchant-terminal/src/main/res/layout/fragment_merchant_config.xml
index 2541887..b19f14c 100644
--- a/merchant-terminal/src/main/res/layout/fragment_merchant_config.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_merchant_config.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,136 +15,136 @@
-->
<ScrollView 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:fillViewport="true">
+ 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:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- tools:context=".config.MerchantConfigFragment">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:context=".config.MerchantConfigFragment">
<com.google.android.material.textfield.TextInputLayout
- android:id="@+id/configUrlView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:hint="@string/config_url"
- app:boxBackgroundColor="@android:color/transparent"
- app:boxBackgroundMode="outline"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
+ android:id="@+id/configUrlView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:hint="@string/config_url"
+ app:boxBackgroundColor="@android:color/transparent"
+ app:boxBackgroundMode="outline"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textUri" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textUri" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
- android:id="@+id/usernameView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:hint="@string/config_username"
- app:boxBackgroundColor="@android:color/transparent"
- app:boxBackgroundMode="outline"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/configUrlView">
+ android:id="@+id/usernameView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:hint="@string/config_username"
+ app:boxBackgroundColor="@android:color/transparent"
+ app:boxBackgroundMode="outline"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/configUrlView">
<com.google.android.material.textfield.TextInputEditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="text" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
- android:id="@+id/passwordView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:hint="@string/config_password"
- app:boxBackgroundColor="@android:color/transparent"
- app:boxBackgroundMode="outline"
- app:endIconMode="password_toggle"
- app:layout_constraintEnd_toStartOf="@+id/forgetPasswordButton"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/usernameView">
+ android:id="@+id/passwordView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:hint="@string/config_password"
+ app:boxBackgroundColor="@android:color/transparent"
+ app:boxBackgroundMode="outline"
+ app:endIconMode="password_toggle"
+ app:layout_constraintEnd_toStartOf="@+id/forgetPasswordButton"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/usernameView">
<com.google.android.material.textfield.TextInputEditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textWebPassword" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textWebPassword" />
</com.google.android.material.textfield.TextInputLayout>
<Button
- android:id="@+id/forgetPasswordButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/config_forget_password"
- android:visibility="gone"
- app:layout_constraintBottom_toBottomOf="@+id/passwordView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="@+id/passwordView"
- tools:visibility="visible" />
+ android:id="@+id/forgetPasswordButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/config_forget_password"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="@+id/passwordView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/passwordView"
+ tools:visibility="visible" />
<CheckBox
- android:id="@+id/savePasswordCheckBox"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="16dp"
- android:layout_marginBottom="16dp"
- android:checked="true"
- android:text="@string/config_save_password"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/okButton"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/passwordView"
- app:layout_constraintVertical_bias="0.0" />
+ android:id="@+id/savePasswordCheckBox"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="16dp"
+ android:checked="true"
+ android:text="@string/config_save_password"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/okButton"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/passwordView"
+ app:layout_constraintVertical_bias="0.0" />
<com.google.android.material.button.MaterialButton
- android:id="@+id/okButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/config_ok"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@+id/savePasswordCheckBox"
- app:layout_constraintTop_toBottomOf="@+id/passwordView"
- app:layout_constraintVertical_bias="0.0" />
+ android:id="@+id/okButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/config_ok"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/savePasswordCheckBox"
+ app:layout_constraintTop_toBottomOf="@+id/passwordView"
+ app:layout_constraintVertical_bias="0.0" />
<ProgressBar
- android:id="@+id/progressBar"
- style="?android:attr/progressBarStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="@+id/okButton"
- app:layout_constraintEnd_toEndOf="@+id/okButton"
- app:layout_constraintStart_toStartOf="@+id/okButton"
- app:layout_constraintTop_toTopOf="@+id/okButton"
- tools:visibility="visible" />
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toBottomOf="@+id/okButton"
+ app:layout_constraintEnd_toEndOf="@+id/okButton"
+ app:layout_constraintStart_toStartOf="@+id/okButton"
+ app:layout_constraintTop_toTopOf="@+id/okButton"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/configDocsView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/config_docs"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/okButton" />
+ android:id="@+id/configDocsView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/config_docs"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/okButton" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git
a/merchant-terminal/src/main/res/layout/fragment_merchant_history.xml
b/merchant-terminal/src/main/res/layout/fragment_merchant_history.xml
index 21e6f08..8c7bd59 100644
--- a/merchant-terminal/src/main/res/layout/fragment_merchant_history.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_merchant_history.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,14 +15,14 @@
-->
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/swipeRefresh"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:id="@+id/swipeRefresh"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/list_history"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scrollbars="vertical" />
+ android:id="@+id/list_history"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scrollbars="vertical" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_order.xml
b/merchant-terminal/src/main/res/layout/fragment_order.xml
index 4af9c77..dc49db1 100644
--- a/merchant-terminal/src/main/res/layout/fragment_order.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_order.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,123 +15,123 @@
-->
<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">
+ 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">
<androidx.fragment.app.FragmentContainerView
- android:id="@+id/fragment1"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_marginBottom="8dp"
- app:layout_constraintBottom_toTopOf="@+id/restartButton"
- app:layout_constraintEnd_toStartOf="@+id/guideline1"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:layout="@layout/fragment_order_state" />
+ android:id="@+id/fragment1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginBottom="8dp"
+ app:layout_constraintBottom_toTopOf="@+id/restartButton"
+ app:layout_constraintEnd_toStartOf="@+id/guideline1"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:layout="@layout/fragment_order_state" />
<androidx.constraintlayout.widget.Guideline
- android:id="@+id/guideline1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- app:layout_constraintGuide_percent="0.25" />
+ android:id="@+id/guideline1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_percent="0.25" />
<androidx.fragment.app.FragmentContainerView
- android:id="@+id/fragment2"
- android:name="net.taler.merchantpos.order.ProductsFragment"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_marginBottom="8dp"
- app:layout_constraintBottom_toTopOf="@+id/restartButton"
- app:layout_constraintEnd_toStartOf="@+id/guideline2"
- app:layout_constraintStart_toStartOf="@+id/guideline1"
- app:layout_constraintTop_toTopOf="parent"
- tools:layout="@layout/fragment_products" />
+ android:id="@+id/fragment2"
+ android:name="net.taler.merchantpos.order.ProductsFragment"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginBottom="8dp"
+ app:layout_constraintBottom_toTopOf="@+id/restartButton"
+ app:layout_constraintEnd_toStartOf="@+id/guideline2"
+ app:layout_constraintStart_toStartOf="@+id/guideline1"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:layout="@layout/fragment_products" />
<androidx.constraintlayout.widget.Guideline
- android:id="@+id/guideline2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- app:layout_constraintGuide_percent="0.75" />
+ android:id="@+id/guideline2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_percent="0.75" />
<androidx.fragment.app.FragmentContainerView
- android:id="@+id/fragment3"
- android:name="net.taler.merchantpos.order.CategoriesFragment"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_marginBottom="8dp"
- app:layout_constraintBottom_toTopOf="@+id/restartButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/guideline2"
- app:layout_constraintTop_toTopOf="parent"
- tools:layout="@layout/fragment_categories" />
+ android:id="@+id/fragment3"
+ android:name="net.taler.merchantpos.order.CategoriesFragment"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginBottom="8dp"
+ app:layout_constraintBottom_toTopOf="@+id/restartButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/guideline2"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:layout="@layout/fragment_categories" />
<Button
- android:id="@+id/restartButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:backgroundTint="@color/button_bottom"
- android:text="@string/order_restart"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent" />
+ android:id="@+id/restartButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:backgroundTint="@color/button_bottom"
+ android:text="@string/order_restart"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
<Button
- android:id="@+id/plusButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:minWidth="48dp"
- android:text="+1"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toEndOf="@+id/minusButton"
- tools:ignore="HardcodedText" />
+ android:id="@+id/plusButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:minWidth="48dp"
+ android:text="+1"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/minusButton"
+ tools:ignore="HardcodedText" />
<Button
- android:id="@+id/minusButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="32dp"
- android:minWidth="48dp"
- android:text="-1"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toEndOf="@+id/restartButton"
- tools:ignore="HardcodedText" />
+ android:id="@+id/minusButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="32dp"
+ android:minWidth="48dp"
+ android:text="-1"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/restartButton"
+ tools:ignore="HardcodedText" />
<Button
- android:id="@+id/prevButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="32dp"
- android:backgroundTint="@color/button_bottom"
- android:text="@string/order_previous"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toEndOf="@+id/plusButton" />
+ android:id="@+id/prevButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="32dp"
+ android:backgroundTint="@color/button_bottom"
+ android:text="@string/order_previous"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/plusButton" />
<Button
- android:id="@+id/nextButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:backgroundTint="@color/button_bottom"
- android:text="@string/order_next"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toEndOf="@+id/prevButton" />
+ android:id="@+id/nextButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:backgroundTint="@color/button_bottom"
+ android:text="@string/order_next"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/prevButton" />
<Button
- android:id="@+id/completeButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="32dp"
- android:layout_marginEnd="8dp"
- android:backgroundTint="@color/button_bottom"
- android:text="@string/order_complete"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintStart_toEndOf="@+id/nextButton" />
+ android:id="@+id/completeButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="32dp"
+ android:layout_marginEnd="8dp"
+ android:backgroundTint="@color/button_bottom"
+ android:text="@string/order_complete"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintStart_toEndOf="@+id/nextButton" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_order_state.xml
b/merchant-terminal/src/main/res/layout/fragment_order_state.xml
index 7d6b258..42b7f90 100644
--- a/merchant-terminal/src/main/res/layout/fragment_order_state.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_order_state.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,37 +15,37 @@
-->
<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">
+ 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">
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/orderList"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:layout_constraintBottom_toTopOf="@+id/totalView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:listitem="@layout/list_item_order" />
+ android:id="@+id/orderList"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toTopOf="@+id/totalView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:listitem="@layout/list_item_order" />
<TextView
- android:id="@+id/totalView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:background="@color/highlightedBackground"
- android:elevation="2dp"
- android:gravity="center_vertical|end"
- android:padding="8dp"
- android:textColor="?android:textColorPrimary"
- android:textSize="16sp"
- android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/orderList"
- tools:text="Total: 23.75 TESTKUDOS"
- tools:visibility="visible" />
+ android:id="@+id/totalView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:background="@color/highlightedBackground"
+ android:elevation="2dp"
+ android:gravity="center_vertical|end"
+ android:padding="8dp"
+ android:textColor="?android:textColorPrimary"
+ android:textSize="16sp"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/orderList"
+ tools:text="Total: 23.75 TESTKUDOS"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_payment_success.xml
b/merchant-terminal/src/main/res/layout/fragment_payment_success.xml
index 1bc9be7..7ca3ddb 100644
--- a/merchant-terminal/src/main/res/layout/fragment_payment_success.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_payment_success.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,63 +15,63 @@
-->
<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=".payment.PaymentSuccessFragment">
+ 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=".payment.PaymentSuccessFragment">
<ImageView
- android:id="@+id/paymentIcon"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="16dp"
- android:src="@drawable/ic_check_circle"
- app:layout_constraintBottom_toTopOf="@+id/paymentLabel"
- 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="spread_inside"
- tools:ignore="ContentDescription" />
+ android:id="@+id/paymentIcon"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="16dp"
+ android:src="@drawable/ic_check_circle"
+ app:layout_constraintBottom_toTopOf="@+id/paymentLabel"
+ 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="spread_inside"
+ tools:ignore="ContentDescription" />
<TextView
- android:id="@+id/paymentLabel"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="16dp"
- android:gravity="center_horizontal|top"
- android:text="@string/payment_received"
- android:textColor="@color/green"
- app:autoSizeMaxTextSize="42sp"
- app:autoSizeTextType="uniform"
- app:layout_constraintBottom_toTopOf="@+id/paymentButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/paymentIcon" />
+ android:id="@+id/paymentLabel"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="16dp"
+ android:gravity="center_horizontal|top"
+ android:text="@string/payment_received"
+ android:textColor="@color/green"
+ app:autoSizeMaxTextSize="42sp"
+ app:autoSizeTextType="uniform"
+ app:layout_constraintBottom_toTopOf="@+id/paymentButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/paymentIcon" />
<androidx.constraintlayout.widget.Guideline
- android:id="@+id/guidelineLeft"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- app:layout_constraintGuide_percent="0.25" />
+ android:id="@+id/guidelineLeft"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_percent="0.25" />
<androidx.constraintlayout.widget.Guideline
- android:id="@+id/guidelineRight"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- app:layout_constraintGuide_percent="0.75" />
+ android:id="@+id/guidelineRight"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_percent="0.75" />
<Button
- android:id="@+id/paymentButton"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/payment_back_button"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/guidelineRight"
- app:layout_constraintStart_toStartOf="@+id/guidelineLeft" />
+ android:id="@+id/paymentButton"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/payment_back_button"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/guidelineRight"
+ app:layout_constraintStart_toStartOf="@+id/guidelineLeft" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_process_payment.xml
b/merchant-terminal/src/main/res/layout/fragment_process_payment.xml
index 6cd8ea1..cb69aa2 100644
--- a/merchant-terminal/src/main/res/layout/fragment_process_payment.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_process_payment.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,95 +15,95 @@
-->
<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=".payment.ProcessPaymentFragment">
+ 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=".payment.ProcessPaymentFragment">
<ImageView
- android:id="@+id/qrcodeView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="32dp"
- android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/guideline"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:ignore="ContentDescription"
- tools:src="@tools:sample/avatars"
- tools:visibility="visible" />
+ android:id="@+id/qrcodeView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="32dp"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/guideline"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="ContentDescription"
+ tools:src="@tools:sample/avatars"
+ 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="@+id/qrcodeView"
- app:layout_constraintEnd_toEndOf="@+id/qrcodeView"
- app:layout_constraintStart_toStartOf="@+id/qrcodeView"
- app:layout_constraintTop_toTopOf="@+id/qrcodeView" />
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyleLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="@+id/qrcodeView"
+ app:layout_constraintEnd_toEndOf="@+id/qrcodeView"
+ app:layout_constraintStart_toStartOf="@+id/qrcodeView"
+ app:layout_constraintTop_toTopOf="@+id/qrcodeView" />
<androidx.constraintlayout.widget.Guideline
- android:id="@+id/guideline"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- app:layout_constraintGuide_percent="0.54" />
+ android:id="@+id/guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_percent="0.54" />
<TextView
- android:id="@+id/payIntroView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/payment_intro_nfc"
- android:textAlignment="center"
- android:textSize="24sp"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/amountView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/guideline"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_chainStyle="spread"
- tools:visibility="visible" />
+ android:id="@+id/payIntroView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/payment_intro_nfc"
+ android:textAlignment="center"
+ android:textSize="22sp"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/amountView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/guideline"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="spread"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/amountView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:textAppearance="@style/TextAppearance.AppCompat.Headline"
- app:layout_constraintBottom_toTopOf="@+id/orderRefView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/guideline"
- app:layout_constraintTop_toBottomOf="@+id/payIntroView"
- tools:text="10.49 TESTKUDOS" />
+ android:id="@+id/amountView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:textAppearance="@style/TextAppearance.AppCompat.Headline"
+ app:layout_constraintBottom_toTopOf="@+id/orderRefView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/guideline"
+ app:layout_constraintTop_toBottomOf="@+id/payIntroView"
+ tools:text="10.49 TESTKUDOS" />
<TextView
- android:id="@+id/orderRefView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:textAlignment="center"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@id/cancelPaymentButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/guideline"
- app:layout_constraintTop_toBottomOf="@+id/amountView"
- tools:text="@string/payment_order_ref"
- tools:visibility="visible" />
+ android:id="@+id/orderRefView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:textAlignment="center"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@id/cancelPaymentButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/guideline"
+ app:layout_constraintTop_toBottomOf="@+id/amountView"
+ tools:text="@string/payment_order_ref"
+ tools:visibility="visible" />
<Button
- android:id="@+id/cancelPaymentButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:backgroundTint="@color/red"
- android:text="@string/payment_cancel"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.0"
- app:layout_constraintStart_toStartOf="@+id/guideline" />
+ android:id="@+id/cancelPaymentButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:backgroundTint="@color/red"
+ android:text="@string/payment_cancel"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="@+id/guideline" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_products.xml
b/merchant-terminal/src/main/res/layout/fragment_products.xml
index f0e86e7..ae5c85f 100644
--- a/merchant-terminal/src/main/res/layout/fragment_products.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_products.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,29 +15,29 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_height="match_parent">
+ 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">
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/productsList"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- tools:listitem="@layout/list_item_product" />
+ android:id="@+id/productsList"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:listitem="@layout/list_item_product" />
<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" />
+ 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" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_refund.xml
b/merchant-terminal/src/main/res/layout/fragment_refund.xml
index 5a78cdd..944da55 100644
--- a/merchant-terminal/src/main/res/layout/fragment_refund.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_refund.xml
@@ -15,108 +15,108 @@
-->
<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=".history.RefundFragment">
+ 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=".history.RefundFragment">
<com.google.android.material.textfield.TextInputLayout
- android:id="@+id/amountView"
-
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:hint="@string/refund_amount"
- app:boxBackgroundMode="outline"
- app:endIconMode="clear_text"
- app:endIconTint="?attr/colorControlNormal"
- app:layout_constraintBottom_toTopOf="@+id/reasonView"
- app:layout_constraintEnd_toStartOf="@+id/currencyView"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_chainStyle="spread">
+ android:id="@+id/amountView"
+
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:hint="@string/refund_amount"
+ app:boxBackgroundMode="outline"
+ app:endIconMode="clear_text"
+ app:endIconTint="?attr/colorControlNormal"
+ app:layout_constraintBottom_toTopOf="@+id/reasonView"
+ app:layout_constraintEnd_toStartOf="@+id/currencyView"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="spread">
<com.google.android.material.textfield.TextInputEditText
- android:id="@+id/amountInputView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:ems="6"
- android:inputType="numberDecimal"
- tools:text="23.42" />
+ android:id="@+id/amountInputView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ems="6"
+ android:inputType="numberDecimal"
+ tools:text="23.42" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
- android:id="@+id/currencyView"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- android:layout_marginStart="8dp"
- android:gravity="start|center_vertical"
- app:layout_constraintBottom_toBottomOf="@+id/amountView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@+id/amountView"
- app:layout_constraintTop_toTopOf="@+id/amountView"
- tools:text="TESTKUDOS" />
+ android:id="@+id/currencyView"
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ android:layout_marginStart="8dp"
+ android:gravity="start|center_vertical"
+ app:layout_constraintBottom_toBottomOf="@+id/amountView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/amountView"
+ app:layout_constraintTop_toTopOf="@+id/amountView"
+ tools:text="TESTKUDOS" />
<com.google.android.material.textfield.TextInputLayout
- android:id="@+id/reasonView"
-
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:hint="@string/refund_reason"
- app:endIconMode="clear_text"
- app:layout_constraintBottom_toTopOf="@+id/abortButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/amountView">
+ android:id="@+id/reasonView"
+
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:hint="@string/refund_reason"
+ app:endIconMode="clear_text"
+ app:layout_constraintBottom_toTopOf="@+id/abortButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/amountView">
<com.google.android.material.textfield.TextInputEditText
- android:id="@+id/reasonInputView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
-
android:inputType="textAutoComplete|textAutoCorrect|textMultiLine" />
+ android:id="@+id/reasonInputView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textAutoComplete|textAutoCorrect|textMultiLine"
/>
</com.google.android.material.textfield.TextInputLayout>
<Button
- android:id="@+id/abortButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:backgroundTint="@color/red"
- android:text="@string/refund_abort"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/refundButton"
- app:layout_constraintHorizontal_bias="0.76"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent" />
+ android:id="@+id/abortButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:backgroundTint="@color/red"
+ android:text="@string/refund_abort"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/refundButton"
+ app:layout_constraintHorizontal_bias="0.76"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent" />
<Button
- android:id="@+id/refundButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:backgroundTint="@color/green"
- android:text="@string/refund_confirm"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toEndOf="@+id/abortButton" />
+ android:id="@+id/refundButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:backgroundTint="@color/green"
+ android:text="@string/refund_confirm"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/abortButton" />
<ProgressBar
- android:id="@+id/progressBar"
- style="?android:attr/progressBarStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="@+id/refundButton"
- app:layout_constraintEnd_toEndOf="@+id/refundButton"
- app:layout_constraintStart_toStartOf="@+id/refundButton"
- app:layout_constraintTop_toTopOf="@+id/refundButton"
- tools:visibility="visible" />
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toBottomOf="@+id/refundButton"
+ app:layout_constraintEnd_toEndOf="@+id/refundButton"
+ app:layout_constraintStart_toStartOf="@+id/refundButton"
+ app:layout_constraintTop_toTopOf="@+id/refundButton"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/fragment_refund_uri.xml
b/merchant-terminal/src/main/res/layout/fragment_refund_uri.xml
index 8447d28..c82a324 100644
--- a/merchant-terminal/src/main/res/layout/fragment_refund_uri.xml
+++ b/merchant-terminal/src/main/res/layout/fragment_refund_uri.xml
@@ -15,79 +15,92 @@
-->
<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=".payment.ProcessPaymentFragment">
+ 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=".payment.ProcessPaymentFragment">
<ImageView
- android:id="@+id/refundQrcodeView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="32dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/guideline"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:ignore="ContentDescription"
- tools:src="@tools:sample/avatars" />
+ android:id="@+id/refundQrcodeView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="32dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/guideline"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="ContentDescription"
+ tools:src="@tools:sample/avatars" />
<androidx.constraintlayout.widget.Guideline
- android:id="@+id/guideline"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- app:layout_constraintGuide_percent="0.54" />
+ android:id="@+id/guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_percent="0.54" />
<TextView
- android:id="@+id/refundIntroView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/refund_intro_nfc"
- android:textAlignment="center"
- android:textSize="24sp"
- app:layout_constraintBottom_toTopOf="@+id/refundAmountView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/guideline"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_chainStyle="spread" />
+ android:id="@+id/refundIntroView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/refund_intro_nfc"
+ android:textAlignment="center"
+ android:textSize="22sp"
+ app:layout_constraintBottom_toTopOf="@+id/refundAmountView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/guideline"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="spread" />
<TextView
- android:id="@+id/refundAmountView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:textAppearance="@style/TextAppearance.AppCompat.Headline"
- app:layout_constraintBottom_toTopOf="@+id/refundRefView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/guideline"
- app:layout_constraintTop_toBottomOf="@+id/refundIntroView"
- tools:text="10.49 TESTKUDOS" />
+ android:id="@+id/refundAmountView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:textAppearance="@style/TextAppearance.AppCompat.Headline"
+ app:layout_constraintBottom_toTopOf="@+id/refundRefView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/guideline"
+ app:layout_constraintTop_toBottomOf="@+id/refundIntroView"
+ tools:text="10.49 TESTKUDOS" />
<TextView
- android:id="@+id/refundRefView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:textAlignment="center"
- app:layout_constraintBottom_toTopOf="@id/cancelRefundButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/guideline"
- app:layout_constraintTop_toBottomOf="@+id/refundAmountView"
- tools:text="@string/refund_order_ref" />
+ android:id="@+id/refundRefView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:textAlignment="center"
+ app:layout_constraintBottom_toTopOf="@id/cancelRefundButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/guideline"
+ app:layout_constraintTop_toBottomOf="@+id/refundAmountView"
+ tools:text="@string/refund_order_ref" />
<Button
- android:id="@+id/cancelRefundButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:backgroundTint="@color/red"
- android:text="@string/refund_abort"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.0"
- app:layout_constraintStart_toStartOf="@+id/guideline" />
+ android:id="@+id/cancelRefundButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:backgroundTint="@color/red"
+ android:text="@string/refund_abort"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/completeButton"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toEndOf="@+id/refundQrcodeView"
+ app:layout_constraintStart_toStartOf="@+id/guideline" />
+
+ <Button
+ android:id="@+id/completeButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:backgroundTint="@color/green"
+ android:text="@string/refund_complete"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/cancelRefundButton" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/list_item_category.xml
b/merchant-terminal/src/main/res/layout/list_item_category.xml
index cbdbd34..3cbc42c 100644
--- a/merchant-terminal/src/main/res/layout/list_item_category.xml
+++ b/merchant-terminal/src/main/res/layout/list_item_category.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,18 +15,18 @@
-->
<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="wrap_content">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
<Button
- android:id="@+id/button"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Snacks" />
+ android:id="@+id/button"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="Snacks" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/list_item_history.xml
b/merchant-terminal/src/main/res/layout/list_item_history.xml
index fe485ba..08f45b7 100644
--- a/merchant-terminal/src/main/res/layout/list_item_history.xml
+++ b/merchant-terminal/src/main/res/layout/list_item_history.xml
@@ -15,83 +15,82 @@
-->
<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="wrap_content"
- android:padding="16dp">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="16dp">
<TextView
- android:id="@+id/orderSummaryView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:textColor="?android:attr/textColorPrimary"
- android:textSize="20sp"
- android:textStyle="bold"
- app:layout_constraintEnd_toStartOf="@+id/orderAmountView"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="One Cappuccino or another name that can be so long
that it spans more than one line" />
+ android:id="@+id/orderSummaryView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textColor="?android:attr/textColorPrimary"
+ android:textSize="20sp"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toStartOf="@+id/orderAmountView"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="One Cappuccino or another name that can be so long that it
spans more than one line" />
<TextView
- android:id="@+id/orderAmountView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="16dp"
- android:textColor="?android:attr/textColorPrimary"
- android:textSize="20sp"
- android:textStyle="bold"
- app:layout_constraintBottom_toBottomOf="@+id/orderSummaryView"
- app:layout_constraintEnd_toStartOf="@+id/refundButton"
- app:layout_constraintStart_toEndOf="@+id/orderSummaryView"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="23.42 TESTKUDOS" />
+ android:id="@+id/orderAmountView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="16dp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:textSize="20sp"
+ android:textStyle="bold"
+ app:layout_constraintBottom_toBottomOf="@+id/orderSummaryView"
+ app:layout_constraintEnd_toStartOf="@+id/refundButton"
+ app:layout_constraintStart_toEndOf="@+id/orderSummaryView"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="23.42 TESTKUDOS" />
<TextView
- android:id="@+id/orderIdView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/history_ref_no"
- android:textAllCaps="false"
- android:textSize="20sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/orderTimeView"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/orderSummaryView" />
+ android:id="@+id/orderIdView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:text="@string/history_ref_no"
+ android:textAllCaps="false"
+ android:textSize="20sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/orderTimeView"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/orderSummaryView" />
<TextView
- android:id="@+id/orderTimeView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="16dp"
- android:textSize="20sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/refundButton"
- app:layout_constraintStart_toEndOf="@+id/orderIdView"
- app:layout_constraintTop_toBottomOf="@+id/orderAmountView"
- app:layout_constraintVertical_bias="1.0"
- tools:text="3 hrs. ago" />
+ android:id="@+id/orderTimeView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="16dp"
+ android:textSize="20sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/refundButton"
+ app:layout_constraintStart_toEndOf="@+id/orderIdView"
+ app:layout_constraintTop_toBottomOf="@+id/orderAmountView"
+ app:layout_constraintVertical_bias="1.0"
+ tools:text="3 hrs. ago" />
<ImageButton
- android:id="@+id/refundButton"
- android:layout_width="48dp"
- android:layout_height="48dp"
- android:backgroundTint="?colorPrimary"
- android:contentDescription="@string/history_refund"
- android:tint="?attr/colorOnPrimary"
- android:visibility="gone"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/ic_cash_refund" />
+ android:id="@+id/refundButton"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:backgroundTint="?colorPrimary"
+ android:contentDescription="@string/history_refund"
+ android:tint="?attr/colorOnPrimary"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:srcCompat="@drawable/ic_cash_refund" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/list_item_order.xml
b/merchant-terminal/src/main/res/layout/list_item_order.xml
index f88364d..7651304 100644
--- a/merchant-terminal/src/main/res/layout/list_item_order.xml
+++ b/merchant-terminal/src/main/res/layout/list_item_order.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,46 +15,46 @@
-->
<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="wrap_content"
- android:background="@drawable/selectable_background"
- android:minHeight="48dp"
- android:padding="8dp">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/selectable_background"
+ android:minHeight="48dp"
+ android:padding="8dp">
<TextView
- android:id="@+id/quantity"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:gravity="end"
- android:minWidth="24dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="@+id/name"
- app:layout_constraintVertical_bias="0.0"
- tools:text="31" />
+ android:id="@+id/quantity"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:gravity="end"
+ android:minWidth="24dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/name"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="31" />
<TextView
- android:id="@+id/name"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/price"
- app:layout_constraintStart_toEndOf="@+id/quantity"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="An order product item that in some cases could have a
very long name" />
+ android:id="@+id/name"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/price"
+ app:layout_constraintStart_toEndOf="@+id/quantity"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="An order product item that in some cases could have a very
long name" />
<TextView
- android:id="@+id/price"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="@+id/name"
- app:layout_constraintVertical_bias="0.0"
- tools:text="23.42" />
+ android:id="@+id/price"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/name"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="23.42" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/list_item_product.xml
b/merchant-terminal/src/main/res/layout/list_item_product.xml
index 1037bef..6ef3611 100644
--- a/merchant-terminal/src/main/res/layout/list_item_product.xml
+++ b/merchant-terminal/src/main/res/layout/list_item_product.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,40 +15,40 @@
-->
<com.google.android.material.card.MaterialCardView
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="wrap_content"
- android:layout_margin="4dp"
- android:clickable="true"
- android:focusable="true"
- app:cardUseCompatPadding="true">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="4dp"
+ android:clickable="true"
+ android:focusable="true"
+ app:cardUseCompatPadding="true">
<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="8dp">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="8dp">
<TextView
- android:id="@+id/name"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:textColor="?android:textColorPrimary"
- android:textStyle="bold"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Steak and two Eggs" />
+ android:id="@+id/name"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textColor="?android:textColorPrimary"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="Steak and two Eggs" />
<TextView
- android:id="@+id/price"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:textColor="?android:textColorSecondary"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/name"
- tools:text="7.95" />
+ android:id="@+id/price"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:textColor="?android:textColorSecondary"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/name"
+ tools:text="7.95" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/merchant-terminal/src/main/res/layout/nav_header_main.xml
b/merchant-terminal/src/main/res/layout/nav_header_main.xml
index 14bbd51..50fff26 100644
--- a/merchant-terminal/src/main/res/layout/nav_header_main.xml
+++ b/merchant-terminal/src/main/res/layout/nav_header_main.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,40 +15,40 @@
-->
<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="@dimen/nav_header_height"
- android:background="@drawable/side_nav_bar"
- android:gravity="bottom"
- android:orientation="vertical"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:theme="@style/AppTheme">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/nav_header_height"
+ android:background="@drawable/side_nav_bar"
+ android:gravity="bottom"
+ android:orientation="vertical"
+ android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ android:theme="@style/AppTheme">
<ImageView
- android:id="@+id/imageView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/nav_header_vertical_spacing"
- app:srcCompat="@mipmap/ic_taler_logo_round"
- tools:ignore="ContentDescription" />
+ android:id="@+id/imageView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/nav_header_vertical_spacing"
+ app:srcCompat="@mipmap/ic_taler_logo_round"
+ tools:ignore="ContentDescription" />
<TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/nav_header_vertical_spacing"
- android:text="@string/project_name"
- android:textAppearance="@style/TextAppearance.AppCompat.Body1"
- android:textColor="#FFF" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/nav_header_vertical_spacing"
+ android:text="@string/project_name"
+ android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+ android:textColor="#FFF" />
<TextView
- android:id="@+id/textView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/app_name_short"
- android:textColor="#FFF" />
+ android:id="@+id/textView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/app_name_short"
+ android:textColor="#FFF" />
</LinearLayout>
diff --git a/merchant-terminal/src/main/res/menu/activity_main_drawer.xml
b/merchant-terminal/src/main/res/menu/activity_main_drawer.xml
index 1303605..3f71a69 100644
--- a/merchant-terminal/src/main/res/menu/activity_main_drawer.xml
+++ b/merchant-terminal/src/main/res/menu/activity_main_drawer.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,21 +15,21 @@
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- tools:showIn="navigation_view">
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
- android:id="@+id/nav_order"
- android:icon="@drawable/ic_move_money_24dp"
- android:title="@string/menu_order" />
+ android:id="@+id/nav_order"
+ android:icon="@drawable/ic_move_money_24dp"
+ android:title="@string/menu_order" />
<item
- android:id="@+id/nav_history"
- android:icon="@drawable/ic_history_black_24dp"
- android:title="@string/menu_history" />
+ android:id="@+id/nav_history"
+ android:icon="@drawable/ic_history_black_24dp"
+ android:title="@string/menu_history" />
<item
- android:id="@+id/nav_settings"
- android:icon="@drawable/ic_menu_manage"
- android:title="@string/menu_settings" />
+ android:id="@+id/nav_settings"
+ android:icon="@drawable/ic_menu_manage"
+ android:title="@string/menu_settings" />
</group>
</menu>
diff --git a/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo.xml
b/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo.xml
index c4a603d..00f9eaa 100644
--- a/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo.xml
+++ b/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@drawable/ic_launcher_background"/>
- <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
+ <background android:drawable="@drawable/ic_launcher_background" />
+ <foreground android:drawable="@mipmap/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
diff --git
a/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo_round.xml
b/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo_round.xml
index c4a603d..00f9eaa 100644
--- a/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo_round.xml
+++ b/merchant-terminal/src/main/res/mipmap-anydpi-v26/ic_taler_logo_round.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@drawable/ic_launcher_background"/>
- <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
+ <background android:drawable="@drawable/ic_launcher_background" />
+ <foreground android:drawable="@mipmap/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
diff --git a/merchant-terminal/src/main/res/navigation/nav_graph.xml
b/merchant-terminal/src/main/res/navigation/nav_graph.xml
index 2e337f2..606f2de 100644
--- a/merchant-terminal/src/main/res/navigation/nav_graph.xml
+++ b/merchant-terminal/src/main/res/navigation/nav_graph.xml
@@ -15,123 +15,124 @@
-->
<navigation 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:id="@+id/nav_graph"
- app:startDestination="@+id/nav_order"
- tools:ignore="UnusedNavigation">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/nav_graph"
+ app:startDestination="@+id/nav_order"
+ tools:ignore="UnusedNavigation">
<fragment
- android:id="@+id/nav_order"
- android:name="net.taler.merchantpos.order.OrderFragment"
- android:label=""
- tools:layout="@layout/fragment_order">
+ android:id="@+id/nav_order"
+ android:name="net.taler.merchantpos.order.OrderFragment"
+ android:label=""
+ tools:layout="@layout/fragment_order">
<action
- android:id="@+id/action_order_to_merchantSettings"
- app:destination="@+id/nav_settings"
- app:launchSingleTop="true"
- app:popUpTo="@+id/nav_graph"
- app:popUpToInclusive="true" />
+ android:id="@+id/action_order_to_merchantSettings"
+ app:destination="@+id/nav_settings"
+ app:launchSingleTop="true"
+ app:popUpTo="@+id/nav_graph"
+ app:popUpToInclusive="true" />
<action
- android:id="@+id/action_order_self"
- app:destination="@+id/nav_order"
- app:popUpTo="@+id/nav_graph" />
+ android:id="@+id/action_order_self"
+ app:destination="@+id/nav_order"
+ app:popUpTo="@+id/nav_graph" />
<action
- android:id="@+id/action_order_to_processPayment"
- app:destination="@+id/processPayment" />
+ android:id="@+id/action_order_to_processPayment"
+ app:destination="@+id/processPayment" />
</fragment>
<fragment
- android:id="@+id/processPayment"
- android:name="net.taler.merchantpos.payment.ProcessPaymentFragment"
- android:label="@string/payment_process_label"
- tools:layout="@layout/fragment_process_payment">
+ android:id="@+id/processPayment"
+ android:name="net.taler.merchantpos.payment.ProcessPaymentFragment"
+ android:label="@string/payment_process_label"
+ tools:layout="@layout/fragment_process_payment">
<action
- android:id="@+id/action_processPayment_to_paymentSuccess"
- app:destination="@+id/paymentSuccess"
- app:popUpTo="@id/nav_order" />
+ android:id="@+id/action_processPayment_to_paymentSuccess"
+ app:destination="@+id/paymentSuccess"
+ app:popUpTo="@id/nav_order" />
</fragment>
<fragment
- android:id="@+id/nav_history"
-
android:name="net.taler.merchantpos.history.MerchantHistoryFragment"
- android:label="@string/history_label"
- tools:layout="@layout/fragment_merchant_history">
+ android:id="@+id/nav_history"
+ android:name="net.taler.merchantpos.history.MerchantHistoryFragment"
+ android:label="@string/history_label"
+ tools:layout="@layout/fragment_merchant_history">
<action
- android:id="@+id/action_nav_history_to_refundFragment"
- app:destination="@id/refundFragment" />
+ android:id="@+id/action_nav_history_to_refundFragment"
+ app:destination="@id/refundFragment" />
</fragment>
<fragment
- android:id="@+id/refundFragment"
- android:name="net.taler.merchantpos.history.RefundFragment"
- android:label="@string/history_refund"
- tools:layout="@layout/fragment_refund">
+ android:id="@+id/refundFragment"
+ android:name="net.taler.merchantpos.history.RefundFragment"
+ android:label="@string/history_refund"
+ tools:layout="@layout/fragment_refund">
<action
- android:id="@+id/action_refundFragment_to_refundUriFragment"
- app:destination="@id/refundUriFragment" />
+ android:id="@+id/action_refundFragment_to_refundUriFragment"
+ app:destination="@id/refundUriFragment"
+ app:popUpTo="@id/nav_history" />
</fragment>
<fragment
- android:id="@+id/refundUriFragment"
- android:name="net.taler.merchantpos.history.RefundUriFragment"
- android:label="@string/history_refund"
- tools:layout="@layout/fragment_refund_uri" />
+ android:id="@+id/refundUriFragment"
+ android:name="net.taler.merchantpos.history.RefundUriFragment"
+ android:label="@string/history_refund"
+ tools:layout="@layout/fragment_refund_uri" />
<fragment
- android:id="@+id/nav_settings"
- android:name="net.taler.merchantpos.config.MerchantConfigFragment"
- android:label="@string/config_label"
- tools:layout="@layout/fragment_merchant_config">
+ android:id="@+id/nav_settings"
+ android:name="net.taler.merchantpos.config.MerchantConfigFragment"
+ android:label="@string/config_label"
+ tools:layout="@layout/fragment_merchant_config">
<action
- android:id="@+id/action_settings_to_order"
- app:destination="@+id/nav_order"
- app:launchSingleTop="true"
- app:popUpTo="@+id/nav_graph"
- app:popUpToInclusive="true" />
+ android:id="@+id/action_settings_to_order"
+ app:destination="@+id/nav_order"
+ app:launchSingleTop="true"
+ app:popUpTo="@+id/nav_graph"
+ app:popUpToInclusive="true" />
</fragment>
<fragment
- android:id="@+id/configFetcher"
- android:name="net.taler.merchantpos.config.ConfigFetcherFragment"
- android:label="@string/config_fetching_label"
- tools:layout="@layout/fragment_config_fetcher">
+ android:id="@+id/configFetcher"
+ android:name="net.taler.merchantpos.config.ConfigFetcherFragment"
+ android:label="@string/config_fetching_label"
+ tools:layout="@layout/fragment_config_fetcher">
<action
- android:id="@+id/action_configFetcher_to_merchantSettings"
- app:destination="@+id/nav_settings"
- app:launchSingleTop="true"
- app:popUpTo="@+id/nav_graph"
- app:popUpToInclusive="true" />
+ android:id="@+id/action_configFetcher_to_merchantSettings"
+ app:destination="@+id/nav_settings"
+ app:launchSingleTop="true"
+ app:popUpTo="@+id/nav_graph"
+ app:popUpToInclusive="true" />
<action
- android:id="@+id/action_configFetcher_to_order"
- app:destination="@+id/nav_order"
- app:launchSingleTop="true"
- app:popUpTo="@+id/nav_graph"
- app:popUpToInclusive="true" />
+ android:id="@+id/action_configFetcher_to_order"
+ app:destination="@+id/nav_order"
+ app:launchSingleTop="true"
+ app:popUpTo="@+id/nav_graph"
+ app:popUpToInclusive="true" />
</fragment>
<fragment
- android:id="@+id/paymentSuccess"
- android:name="net.taler.merchantpos.payment.PaymentSuccessFragment"
- android:label="@string/payment_received"
- tools:layout="@layout/fragment_payment_success" />
+ android:id="@+id/paymentSuccess"
+ android:name="net.taler.merchantpos.payment.PaymentSuccessFragment"
+ android:label="@string/payment_received"
+ tools:layout="@layout/fragment_payment_success" />
<action
- android:id="@+id/action_global_order"
- app:destination="@+id/nav_order"
- app:launchSingleTop="true"
- app:popUpTo="@+id/nav_graph" />
+ android:id="@+id/action_global_order"
+ app:destination="@+id/nav_order"
+ app:launchSingleTop="true"
+ app:popUpTo="@+id/nav_graph" />
<action
- android:id="@+id/action_global_merchantHistory"
- app:destination="@+id/nav_history"
- app:launchSingleTop="true" />
+ android:id="@+id/action_global_merchantHistory"
+ app:destination="@+id/nav_history"
+ app:launchSingleTop="true" />
<action
- android:id="@+id/action_global_merchantSettings"
- app:destination="@+id/nav_settings"
- app:launchSingleTop="true" />
+ android:id="@+id/action_global_merchantSettings"
+ app:destination="@+id/nav_settings"
+ app:launchSingleTop="true" />
<action
- android:id="@+id/action_global_configFetcher"
- app:destination="@+id/configFetcher"
- app:launchSingleTop="true" />
+ android:id="@+id/action_global_configFetcher"
+ app:destination="@+id/configFetcher"
+ app:launchSingleTop="true" />
</navigation>
diff --git a/merchant-terminal/src/main/res/values/strings.xml
b/merchant-terminal/src/main/res/values/strings.xml
index 756ef38..712a2fc 100644
--- a/merchant-terminal/src/main/res/values/strings.xml
+++ b/merchant-terminal/src/main/res/values/strings.xml
@@ -36,8 +36,8 @@
<string name="config_fetching_label">Fetching Configuration</string>
<string name="config_docs">Please refer to <a
href="https://docs.taler.net/taler-merchant-pos-terminal.html#apis-and-data-formats">the
documentation</a> for the configuration format.</string>
- <string name="payment_intro_nfc">Please scan QR Code or use NFC to
pay</string>
- <string name="payment_intro">Please scan QR Code to pay</string>
+ <string name="payment_intro_nfc">Please let customer scan QR Code or use
NFC to pay</string>
+ <string name="payment_intro">Please let customer scan QR Code to
pay</string>
<string name="payment_cancel">Cancel Payment</string>
<string name="payment_received">Payment received</string>
<string name="payment_back_button">Continue</string>
@@ -51,14 +51,16 @@
<string name="refund_amount">Amount</string>
<string name="refund_reason">Refund reason</string>
<string name="refund_abort">Abort</string>
+ <string name="refund_complete">Received</string>
<string name="refund_confirm">Give Refund</string>
<string name="refund_error_max_amount">Greater than order amount of
%s</string>
<string name="refund_error_invalid_amount">Invalid amount</string>
<string name="refund_error_zero">Needs to be positive amount</string>
<string name="refund_error_backend">Error processing refund</string>
<string name="refund_error_deadline">Refund deadline has passed</string>
- <string name="refund_intro_nfc">Please scan QR Code or use NFC to give
refund</string>
- <string name="refund_intro">Please scan QR Code to give refund</string>
+ <string name="refund_error_already_refunded">Already refunded</string>
+ <string name="refund_intro_nfc">Please let customer scan QR Code or use
NFC to give refund</string>
+ <string name="refund_intro">Please let customer scan QR Code to give
refund</string>
<string name="refund_order_ref">Order Reference: %1$s\n\n%2$s</string>
<string name="error_network">Network Error</string>
diff --git a/taler-kotlin-common/src/main/java/net/taler/common/TalerUtils.kt
b/taler-kotlin-common/src/main/java/net/taler/common/TalerUtils.kt
index cb1622e..444caa4 100644
--- a/taler-kotlin-common/src/main/java/net/taler/common/TalerUtils.kt
+++ b/taler-kotlin-common/src/main/java/net/taler/common/TalerUtils.kt
@@ -49,3 +49,10 @@ object TalerUtils {
}
}
+
+/**
+ * Returns the current time in milliseconds epoch rounded to nearest seconds.
+ */
+fun now(): Long {
+ return ((System.currentTimeMillis() + 500) / 1000) * 1000
+}
diff --git a/wallet/src/main/AndroidManifest.xml
b/wallet/src/main/AndroidManifest.xml
index a61483d..608c624 100644
--- a/wallet/src/main/AndroidManifest.xml
+++ b/wallet/src/main/AndroidManifest.xml
@@ -15,32 +15,32 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="net.taler.wallet">
+ xmlns:tools="http://schemas.android.com/tools"
+ package="net.taler.wallet">
<uses-permission android:name="android.permission.NFC" />
<uses-feature
- android:name="android.hardware.telephony"
- android:required="false" />
+ android:name="android.hardware.telephony"
+ android:required="false" />
<uses-feature
- android:name="android.hardware.nfc.hce"
- android:required="false" />
+ android:name="android.hardware.nfc.hce"
+ android:required="false" />
<application
- android:allowBackup="true"
- android:fullBackupContent="@xml/backup_descriptor"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
- android:supportsRtl="true"
- android:theme="@style/AppTheme"
- tools:ignore="GoogleAppIndexingWarning">
+ android:allowBackup="true"
+ android:fullBackupContent="@xml/backup_descriptor"
+ android:icon="@mipmap/ic_launcher"
+ android:label="@string/app_name"
+ android:roundIcon="@mipmap/ic_launcher_round"
+ android:supportsRtl="true"
+ android:theme="@style/AppTheme"
+ tools:ignore="GoogleAppIndexingWarning">
<activity
- android:name=".MainActivity"
- android:label="@string/app_name"
- android:theme="@style/AppTheme.NoActionBar">
+ android:name=".MainActivity"
+ android:label="@string/app_name"
+ android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
@@ -56,26 +56,26 @@
</activity>
<activity
- android:name="com.journeyapps.barcodescanner.CaptureActivity"
- android:screenOrientation="fullSensor"
- tools:replace="screenOrientation" />
+ android:name="com.journeyapps.barcodescanner.CaptureActivity"
+ android:screenOrientation="fullSensor"
+ tools:replace="screenOrientation" />
<service
- android:name=".HostCardEmulatorService"
- android:exported="true"
- android:permission="android.permission.BIND_NFC_SERVICE">
+ android:name=".HostCardEmulatorService"
+ android:exported="true"
+ android:permission="android.permission.BIND_NFC_SERVICE">
<intent-filter>
<action
android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE" />
</intent-filter>
<meta-data
- android:name="android.nfc.cardemulation.host_apdu_service"
- android:resource="@xml/apduservice" />
+ android:name="android.nfc.cardemulation.host_apdu_service"
+ android:resource="@xml/apduservice" />
</service>
<service
- android:name=".backend.WalletBackendService"
- android:process=":WalletBackendService" />
+ android:name=".backend.WalletBackendService"
+ android:process=":WalletBackendService" />
</application>
</manifest>
diff --git a/wallet/src/main/java/net/taler/wallet/HostCardEmulatorService.kt
b/wallet/src/main/java/net/taler/wallet/HostCardEmulatorService.kt
index 93f1d3f..751dac5 100644
--- a/wallet/src/main/java/net/taler/wallet/HostCardEmulatorService.kt
+++ b/wallet/src/main/java/net/taler/wallet/HostCardEmulatorService.kt
@@ -60,7 +60,7 @@ fun readApduBodySize(stream: ByteArrayInputStream): Int {
}
-class HostCardEmulatorService: HostApduService() {
+class HostCardEmulatorService : HostApduService() {
val queuedRequests: ConcurrentLinkedDeque<String> = ConcurrentLinkedDeque()
private lateinit var receiver: BroadcastReceiver
@@ -90,8 +90,10 @@ class HostCardEmulatorService: HostApduService() {
}
}
- override fun processCommandApdu(commandApdu: ByteArray?,
- extras: Bundle?): ByteArray {
+ override fun processCommandApdu(
+ commandApdu: ByteArray?,
+ extras: Bundle?
+ ): ByteArray {
Log.d(TAG, "Processing command APDU")
@@ -123,7 +125,7 @@ class HostCardEmulatorService: HostApduService() {
if (instruction == GET_INS) {
val req = queuedRequests.poll()
return if (req != null) {
- Log.v(TAG,"sending tunnel request")
+ Log.v(TAG, "sending tunnel request")
makeApduSuccessResponse(req.toByteArray(Charsets.UTF_8))
} else {
makeApduSuccessResponse(ByteArray(0))
diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
index df7bdc6..6f0ed89 100644
--- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -38,8 +38,9 @@ import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupWithNavController
import
com.google.android.material.navigation.NavigationView.OnNavigationItemSelectedListener
+import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
+import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT
import com.google.android.material.snackbar.Snackbar
-import com.google.android.material.snackbar.Snackbar.LENGTH_SHORT
import com.google.zxing.integration.android.IntentIntegrator
import
com.google.zxing.integration.android.IntentIntegrator.parseActivityResult
import kotlinx.android.synthetic.main.activity_main.*
@@ -50,6 +51,7 @@ import
net.taler.wallet.HostCardEmulatorService.Companion.HTTP_TUNNEL_RESPONSE
import
net.taler.wallet.HostCardEmulatorService.Companion.MERCHANT_NFC_CONNECTED
import
net.taler.wallet.HostCardEmulatorService.Companion.MERCHANT_NFC_DISCONNECTED
import
net.taler.wallet.HostCardEmulatorService.Companion.TRIGGER_PAYMENT_ACTION
+import net.taler.wallet.refund.RefundStatus
import java.util.Locale.ROOT
class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener,
@@ -74,7 +76,8 @@ class MainActivity : AppCompatActivity(),
OnNavigationItemSelectedListener,
setSupportActionBar(toolbar)
val appBarConfiguration = AppBarConfiguration(
- setOf(R.id.showBalance, R.id.settings, R.id.walletHistory,
R.id.nav_pending_operations), drawer_layout
+ setOf(R.id.showBalance, R.id.settings, R.id.walletHistory,
R.id.nav_pending_operations),
+ drawer_layout
)
toolbar.setupWithNavController(nav, appBarConfiguration)
@@ -150,8 +153,15 @@ class MainActivity : AppCompatActivity(),
OnNavigationItemSelectedListener,
model.withdrawManager.getWithdrawalInfo(url)
}
url.toLowerCase(ROOT).startsWith("taler://refund/") -> {
- // TODO implement refunds
- Snackbar.make(nav_view, "Refunds are not yet implemented",
LENGTH_SHORT).show()
+ model.showProgressBar.value = true
+ model.refundManager.refund(url).observe(this, Observer {
status ->
+ model.showProgressBar.value = false
+ val res = when (status) {
+ is RefundStatus.Error -> R.string.refund_error
+ is RefundStatus.Success -> R.string.refund_success
+ }
+ Snackbar.make(nav_view, res, LENGTH_LONG).show()
+ })
}
else -> {
Snackbar.make(
diff --git a/wallet/src/main/java/net/taler/wallet/Settings.kt
b/wallet/src/main/java/net/taler/wallet/Settings.kt
index 6d10412..572c036 100644
--- a/wallet/src/main/java/net/taler/wallet/Settings.kt
+++ b/wallet/src/main/java/net/taler/wallet/Settings.kt
@@ -71,8 +71,10 @@ class ResetDialogFragment : DialogFragment() {
listener = context as ResetDialogEventListener
} catch (e: ClassCastException) {
// The activity doesn't implement the interface, throw exception
- throw ClassCastException((context.toString() +
- " must implement ResetDialogEventListener"))
+ throw ClassCastException(
+ (context.toString() +
+ " must implement ResetDialogEventListener")
+ )
}
}
}
diff --git a/wallet/src/main/java/net/taler/wallet/WalletViewModel.kt
b/wallet/src/main/java/net/taler/wallet/WalletViewModel.kt
index 9599123..fc17c7c 100644
--- a/wallet/src/main/java/net/taler/wallet/WalletViewModel.kt
+++ b/wallet/src/main/java/net/taler/wallet/WalletViewModel.kt
@@ -31,6 +31,7 @@ import net.taler.wallet.backend.WalletBackendApi
import net.taler.wallet.history.HistoryManager
import net.taler.wallet.payment.PaymentManager
import net.taler.wallet.pending.PendingOperationsManager
+import net.taler.wallet.refund.RefundManager
import net.taler.wallet.withdraw.WithdrawManager
import org.json.JSONObject
@@ -67,6 +68,7 @@ class WalletViewModel(val app: Application) :
AndroidViewModel(app) {
val pendingOperationsManager: PendingOperationsManager =
PendingOperationsManager(walletBackendApi)
val historyManager = HistoryManager(walletBackendApi, mapper)
+ val refundManager = RefundManager(walletBackendApi)
override fun onCleared() {
walletBackendApi.destroy()
diff --git a/wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt
b/wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt
index b177fb4..43b7bd7 100644
--- a/wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt
+++ b/wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt
@@ -18,15 +18,6 @@ package net.taler.wallet.history
import android.annotation.SuppressLint
import android.graphics.Paint.STRIKE_THRU_TEXT_FLAG
-import android.text.format.DateUtils.DAY_IN_MILLIS
-import android.text.format.DateUtils.FORMAT_ABBREV_MONTH
-import android.text.format.DateUtils.FORMAT_ABBREV_RELATIVE
-import android.text.format.DateUtils.FORMAT_NO_YEAR
-import android.text.format.DateUtils.FORMAT_SHOW_DATE
-import android.text.format.DateUtils.FORMAT_SHOW_TIME
-import android.text.format.DateUtils.MINUTE_IN_MILLIS
-import android.text.format.DateUtils.formatDateTime
-import android.text.format.DateUtils.getRelativeTimeSpanString
import android.view.LayoutInflater
import android.view.View
import android.view.View.GONE
@@ -39,6 +30,7 @@ import androidx.core.net.toUri
import androidx.recyclerview.widget.RecyclerView.Adapter
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import net.taler.common.Amount
+import net.taler.common.toRelativeTime
import net.taler.wallet.BuildConfig
import net.taler.wallet.R
import net.taler.wallet.history.HistoryAdapter.HistoryEventViewHolder
@@ -92,20 +84,7 @@ internal class HistoryAdapter(
icon.setImageResource(event.icon)
if (event.title == 0) title.text = event::class.java.simpleName
else title.setText(event.title)
- time.text = getRelativeTime(event.timestamp.ms)
- }
-
- private fun getRelativeTime(timestamp: Long): CharSequence {
- val now = System.currentTimeMillis()
- return if (now - timestamp > DAY_IN_MILLIS * 2) {
- formatDateTime(
- v.context,
- timestamp,
- FORMAT_SHOW_TIME or FORMAT_SHOW_DATE or
FORMAT_ABBREV_MONTH or FORMAT_NO_YEAR
- )
- } else {
- getRelativeTimeSpanString(timestamp, now, MINUTE_IN_MILLIS,
FORMAT_ABBREV_RELATIVE)
- }
+ time.text = event.timestamp.ms.toRelativeTime(v.context)
}
}
diff --git a/wallet/src/main/java/net/taler/wallet/history/HistoryEvent.kt
b/wallet/src/main/java/net/taler/wallet/history/HistoryEvent.kt
index b78c062..86a7ac0 100644
--- a/wallet/src/main/java/net/taler/wallet/history/HistoryEvent.kt
+++ b/wallet/src/main/java/net/taler/wallet/history/HistoryEvent.kt
@@ -40,6 +40,7 @@ enum class ReserveType {
*/
@JsonProperty("manual")
MANUAL,
+
/**
* Withdrawn from a bank that has "tight" Taler integration
*/
@@ -55,17 +56,22 @@ enum class RefreshReason {
@JsonProperty("manual")
@Suppress("unused")
MANUAL,
+
@JsonProperty("pay")
PAY,
+
@JsonProperty("refund")
@Suppress("unused")
REFUND,
+
@JsonProperty("abort-pay")
@Suppress("unused")
ABORT_PAY,
+
@JsonProperty("recoup")
@Suppress("unused")
RECOUP,
+
@JsonProperty("backup-restored")
@Suppress("unused")
BACKUP_RESTORED
diff --git
a/wallet/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt
b/wallet/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt
index 2125dbc..694c5da 100644
--- a/wallet/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt
@@ -41,7 +41,7 @@ class PendingOperationsManager(private val walletBackendApi:
WalletBackendApi) {
walletBackendApi.sendRequest("getPendingOperations", null) { isError,
result ->
activeGetPending--
if (isError) {
- Log.i(TAG, "got getPending error result")
+ Log.i(TAG, "got getPending error result: $result")
return@sendRequest
}
Log.i(TAG, "got getPending result")
diff --git a/wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt
b/wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt
new file mode 100644
index 0000000..21c634e
--- /dev/null
+++ b/wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt
@@ -0,0 +1,48 @@
+/*
+ * 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/>
+ */
+
+package net.taler.wallet.refund
+
+import android.util.Log
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import net.taler.wallet.TAG
+import net.taler.wallet.backend.WalletBackendApi
+import org.json.JSONObject
+
+sealed class RefundStatus {
+ object Error : RefundStatus()
+ object Success : RefundStatus()
+}
+
+class RefundManager(private val walletBackendApi: WalletBackendApi) {
+
+ fun refund(refundUri: String): LiveData<RefundStatus> {
+ val liveData = MutableLiveData<RefundStatus>()
+ val args = JSONObject().also { it.put("talerRefundUri", refundUri) }
+ walletBackendApi.sendRequest("applyRefund", args) { isError, result ->
+ if (isError) {
+ Log.e(TAG, "Refund Error: $result")
+ liveData.postValue(RefundStatus.Error)
+ } else {
+ Log.e(TAG, "Refund Success: $result")
+ liveData.postValue(RefundStatus.Success)
+ }
+ }
+ return liveData
+ }
+
+}
diff --git a/wallet/src/main/res/drawable/history_payment_aborted.xml
b/wallet/src/main/res/drawable/history_payment_aborted.xml
index 03cd7b2..8d47c26 100644
--- a/wallet/src/main/res/drawable/history_payment_aborted.xml
+++ b/wallet/src/main/res/drawable/history_payment_aborted.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000"
- android:pathData="M15.46 18.12L16.88 19.54L19 17.41L21.12
19.54L22.54 18.12L20.41 16L22.54 13.88L21.12 12.46L19 14.59L16.88 12.46L15.46
13.88L17.59 16M14.97 11.62C14.86 10.28 13.58 8.97 12 9C10.3 9.04 9 10.3 9 12C9
13.7 10.3 14.94 12 15C12.39 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63
14.97 11.62M13 16H7C7 14.9 6.1 14 5 14V10C6.1 10 7 9.1 7 8H17C17 9.1 17.9 10 19
10V10.05C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13
16Z" />
+ android:fillColor="#000"
+ android:pathData="M15.46 18.12L16.88 19.54L19 17.41L21.12 19.54L22.54
18.12L20.41 16L22.54 13.88L21.12 12.46L19 14.59L16.88 12.46L15.46 13.88L17.59
16M14.97 11.62C14.86 10.28 13.58 8.97 12 9C10.3 9.04 9 10.3 9 12C9 13.7 10.3
14.94 12 15C12.39 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97
11.62M13 16H7C7 14.9 6.1 14 5 14V10C6.1 10 7 9.1 7 8H17C17 9.1 17.9 10 19
10V10.05C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13
16Z" />
</vector>
diff --git a/wallet/src/main/res/drawable/history_refresh.xml
b/wallet/src/main/res/drawable/history_refresh.xml
index f5d8972..219b891 100644
--- a/wallet/src/main/res/drawable/history_refresh.xml
+++ b/wallet/src/main/res/drawable/history_refresh.xml
@@ -15,14 +15,14 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#FF000000"
- android:pathData="M14.97,11.62C14.86,10.28 13.58,8.97
12,9c-1.7,0.04 -3,1.3 -3,3 0,1.7 1.3,2.94 3,3 0.39,0 0.77,-0.08 1.14,-0.23
0.27,-1.1 0.72,-2.14 1.83,-3.15M13,16H7C7,14.9 6.1,14 5,14V10C6.1,10 7,9.1
7,8h10c0,1.1 0.9,2 2,2v0.05c0.67,0.01 1.34,0.13 2,0.35V6H3V18H13.32C13.1,17.33
13,16.66 13,16Z" />
+ android:fillColor="#FF000000"
+ android:pathData="M14.97,11.62C14.86,10.28 13.58,8.97 12,9c-1.7,0.04
-3,1.3 -3,3 0,1.7 1.3,2.94 3,3 0.39,0 0.77,-0.08 1.14,-0.23 0.27,-1.1
0.72,-2.14 1.83,-3.15M13,16H7C7,14.9 6.1,14 5,14V10C6.1,10 7,9.1 7,8h10c0,1.1
0.9,2 2,2v0.05c0.67,0.01 1.34,0.13 2,0.35V6H3V18H13.32C13.1,17.33 13,16.66
13,16Z" />
<path
- android:fillColor="#FF000000"
- android:pathData="M19,12 L16.75,14.25 19,16.5V15c1.38,0 2.5,1.12
2.5,2.5 0,0.4 -0.09,0.78 -0.26,1.12l1.09,1.09C22.75,19.08 23,18.32
23,17.5c0,-2.21 -1.79,-4 -4,-4V12m-3.33,3.29C15.25,15.92 15,16.68
15,17.5c0,2.21 1.79,4 4,4V23L21.25,20.75 19,18.5V20c-1.38,0 -2.5,-1.12
-2.5,-2.5 0,-0.4 0.09,-0.78 0.26,-1.12z" />
+ android:fillColor="#FF000000"
+ android:pathData="M19,12 L16.75,14.25 19,16.5V15c1.38,0 2.5,1.12
2.5,2.5 0,0.4 -0.09,0.78 -0.26,1.12l1.09,1.09C22.75,19.08 23,18.32
23,17.5c0,-2.21 -1.79,-4 -4,-4V12m-3.33,3.29C15.25,15.92 15,16.68
15,17.5c0,2.21 1.79,4 4,4V23L21.25,20.75 19,18.5V20c-1.38,0 -2.5,-1.12
-2.5,-2.5 0,-0.4 0.09,-0.78 0.26,-1.12z" />
</vector>
diff --git a/wallet/src/main/res/drawable/history_refund.xml
b/wallet/src/main/res/drawable/history_refund.xml
index 60872a9..6c3d0a7 100644
--- a/wallet/src/main/res/drawable/history_refund.xml
+++ b/wallet/src/main/res/drawable/history_refund.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000"
- android:pathData="M3,11H21V23H3V11M12,15A2,2 0 0,1 14,17A2,2 0 0,1
12,19A2,2 0 0,1 10,17A2,2 0 0,1 12,15M7,13A2,2 0 0,1 5,15V19A2,2 0 0,1
7,21H17A2,2 0 0,1 19,19V15A2,2 0 0,1
17,13H7M17,5V10H15.5V6.5H9.88L12.3,8.93L11.24,10L7,5.75L11.24,1.5L12.3,2.57L9.88,5H17Z"
/>
+ android:fillColor="#000"
+ android:pathData="M3,11H21V23H3V11M12,15A2,2 0 0,1 14,17A2,2 0 0,1
12,19A2,2 0 0,1 10,17A2,2 0 0,1 12,15M7,13A2,2 0 0,1 5,15V19A2,2 0 0,1
7,21H17A2,2 0 0,1 19,19V15A2,2 0 0,1
17,13H7M17,5V10H15.5V6.5H9.88L12.3,8.93L11.24,10L7,5.75L11.24,1.5L12.3,2.57L9.88,5H17Z"
/>
</vector>
diff --git a/wallet/src/main/res/drawable/history_tip_accepted.xml
b/wallet/src/main/res/drawable/history_tip_accepted.xml
index 794d1bf..b945b53 100644
--- a/wallet/src/main/res/drawable/history_tip_accepted.xml
+++ b/wallet/src/main/res/drawable/history_tip_accepted.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000"
- android:pathData="M18,21L15,18L18,15V17H22V19H18V21M10,4A4,4 0 0,1
14,8A4,4 0 0,1 10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,14C11.15,14 12.25,14.12
13.24,14.34C12.46,15.35 12,16.62 12,18C12,18.7 12.12,19.37
12.34,20H2V18C2,15.79 5.58,14 10,14Z" />
+ android:fillColor="#000"
+ android:pathData="M18,21L15,18L18,15V17H22V19H18V21M10,4A4,4 0 0,1
14,8A4,4 0 0,1 10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,14C11.15,14 12.25,14.12
13.24,14.34C12.46,15.35 12,16.62 12,18C12,18.7 12.12,19.37
12.34,20H2V18C2,15.79 5.58,14 10,14Z" />
</vector>
diff --git a/wallet/src/main/res/drawable/history_tip_declined.xml
b/wallet/src/main/res/drawable/history_tip_declined.xml
index 4838ee4..4bd1633 100644
--- a/wallet/src/main/res/drawable/history_tip_declined.xml
+++ b/wallet/src/main/res/drawable/history_tip_declined.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000"
- android:pathData="M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14
8A4 4 0 0 0 10 4M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22
17.5C22 15 20 13 17.5 13M10 14C5.58 14 2 15.79 2 18V20H11.5A6.5 6.5 0 0 1 11
17.5A6.5 6.5 0 0 1 11.95 14.14C11.32 14.06 10.68 14 10 14M17.5 14.5C19.16 14.5
20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94
14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5
14.5 19.16 14.5 17.5 [...]
+ android:fillColor="#000"
+ android:pathData="M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4
4 0 0 0 10 4M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22
17.5C22 15 20 13 17.5 13M10 14C5.58 14 2 15.79 2 18V20H11.5A6.5 6.5 0 0 1 11
17.5A6.5 6.5 0 0 1 11.95 14.14C11.32 14.06 10.68 14 10 14M17.5 14.5C19.16 14.5
20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94
14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5
14.5 19.16 14.5 17.5C14. [...]
</vector>
diff --git a/wallet/src/main/res/drawable/history_withdrawn.xml
b/wallet/src/main/res/drawable/history_withdrawn.xml
index f524474..4fd64f5 100644
--- a/wallet/src/main/res/drawable/history_withdrawn.xml
+++ b/wallet/src/main/res/drawable/history_withdrawn.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000"
- android:pathData="M3 0V3H0V5H3V8H5V5H8V3H5V0H3M9 3V6H6V9H3V19C3
20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V18H12C10.9 18 10 17.11 10 16V8C10
6.9 10.89 6 12 6H21V5C21 3.9 20.11 3 19 3H9M12 8V16H22V8H12M16 10.5C16.83 10.5
17.5 11.17 17.5 12C17.5 12.83 16.83 13.5 16 13.5C15.17 13.5 14.5 12.83 14.5
12C14.5 11.17 15.17 10.5 16 10.5Z" />
+ android:fillColor="#000"
+ android:pathData="M3 0V3H0V5H3V8H5V5H8V3H5V0H3M9 3V6H6V9H3V19C3 20.1
3.89 21 5 21H19C20.11 21 21 20.11 21 19V18H12C10.9 18 10 17.11 10 16V8C10 6.9
10.89 6 12 6H21V5C21 3.9 20.11 3 19 3H9M12 8V16H22V8H12M16 10.5C16.83 10.5 17.5
11.17 17.5 12C17.5 12.83 16.83 13.5 16 13.5C15.17 13.5 14.5 12.83 14.5 12C14.5
11.17 15.17 10.5 16 10.5Z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_account_balance.xml
b/wallet/src/main/res/drawable/ic_account_balance.xml
index e9f51a2..3f10d02 100644
--- a/wallet/src/main/res/drawable/ic_account_balance.xml
+++ b/wallet/src/main/res/drawable/ic_account_balance.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
- android:fillColor="#FF000000"
-
android:pathData="M4,10v7h3v-7L4,10zM10,10v7h3v-7h-3zM2,22h19v-3L2,19v3zM16,10v7h3v-7h-3zM11.5,1L2,6v2h19L21,6l-9.5,-5z"
/>
+ android:fillColor="#FF000000"
+
android:pathData="M4,10v7h3v-7L4,10zM10,10v7h3v-7h-3zM2,22h19v-3L2,19v3zM16,10v7h3v-7h-3zM11.5,1L2,6v2h19L21,6l-9.5,-5z"
/>
</vector>
diff --git a/wallet/src/main/res/drawable/ic_account_balance_wallet.xml
b/wallet/src/main/res/drawable/ic_account_balance_wallet.xml
index 514b118..912d0a8 100644
--- a/wallet/src/main/res/drawable/ic_account_balance_wallet.xml
+++ b/wallet/src/main/res/drawable/ic_account_balance_wallet.xml
@@ -1,9 +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">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
- android:fillColor="#FF000000"
- android:pathData="M21,18v1c0,1.1 -0.9,2 -2,2L5,21c-1.11,0 -2,-0.9
-2,-2L3,5c0,-1.1 0.89,-2 2,-2h14c1.1,0 2,0.9 2,2v1h-9c-1.11,0 -2,0.9
-2,2v8c0,1.1 0.89,2 2,2h9zM12,16h10L22,8L12,8v8zM16,13.5c-0.83,0 -1.5,-0.67
-1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z" />
+ android:fillColor="#FF000000"
+ android:pathData="M21,18v1c0,1.1 -0.9,2 -2,2L5,21c-1.11,0 -2,-0.9
-2,-2L3,5c0,-1.1 0.89,-2 2,-2h14c1.1,0 2,0.9 2,2v1h-9c-1.11,0 -2,0.9
-2,2v8c0,1.1 0.89,2 2,2h9zM12,16h10L22,8L12,8v8zM16,13.5c-0.83,0 -1.5,-0.67
-1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_add_circle.xml
b/wallet/src/main/res/drawable/ic_add_circle.xml
index c32faa6..655a314 100644
--- a/wallet/src/main/res/drawable/ic_add_circle.xml
+++ b/wallet/src/main/res/drawable/ic_add_circle.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
- android:fillColor="#FF000000"
- android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM17,13h-4v4h-2v-4L7,13v-2h4L11,7h2v4h4v2z" />
+ android:fillColor="#FF000000"
+ android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM17,13h-4v4h-2v-4L7,13v-2h4L11,7h2v4h4v2z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_cancel.xml
b/wallet/src/main/res/drawable/ic_cancel.xml
index 6dc55cf..13c783f 100644
--- a/wallet/src/main/res/drawable/ic_cancel.xml
+++ b/wallet/src/main/res/drawable/ic_cancel.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
- android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10 10,-4.47
10,-10S17.53,2 12,2zM17,15.59L15.59,17 12,13.41 8.41,17 7,15.59 10.59,12 7,8.41
8.41,7 12,10.59 15.59,7 17,8.41 13.41,12 17,15.59z"/>
+ android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10 10,-4.47
10,-10S17.53,2 12,2zM17,15.59L15.59,17 12,13.41 8.41,17 7,15.59 10.59,12 7,8.41
8.41,7 12,10.59 15.59,7 17,8.41 13.41,12 17,15.59z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_cash_usd_outline.xml
b/wallet/src/main/res/drawable/ic_cash_usd_outline.xml
index 428a466..0e26eef 100644
--- a/wallet/src/main/res/drawable/ic_cash_usd_outline.xml
+++ b/wallet/src/main/res/drawable/ic_cash_usd_outline.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000"
- android:pathData="M20,18H4V6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0
0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M11,17H13V16H14A1,1 0 0,0
15,15V12A1,1 0 0,0 14,11H11V10H15V8H13V7H11V8H10A1,1 0 0,0 9,9V12A1,1 0 0,0
10,13H13V14H9V16H11V17Z" />
+ android:fillColor="#000"
+ android:pathData="M20,18H4V6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0
4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M11,17H13V16H14A1,1 0 0,0
15,15V12A1,1 0 0,0 14,11H11V10H15V8H13V7H11V8H10A1,1 0 0,0 9,9V12A1,1 0 0,0
10,13H13V14H9V16H11V17Z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_check_circle.xml
b/wallet/src/main/res/drawable/ic_check_circle.xml
index c299cc3..375b366 100644
--- a/wallet/src/main/res/drawable/ic_check_circle.xml
+++ b/wallet/src/main/res/drawable/ic_check_circle.xml
@@ -15,12 +15,12 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:alpha="0.56"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:alpha="0.56"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
- android:fillColor="@color/green"
- android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z" />
+ android:fillColor="@color/green"
+ android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_directions.xml
b/wallet/src/main/res/drawable/ic_directions.xml
index 7fc7fe7..229d69c 100644
--- a/wallet/src/main/res/drawable/ic_directions.xml
+++ b/wallet/src/main/res/drawable/ic_directions.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
- android:pathData="M21.71,11.29l-9,-9c-0.39,-0.39 -1.02,-0.39
-1.41,0l-9,9c-0.39,0.39 -0.39,1.02 0,1.41l9,9c0.39,0.39 1.02,0.39
1.41,0l9,-9c0.39,-0.38 0.39,-1.01 0,-1.41zM14,14.5V12h-4v3H8v-4c0,-0.55 0.45,-1
1,-1h5V7.5l3.5,3.5 -3.5,3.5z"/>
+ android:pathData="M21.71,11.29l-9,-9c-0.39,-0.39 -1.02,-0.39
-1.41,0l-9,9c-0.39,0.39 -0.39,1.02 0,1.41l9,9c0.39,0.39 1.02,0.39
1.41,0l9,-9c0.39,-0.38 0.39,-1.01 0,-1.41zM14,14.5V12h-4v3H8v-4c0,-0.55 0.45,-1
1,-1h5V7.5l3.5,3.5 -3.5,3.5z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_error.xml
b/wallet/src/main/res/drawable/ic_error.xml
index 1f705af..abbe33e 100644
--- a/wallet/src/main/res/drawable/ic_error.xml
+++ b/wallet/src/main/res/drawable/ic_error.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
- android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
+ android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48
10,-10S17.52,2 12,2zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_history_black_24dp.xml
b/wallet/src/main/res/drawable/ic_history_black_24dp.xml
index 4404ee4..5836444 100644
--- a/wallet/src/main/res/drawable/ic_history_black_24dp.xml
+++ b/wallet/src/main/res/drawable/ic_history_black_24dp.xml
@@ -15,11 +15,11 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
- android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89
0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0
-3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03
9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"/>
+ android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89
0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0
-3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03
9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_launcher_foreground.xml
b/wallet/src/main/res/drawable/ic_launcher_foreground.xml
index 028c873..0e103bc 100644
--- a/wallet/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/wallet/src/main/res/drawable/ic_launcher_foreground.xml
@@ -15,54 +15,54 @@
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="108dp"
- android:height="108dp"
- android:viewportWidth="237.28813"
- android:viewportHeight="237.2881">
+ android:width="108dp"
+ android:height="108dp"
+ android:viewportWidth="237.28813"
+ android:viewportHeight="237.2881">
<group
- android:translateX="48.64407"
- android:translateY="48.644062">
+ android:translateX="48.64407"
+ android:translateY="48.644062">
<path
- android:fillAlpha="1"
- android:fillColor="#ffffff"
-
android:pathData="m31.669,82.748h-4.702v-19.684h-6.041v-4.112h16.783v4.112L31.669,63.064Z"
- android:strokeWidth="0.81604069"
- android:strokeColor="#00000000" />
+ android:fillAlpha="1"
+ android:fillColor="#ffffff"
+
android:pathData="m31.669,82.748h-4.702v-19.684h-6.041v-4.112h16.783v4.112L31.669,63.064Z"
+ android:strokeWidth="0.81604069"
+ android:strokeColor="#00000000" />
<path
- android:fillAlpha="1"
- android:fillColor="#ffffff"
- android:pathData="m50.301,74.364q-2.614,0 -3.65,0.669
-1.036,0.669 -1.036,2.295 0,1.211 0.717,1.929 0.717,0.717 1.944,0.717 1.849,0
2.869,-1.387 1.02,-1.403
1.02,-3.905v-0.319zM56.804,72.563v10.185h-4.638v-1.992q-0.845,1.179
-2.168,1.817 -1.323,0.638 -2.917,0.638 -3.044,0 -4.75,-1.61 -1.689,-1.61
-1.689,-4.495 0,-3.124 2.024,-4.606 2.024,-1.498
6.264,-1.498h3.235v-0.781q0,-1.132 -0.829,-1.705 -0.813,-0.59 -2.407,-0.59
-1.674,0 -3.251,0.43 -1.562,0.414 -3.267,1.339v-3.985q [...]
- android:strokeWidth="0.81604069"
- android:strokeColor="#00000000" />
+ android:fillAlpha="1"
+ android:fillColor="#ffffff"
+ android:pathData="m50.301,74.364q-2.614,0 -3.65,0.669 -1.036,0.669
-1.036,2.295 0,1.211 0.717,1.929 0.717,0.717 1.944,0.717 1.849,0 2.869,-1.387
1.02,-1.403 1.02,-3.905v-0.319zM56.804,72.563v10.185h-4.638v-1.992q-0.845,1.179
-2.168,1.817 -1.323,0.638 -2.917,0.638 -3.044,0 -4.75,-1.61 -1.689,-1.61
-1.689,-4.495 0,-3.124 2.024,-4.606 2.024,-1.498
6.264,-1.498h3.235v-0.781q0,-1.132 -0.829,-1.705 -0.813,-0.59 -2.407,-0.59
-1.674,0 -3.251,0.43 -1.562,0.414 -3.267,1.339v-3.985q1.54 [...]
+ android:strokeWidth="0.81604069"
+ android:strokeColor="#00000000" />
<path
- android:fillAlpha="1"
- android:fillColor="#ffffff"
-
android:pathData="m64.964,75.305v-13.771h-4.734v-3.586h9.404v17.357q0,2.104
0.653,2.98 0.653,0.877 2.215,0.877h3.73v3.586h-5.037q-3.331,0 -4.781,-1.721
-1.45,-1.721 -1.45,-5.722z"
- android:strokeWidth="0.81604069"
- android:strokeColor="#00000000" />
+ android:fillAlpha="1"
+ android:fillColor="#ffffff"
+
android:pathData="m64.964,75.305v-13.771h-4.734v-3.586h9.404v17.357q0,2.104
0.653,2.98 0.653,0.877 2.215,0.877h3.73v3.586h-5.037q-3.331,0 -4.781,-1.721
-1.45,-1.721 -1.45,-5.722z"
+ android:strokeWidth="0.81604069"
+ android:strokeColor="#00000000" />
<path
- android:fillAlpha="1"
- android:fillColor="#ffffff"
- android:pathData="m96.012,81.871q-1.626,0.669 -3.315,1.004
-1.689,0.335 -3.57,0.335 -4.479,0 -6.853,-2.391 -2.359,-2.407 -2.359,-6.917
0,-4.367 2.279,-6.901 2.279,-2.534 6.216,-2.534 3.969,0 6.152,2.359 2.199,2.343
2.199,6.614v1.897h-12.097q0.016,2.104 1.243,3.14 1.227,1.036 3.666,1.036 1.61,0
3.172,-0.462 1.562,-0.462 3.267,-1.466zM92.059,71.83q-0.032,-1.849
-0.956,-2.789 -0.908,-0.956 -2.694,-0.956 -1.61,0 -2.566,0.988 -0.956,0.972
-1.132,2.773z"
- android:strokeWidth="0.81604069"
- android:strokeColor="#00000000" />
+ android:fillAlpha="1"
+ android:fillColor="#ffffff"
+ android:pathData="m96.012,81.871q-1.626,0.669 -3.315,1.004
-1.689,0.335 -3.57,0.335 -4.479,0 -6.853,-2.391 -2.359,-2.407 -2.359,-6.917
0,-4.367 2.279,-6.901 2.279,-2.534 6.216,-2.534 3.969,0 6.152,2.359 2.199,2.343
2.199,6.614v1.897h-12.097q0.016,2.104 1.243,3.14 1.227,1.036 3.666,1.036 1.61,0
3.172,-0.462 1.562,-0.462 3.267,-1.466zM92.059,71.83q-0.032,-1.849
-0.956,-2.789 -0.908,-0.956 -2.694,-0.956 -1.61,0 -2.566,0.988 -0.956,0.972
-1.132,2.773z"
+ android:strokeWidth="0.81604069"
+ android:strokeColor="#00000000" />
<path
- android:fillAlpha="1"
- android:fillColor="#ffffff"
- android:pathData="m116.445,69.822q-0.765,-0.701 -1.801,-1.052
-1.02,-0.351 -2.247,-0.351 -1.482,0 -2.598,0.526 -1.1,0.51 -1.705,1.498
-0.383,0.606 -0.542,1.466 -0.143,0.861
-0.143,2.614v8.224h-4.67v-17.851h4.67v2.773q0.685,-1.53 2.104,-2.359
1.419,-0.845 3.315,-0.845 0.956,0 1.865,0.239 0.924,0.223 1.753,0.669z"
- android:strokeWidth="0.81604069"
- android:strokeColor="#00000000" />
+ android:fillAlpha="1"
+ android:fillColor="#ffffff"
+ android:pathData="m116.445,69.822q-0.765,-0.701 -1.801,-1.052
-1.02,-0.351 -2.247,-0.351 -1.482,0 -2.598,0.526 -1.1,0.51 -1.705,1.498
-0.383,0.606 -0.542,1.466 -0.143,0.861
-0.143,2.614v8.224h-4.67v-17.851h4.67v2.773q0.685,-1.53 2.104,-2.359
1.419,-0.845 3.315,-0.845 0.956,0 1.865,0.239 0.924,0.223 1.753,0.669z"
+ android:strokeWidth="0.81604069"
+ android:strokeColor="#00000000" />
<path
- android:fillAlpha="1"
- android:fillColor="#ae1010"
- android:pathData="M25.843,97.583L16.433,97.583L0,70.865
16.433,44.111l9.409,0l-16.522,26.754z"
- android:strokeWidth="2.03518677"
- android:strokeColor="#00000000" />
+ android:fillAlpha="1"
+ android:fillColor="#ae1010"
+ android:pathData="M25.843,97.583L16.433,97.583L0,70.865
16.433,44.111l9.409,0l-16.522,26.754z"
+ android:strokeWidth="2.03518677"
+ android:strokeColor="#00000000" />
<path
- android:fillAlpha="1"
- android:fillColor="#ae1010"
- android:pathData="m109.483,97.667 l17.087,-27.134
-17.041,-27.171l9.712,0l17.041,27.171 -17.041,27.134z"
- android:strokeWidth="2.08855891"
- android:strokeColor="#00000000" />
+ android:fillAlpha="1"
+ android:fillColor="#ae1010"
+ android:pathData="m109.483,97.667 l17.087,-27.134
-17.041,-27.171l9.712,0l17.041,27.171 -17.041,27.134z"
+ android:strokeWidth="2.08855891"
+ android:strokeColor="#00000000" />
</group>
</vector>
diff --git a/wallet/src/main/res/drawable/ic_scan_qr.xml
b/wallet/src/main/res/drawable/ic_scan_qr.xml
index 2ca8a69..2d718eb 100644
--- a/wallet/src/main/res/drawable/ic_scan_qr.xml
+++ b/wallet/src/main/res/drawable/ic_scan_qr.xml
@@ -1,10 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorOnPrimarySurface"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:tint="?attr/colorOnPrimarySurface"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#000"
-
android:pathData="M4,4H10V10H4V4M20,4V10H14V4H20M14,15H16V13H14V11H16V13H18V11H20V13H18V15H20V18H18V20H16V18H13V20H11V16H14V15M16,15V18H18V15H16M4,20V14H10V20H4M6,6V8H8V6H6M16,6V8H18V6H16M6,16V18H8V16H6M4,11H6V13H4V11M9,11H13V15H11V13H9V11M11,6H13V10H11V6M2,2V6H0V2A2,2
0 0,1 2,0H6V2H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22M2,18V22H6V24H2A2,2 0 0,1
0,22V18H2M22,22V18H24V22A2,2 0 0,1 22,24H18V22H22Z" />
+ android:fillColor="#000"
+
android:pathData="M4,4H10V10H4V4M20,4V10H14V4H20M14,15H16V13H14V11H16V13H18V11H20V13H18V15H20V18H18V20H16V18H13V20H11V16H14V15M16,15V18H18V15H16M4,20V14H10V20H4M6,6V8H8V6H6M16,6V8H18V6H16M6,16V18H8V16H6M4,11H6V13H4V11M9,11H13V15H11V13H9V11M11,6H13V10H11V6M2,2V6H0V2A2,2
0 0,1 2,0H6V2H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22M2,18V22H6V24H2A2,2 0 0,1
0,22V18H2M22,22V18H24V22A2,2 0 0,1 22,24H18V22H22Z" />
</vector>
diff --git a/wallet/src/main/res/drawable/ic_settings.xml
b/wallet/src/main/res/drawable/ic_settings.xml
index 7cadd58..a671514 100644
--- a/wallet/src/main/res/drawable/ic_settings.xml
+++ b/wallet/src/main/res/drawable/ic_settings.xml
@@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
<path
- android:fillColor="#FF000000"
- android:pathData="M19.1,12.9a2.8,2.8 0,0 0,0.1 -0.9,2.8 2.8,0 0,0
-0.1,-0.9l2.1,-1.6a0.7,0.7 0,0 0,0.1 -0.6L19.4,5.5a0.7,0.7 0,0 0,-0.6
-0.2l-2.4,1a6.5,6.5 0,0 0,-1.6 -0.9l-0.4,-2.6a0.5,0.5 0,0 0,-0.5
-0.4H10.1a0.5,0.5 0,0 0,-0.5 0.4L9.3,5.4a5.6,5.6 0,0 0,-1.7 0.9l-2.4,-1a0.4,0.4
0,0 0,-0.5 0.2l-2,3.4c-0.1,0.2 0,0.4 0.2,0.6l2,1.6a2.8,2.8 0,0 0,-0.1 0.9,2.8
2.8,0 0,0 0.1,0.9L2.8,14.5a0.7,0.7 0,0 0,-0.1 0.6l1.9,3.4a0.7,0.7 0,0 0,0.6
0.2l2.4,-1a6.5,6.5 0,0 0,1.6 0.9l0.4,2.6a0.5, [...]
+ android:fillColor="#FF000000"
+ android:pathData="M19.1,12.9a2.8,2.8 0,0 0,0.1 -0.9,2.8 2.8,0 0,0
-0.1,-0.9l2.1,-1.6a0.7,0.7 0,0 0,0.1 -0.6L19.4,5.5a0.7,0.7 0,0 0,-0.6
-0.2l-2.4,1a6.5,6.5 0,0 0,-1.6 -0.9l-0.4,-2.6a0.5,0.5 0,0 0,-0.5
-0.4H10.1a0.5,0.5 0,0 0,-0.5 0.4L9.3,5.4a5.6,5.6 0,0 0,-1.7 0.9l-2.4,-1a0.4,0.4
0,0 0,-0.5 0.2l-2,3.4c-0.1,0.2 0,0.4 0.2,0.6l2,1.6a2.8,2.8 0,0 0,-0.1 0.9,2.8
2.8,0 0,0 0.1,0.9L2.8,14.5a0.7,0.7 0,0 0,-0.1 0.6l1.9,3.4a0.7,0.7 0,0 0,0.6
0.2l2.4,-1a6.5,6.5 0,0 0,1.6 0.9l0.4,2.6a0.5,0.5 [...]
</vector>
diff --git a/wallet/src/main/res/drawable/ic_sync.xml
b/wallet/src/main/res/drawable/ic_sync.xml
index 78593fc..8991613 100644
--- a/wallet/src/main/res/drawable/ic_sync.xml
+++ b/wallet/src/main/res/drawable/ic_sync.xml
@@ -1,9 +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">
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
<path
- android:fillColor="#FF000000"
- android:pathData="M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01
-0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8
-8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97
0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z" />
+ android:fillColor="#FF000000"
+ android:pathData="M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01
-0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8
-8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97
0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z" />
</vector>
diff --git a/wallet/src/main/res/drawable/pending_border.xml
b/wallet/src/main/res/drawable/pending_border.xml
index bb50fea..c858219 100644
--- a/wallet/src/main/res/drawable/pending_border.xml
+++ b/wallet/src/main/res/drawable/pending_border.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,22 +15,17 @@
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle" >
+ android:shape="rectangle">
<!-- View background color -->
- <solid
- android:color="@android:color/transparent" >
- </solid>
+ <solid android:color="@android:color/transparent"></solid>
<!-- View border color and width -->
<stroke
- android:width="1dp"
- android:color="@color/colorPrimary" >
- </stroke>
+ android:width="1dp"
+ android:color="@color/colorPrimary"></stroke>
<!-- The radius makes the corners rounded -->
- <corners
- android:radius="2dp" >
- </corners>
+ <corners android:radius="2dp"></corners>
</shape>
\ No newline at end of file
diff --git a/wallet/src/main/res/drawable/side_nav_bar.xml
b/wallet/src/main/res/drawable/side_nav_bar.xml
index 6be80a8..ecc7e71 100644
--- a/wallet/src/main/res/drawable/side_nav_bar.xml
+++ b/wallet/src/main/res/drawable/side_nav_bar.xml
@@ -15,10 +15,10 @@
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
+ android:shape="rectangle">
<gradient
- android:angle="135"
- android:startColor="@color/colorPrimary"
- android:endColor="@color/colorPrimaryDark"
- android:type="linear"/>
+ android:angle="135"
+ android:endColor="@color/colorPrimaryDark"
+ android:startColor="@color/colorPrimary"
+ android:type="linear" />
</shape>
\ No newline at end of file
diff --git a/wallet/src/main/res/layout-w550dp/payment_bottom_bar.xml
b/wallet/src/main/res/layout-w550dp/payment_bottom_bar.xml
index d9e2f59..d9952f8 100644
--- a/wallet/src/main/res/layout-w550dp/payment_bottom_bar.xml
+++ b/wallet/src/main/res/layout-w550dp/payment_bottom_bar.xml
@@ -15,108 +15,108 @@
-->
<com.google.android.material.card.MaterialCardView
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:id="@+id/bottomView"
- style="@style/BottomCard"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- tools:showIn="@layout/fragment_prompt_payment">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/bottomView"
+ style="@style/BottomCard"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ tools:showIn="@layout/fragment_prompt_payment">
<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
<TextView
- android:id="@+id/totalLabelView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:text="@string/payment_label_amount_total"
- android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/totalView"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toEndOf="@+id/abortButton"
- app:layout_constraintTop_toTopOf="@+id/totalView"
- app:layout_constraintVertical_bias="0.0"
- tools:visibility="visible" />
+ android:id="@+id/totalLabelView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:text="@string/payment_label_amount_total"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/totalView"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toEndOf="@+id/abortButton"
+ app:layout_constraintTop_toTopOf="@+id/totalView"
+ app:layout_constraintVertical_bias="0.0"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/totalView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="16dp"
- android:textColor="?android:attr/textColorPrimary"
- android:textStyle="bold"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/feeView"
- app:layout_constraintEnd_toStartOf="@+id/confirmButton"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toEndOf="@+id/totalLabelView"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_goneMarginBottom="8dp"
- tools:text="10 TESTKUDOS"
- tools:visibility="visible" />
+ android:id="@+id/totalView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="16dp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:textStyle="bold"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/feeView"
+ app:layout_constraintEnd_toStartOf="@+id/confirmButton"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toEndOf="@+id/totalLabelView"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_goneMarginBottom="8dp"
+ tools:text="10 TESTKUDOS"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/feeView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="16dp"
- android:layout_marginBottom="8dp"
- android:visibility="gone"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/confirmButton"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/totalView"
- tools:text="@string/payment_fee"
- tools:visibility="visible" />
+ android:id="@+id/feeView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginBottom="8dp"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/confirmButton"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/totalView"
+ tools:text="@string/payment_fee"
+ tools:visibility="visible" />
<Button
- android:id="@+id/abortButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:backgroundTint="@color/red"
- android:text="@string/payment_button_abort"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/confirmButton"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/abortButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:backgroundTint="@color/red"
+ android:text="@string/payment_button_abort"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/confirmButton"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<Button
- android:id="@+id/confirmButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:backgroundTint="@color/green"
- android:enabled="false"
- android:text="@string/payment_button_confirm"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toEndOf="@+id/abortButton"
- app:layout_constraintTop_toTopOf="parent"
- tools:enabled="true" />
+ android:id="@+id/confirmButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:backgroundTint="@color/green"
+ android:enabled="false"
+ android:text="@string/payment_button_confirm"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/abortButton"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:enabled="true" />
<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/confirmButton"
- app:layout_constraintEnd_toEndOf="@+id/confirmButton"
- app:layout_constraintStart_toStartOf="@+id/confirmButton"
- app:layout_constraintTop_toTopOf="@+id/confirmButton"
- tools:visibility="visible" />
+ 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/confirmButton"
+ app:layout_constraintEnd_toEndOf="@+id/confirmButton"
+ app:layout_constraintStart_toStartOf="@+id/confirmButton"
+ app:layout_constraintTop_toTopOf="@+id/confirmButton"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/activity_main.xml
b/wallet/src/main/res/layout/activity_main.xml
index 0612306..3879490 100644
--- a/wallet/src/main/res/layout/activity_main.xml
+++ b/wallet/src/main/res/layout/activity_main.xml
@@ -15,26 +15,26 @@
-->
<androidx.drawerlayout.widget.DrawerLayout
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:id="@+id/drawer_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:fitsSystemWindows="true"
- tools:openDrawer="start">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
+ tools:openDrawer="start">
<include
- layout="@layout/app_bar_main"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
+ layout="@layout/app_bar_main"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
<com.google.android.material.navigation.NavigationView
- android:id="@+id/nav_view"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:fitsSystemWindows="false"
- app:headerLayout="@layout/nav_header_main"
- app:menu="@menu/activity_main_drawer" />
+ android:id="@+id/nav_view"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:fitsSystemWindows="false"
+ app:headerLayout="@layout/nav_header_main"
+ app:menu="@menu/activity_main_drawer" />
</androidx.drawerlayout.widget.DrawerLayout>
diff --git a/wallet/src/main/res/layout/app_bar_main.xml
b/wallet/src/main/res/layout/app_bar_main.xml
index d976be8..5ee55b2 100644
--- a/wallet/src/main/res/layout/app_bar_main.xml
+++ b/wallet/src/main/res/layout/app_bar_main.xml
@@ -15,61 +15,61 @@
-->
<androidx.coordinatorlayout.widget.CoordinatorLayout
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=".MainActivity">
+ 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=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:theme="@style/AppTheme.AppBarOverlay">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:theme="@style/AppTheme.AppBarOverlay">
<androidx.constraintlayout.widget.ConstraintLayout
- android:id="@+id/relativeLayout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:id="@+id/relativeLayout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
- android:id="@+id/toolbar"
- style="@style/AppTheme.Toolbar"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/toolbar"
+ style="@style/AppTheme.Toolbar"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<me.zhanghai.android.materialprogressbar.MaterialProgressBar
- android:id="@+id/progress_bar"
-
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
- android:layout_width="0dp"
- android:layout_height="4dp"
- android:elevation="4dp"
- android:indeterminate="true"
- android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="@+id/toolbar"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:mpb_progressStyle="horizontal"
- app:mpb_useIntrinsicPadding="false"
- tools:visibility="visible" />
+ android:id="@+id/progress_bar"
+
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
+ android:layout_width="0dp"
+ android:layout_height="4dp"
+ android:elevation="4dp"
+ android:indeterminate="true"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toBottomOf="@+id/toolbar"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:mpb_progressStyle="horizontal"
+ app:mpb_useIntrinsicPadding="false"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.fragment.app.FragmentContainerView
- android:id="@+id/nav_host_fragment"
- android:name="androidx.navigation.fragment.NavHostFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:defaultNavHost="true"
- app:layout_behavior="@string/appbar_scrolling_view_behavior"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:navGraph="@navigation/nav_graph" />
+ android:id="@+id/nav_host_fragment"
+ android:name="androidx.navigation.fragment.NavHostFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:defaultNavHost="true"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:navGraph="@navigation/nav_graph" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/wallet/src/main/res/layout/fragment_already_paid.xml
b/wallet/src/main/res/layout/fragment_already_paid.xml
index d36fe69..5160a2e 100644
--- a/wallet/src/main/res/layout/fragment_already_paid.xml
+++ b/wallet/src/main/res/layout/fragment_already_paid.xml
@@ -15,38 +15,38 @@
-->
<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=".payment.PaymentSuccessfulFragment">
+ 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=".payment.PaymentSuccessfulFragment">
<Space
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1" />
+ 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/payment_already_paid"
- android:textAlignment="center"
- android:textColor="@android:color/holo_green_dark"
- app:autoSizeTextType="uniform" />
+ android:layout_width="match_parent"
+ android:layout_height="50dp"
+ android:layout_gravity="center"
+ android:text="@string/payment_already_paid"
+ 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" />
+ 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" />
+ 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_error.xml
b/wallet/src/main/res/layout/fragment_error.xml
index 3d977dd..0f7b047 100644
--- a/wallet/src/main/res/layout/fragment_error.xml
+++ b/wallet/src/main/res/layout/fragment_error.xml
@@ -15,83 +15,83 @@
-->
<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=".withdraw.ErrorFragment">
+ 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=".withdraw.ErrorFragment">
<ImageView
- android:id="@+id/errorImageView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="16dp"
- android:alpha="0.56"
- android:src="@drawable/ic_error"
- android:tint="@color/red"
- app:layout_constraintBottom_toTopOf="@+id/errorTitle"
- app:layout_constraintDimensionRatio="1:1"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- app:layout_constraintVertical_chainStyle="packed"
- tools:ignore="ContentDescription" />
+ android:id="@+id/errorImageView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="16dp"
+ android:alpha="0.56"
+ android:src="@drawable/ic_error"
+ android:tint="@color/red"
+ app:layout_constraintBottom_toTopOf="@+id/errorTitle"
+ app:layout_constraintDimensionRatio="1:1"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ app:layout_constraintVertical_chainStyle="packed"
+ tools:ignore="ContentDescription" />
<TextView
- android:id="@+id/errorTitle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:gravity="center_horizontal|top"
- android:minHeight="64dp"
- android:textColor="@color/red"
- app:autoSizeMaxTextSize="40sp"
- app:autoSizeTextType="uniform"
- app:layout_constraintBottom_toTopOf="@+id/errorMessage"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/errorImageView"
- tools:text="@string/withdraw_error_title" />
+ android:id="@+id/errorTitle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:gravity="center_horizontal|top"
+ android:minHeight="64dp"
+ android:textColor="@color/red"
+ app:autoSizeMaxTextSize="40sp"
+ app:autoSizeTextType="uniform"
+ app:layout_constraintBottom_toTopOf="@+id/errorMessage"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/errorImageView"
+ tools:text="@string/withdraw_error_title" />
<TextView
- android:id="@+id/errorMessage"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:gravity="center"
- android:textAppearance="@style/TextAppearance.AppCompat.Medium"
- app:layout_constraintBottom_toTopOf="@+id/errorDevMessage"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/errorTitle"
- tools:text="@string/withdraw_error_message" />
+ android:id="@+id/errorMessage"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:gravity="center"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ app:layout_constraintBottom_toTopOf="@+id/errorDevMessage"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/errorTitle"
+ tools:text="@string/withdraw_error_message" />
<TextView
- android:id="@+id/errorDevMessage"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:fontFamily="monospace"
- android:gravity="center"
- android:textColor="@color/red"
- android:textIsSelectable="true"
- android:visibility="gone"
- app:layout_constraintBottom_toTopOf="@+id/backButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/errorMessage"
- tools:text="Error: Fetching keys failed: unexpected status for
keys: 502"
- tools:visibility="visible" />
+ android:id="@+id/errorDevMessage"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:fontFamily="monospace"
+ android:gravity="center"
+ android:textColor="@color/red"
+ android:textIsSelectable="true"
+ android:visibility="gone"
+ app:layout_constraintBottom_toTopOf="@+id/backButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/errorMessage"
+ tools:text="Error: Fetching keys failed: unexpected status for keys:
502"
+ tools:visibility="visible" />
<Button
- android:id="@+id/backButton"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/button_back"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent" />
+ android:id="@+id/backButton"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/button_back"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/fragment_json.xml
b/wallet/src/main/res/layout/fragment_json.xml
index 1e0c047..d9bca8f 100644
--- a/wallet/src/main/res/layout/fragment_json.xml
+++ b/wallet/src/main/res/layout/fragment_json.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,26 +15,26 @@
-->
<ScrollView 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="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
<TextView
- android:id="@+id/jsonView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:layout_marginBottom="8dp"
- android:fontFamily="monospace"
- android:textSize="12sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="[JSON]" />
+ android:id="@+id/jsonView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginBottom="8dp"
+ android:fontFamily="monospace"
+ android:textSize="12sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="[JSON]" />
</ScrollView>
diff --git a/wallet/src/main/res/layout/fragment_payment_successful.xml
b/wallet/src/main/res/layout/fragment_payment_successful.xml
index cf9e5e8..1c45622 100644
--- a/wallet/src/main/res/layout/fragment_payment_successful.xml
+++ b/wallet/src/main/res/layout/fragment_payment_successful.xml
@@ -15,49 +15,49 @@
-->
<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:id="@+id/frameLayout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_margin="16dp"
- tools:context=".payment.PaymentSuccessfulFragment">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/frameLayout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_margin="16dp"
+ tools:context=".payment.PaymentSuccessfulFragment">
<ImageView
- android:id="@+id/successImageView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="32dp"
- android:src="@drawable/ic_check_circle"
- app:layout_constraintBottom_toTopOf="@+id/successTextView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:ignore="ContentDescription" />
+ android:id="@+id/successImageView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="32dp"
+ android:src="@drawable/ic_check_circle"
+ app:layout_constraintBottom_toTopOf="@+id/successTextView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="ContentDescription" />
<androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/successTextView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_marginBottom="16dp"
- android:text="@string/payment_successful"
- android:textAlignment="center"
- android:textColor="@color/green"
- app:autoSizeMaxTextSize="48sp"
- app:autoSizeMinTextSize="10sp"
- app:autoSizeTextType="uniform"
- app:layout_constraintBottom_toTopOf="@+id/backButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/successImageView" />
+ android:id="@+id/successTextView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginBottom="16dp"
+ android:text="@string/payment_successful"
+ android:textAlignment="center"
+ android:textColor="@color/green"
+ app:autoSizeMaxTextSize="48sp"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeTextType="uniform"
+ app:layout_constraintBottom_toTopOf="@+id/backButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/successImageView" />
<Button
- android:id="@+id/backButton"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:text="@string/payment_back_button"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent" />
+ android:id="@+id/backButton"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:text="@string/payment_back_button"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/fragment_pending_operations.xml
b/wallet/src/main/res/layout/fragment_pending_operations.xml
index 26c1be1..775c89f 100644
--- a/wallet/src/main/res/layout/fragment_pending_operations.xml
+++ b/wallet/src/main/res/layout/fragment_pending_operations.xml
@@ -15,20 +15,20 @@
-->
<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">
+ 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">
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/list_pending"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:scrollbars="vertical"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:listitem="@layout/pending_row" />
+ android:id="@+id/list_pending"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:scrollbars="vertical"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:listitem="@layout/pending_row" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/fragment_product_image.xml
b/wallet/src/main/res/layout/fragment_product_image.xml
index 9f65d4d..7d8bbf2 100644
--- a/wallet/src/main/res/layout/fragment_product_image.xml
+++ b/wallet/src/main/res/layout/fragment_product_image.xml
@@ -15,10 +15,10 @@
-->
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/productImageView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:ignore="ContentDescription">
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/productImageView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:ignore="ContentDescription">
</ImageView>
\ No newline at end of file
diff --git a/wallet/src/main/res/layout/fragment_prompt_payment.xml
b/wallet/src/main/res/layout/fragment_prompt_payment.xml
index 26cbeb6..8d8954d 100644
--- a/wallet/src/main/res/layout/fragment_prompt_payment.xml
+++ b/wallet/src/main/res/layout/fragment_prompt_payment.xml
@@ -15,30 +15,30 @@
-->
<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=".payment.PromptPaymentFragment">
+ 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=".payment.PromptPaymentFragment">
<include
- android:id="@+id/scrollView"
- layout="@layout/payment_details"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:layout_constraintBottom_toTopOf="@+id/bottomView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/scrollView"
+ layout="@layout/payment_details"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toTopOf="@+id/bottomView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<include
- android:id="@+id/bottomView"
- layout="@layout/payment_bottom_bar"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/scrollView" />
+ android:id="@+id/bottomView"
+ layout="@layout/payment_bottom_bar"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/scrollView" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/fragment_prompt_withdraw.xml
b/wallet/src/main/res/layout/fragment_prompt_withdraw.xml
index 1114c17..0d507c8 100644
--- a/wallet/src/main/res/layout/fragment_prompt_withdraw.xml
+++ b/wallet/src/main/res/layout/fragment_prompt_withdraw.xml
@@ -15,154 +15,154 @@
-->
<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=".withdraw.PromptWithdrawFragment">
+ 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=".withdraw.PromptWithdrawFragment">
<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/withdraw_do_you_want"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/withdrawAmountView"
- 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" />
+ 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/withdraw_do_you_want"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/withdrawAmountView"
+ 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/withdrawAmountView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginEnd="16dp"
- android:gravity="center"
- android:textAppearance="@style/TextAppearance.AppCompat.Headline"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/feeView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/introView"
- tools:text="10.00 TESTKUDOS"
- tools:visibility="visible" />
+ android:id="@+id/withdrawAmountView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp"
+ android:gravity="center"
+ android:textAppearance="@style/TextAppearance.AppCompat.Headline"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/feeView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/introView"
+ tools:text="10.00 TESTKUDOS"
+ 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:text="@string/withdraw_fees"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/exchangeIntroView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/withdrawAmountView"
- tools:visibility="visible" />
+ 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:text="@string/withdraw_fees"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/exchangeIntroView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/withdrawAmountView"
+ 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/withdraw_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" />
+ 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/withdraw_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="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginEnd="16dp"
- android:gravity="center"
- android:textSize="25sp"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/withdrawCard"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/exchangeIntroView"
- tools:text="(exchange base url)"
- tools:visibility="visible" />
+ android:id="@+id/withdrawExchangeUrl"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp"
+ android:gravity="center"
+ android:textSize="25sp"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/withdrawCard"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/exchangeIntroView"
+ tools:text="(exchange base url)"
+ 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_toTopOf="@+id/withdrawCard"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyleLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toTopOf="@+id/withdrawCard"
+ 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"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent">
+ android:id="@+id/withdrawCard"
+ style="@style/BottomCard"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="8dp">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="8dp">
<Button
- android:id="@+id/button_cancel_withdraw"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:backgroundTint="@color/red"
- android:text="@string/button_cancel"
- app:layout_constraintBottom_toBottomOf="parent"
-
app:layout_constraintEnd_toStartOf="@+id/button_confirm_withdraw"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent" />
+ android:id="@+id/button_cancel_withdraw"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:backgroundTint="@color/red"
+ android:text="@string/button_cancel"
+ app:layout_constraintBottom_toBottomOf="parent"
+
app:layout_constraintEnd_toStartOf="@+id/button_confirm_withdraw"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent" />
<Button
- android:id="@+id/button_confirm_withdraw"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:backgroundTint="@color/green"
- android:enabled="false"
- android:text="@string/withdraw_button_confirm"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
-
app:layout_constraintStart_toEndOf="@+id/button_cancel_withdraw" />
+ android:id="@+id/button_confirm_withdraw"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:backgroundTint="@color/green"
+ android:enabled="false"
+ android:text="@string/withdraw_button_confirm"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+
app:layout_constraintStart_toEndOf="@+id/button_cancel_withdraw" />
<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/button_confirm_withdraw"
-
app:layout_constraintEnd_toEndOf="@+id/button_confirm_withdraw"
-
app:layout_constraintStart_toStartOf="@+id/button_confirm_withdraw"
-
app:layout_constraintTop_toTopOf="@+id/button_confirm_withdraw"
- tools:visibility="visible" />
+ 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/button_confirm_withdraw"
+ app:layout_constraintEnd_toEndOf="@+id/button_confirm_withdraw"
+
app:layout_constraintStart_toStartOf="@+id/button_confirm_withdraw"
+ app:layout_constraintTop_toTopOf="@+id/button_confirm_withdraw"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/fragment_review_exchange_tos.xml
b/wallet/src/main/res/layout/fragment_review_exchange_tos.xml
index 61a61f1..69f5c7c 100644
--- a/wallet/src/main/res/layout/fragment_review_exchange_tos.xml
+++ b/wallet/src/main/res/layout/fragment_review_exchange_tos.xml
@@ -15,88 +15,88 @@
-->
<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=".withdraw.ReviewExchangeTosFragment">
+ 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=".withdraw.ReviewExchangeTosFragment">
<ScrollView
- android:id="@+id/tosScrollView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:layout_constraintBottom_toTopOf="@+id/buttonCard"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
+ android:id="@+id/tosScrollView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toTopOf="@+id/buttonCard"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
<TextView
- android:id="@+id/tosTextView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="16dp"
- android:visibility="invisible"
- tools:text="@tools:sample/lorem/random"
- tools:visibility="visible" />
+ android:id="@+id/tosTextView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="16dp"
+ android:visibility="invisible"
+ tools:text="@tools:sample/lorem/random"
+ tools:visibility="visible" />
</ScrollView>
<ProgressBar
- android:id="@+id/progressBar"
- style="?android:attr/progressBarStyleLarge"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="@+id/tosScrollView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyleLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="@+id/tosScrollView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.card.MaterialCardView
- android:id="@+id/buttonCard"
- style="@style/BottomCard"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent">
+ android:id="@+id/buttonCard"
+ style="@style/BottomCard"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="8dp">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="8dp">
<CheckBox
- android:id="@+id/acceptTosCheckBox"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:text="@string/exchange_tos_accept"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/acceptTosButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- tools:visibility="visible" />
+ android:id="@+id/acceptTosCheckBox"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:text="@string/exchange_tos_accept"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/acceptTosButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ tools:visibility="visible" />
<Button
- android:id="@+id/abortTosButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:backgroundTint="@color/red"
- android:text="@string/button_cancel"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/acceptTosButton"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent" />
+ android:id="@+id/abortTosButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:backgroundTint="@color/red"
+ android:text="@string/button_cancel"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/acceptTosButton"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent" />
<Button
- android:id="@+id/acceptTosButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:backgroundTint="@color/green"
- android:enabled="false"
- android:text="@string/exchange_tos_button_continue"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@+id/abortTosButton" />
+ android:id="@+id/acceptTosButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:backgroundTint="@color/green"
+ android:enabled="false"
+ android:text="@string/exchange_tos_button_continue"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/abortTosButton" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/fragment_settings.xml
b/wallet/src/main/res/layout/fragment_settings.xml
index 2fa0fcc..fdd0120 100644
--- a/wallet/src/main/res/layout/fragment_settings.xml
+++ b/wallet/src/main/res/layout/fragment_settings.xml
@@ -15,78 +15,78 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_margin="10dp"
- android:orientation="vertical"
- tools:context=".Settings">
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_margin="10dp"
+ android:orientation="vertical"
+ tools:context=".Settings">
<TextView
- android:id="@+id/editText2"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:ems="10"
- android:text="@string/settings_version"
- android:textSize="18sp" />
+ android:id="@+id/editText2"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ems="10"
+ android:text="@string/settings_version"
+ android:textSize="18sp" />
<LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
<TextView
- android:id="@+id/textView5"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/app_name" />
+ android:id="@+id/textView5"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/app_name" />
<TextView
- android:id="@+id/textView4"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- tools:text="0.6.0pre8" />
+ android:id="@+id/textView4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ tools:text="0.6.0pre8" />
</LinearLayout>
<Space
- android:layout_width="0dp"
- android:layout_height="15dp" />
+ android:layout_width="0dp"
+ android:layout_height="15dp" />
<TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:ems="10"
- android:text="@string/settings_backups"
- android:textSize="18sp"
- android:visibility="gone" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ems="10"
+ android:text="@string/settings_backups"
+ android:textSize="18sp"
+ android:visibility="gone" />
<Button
- android:id="@+id/button_backup_export"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/settings_export_to_file"
- android:visibility="gone" />
+ android:id="@+id/button_backup_export"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_export_to_file"
+ android:visibility="gone" />
<Button
- android:id="@+id/button_backup_import"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/settings_import_from_file"
- android:visibility="gone" />
+ android:id="@+id/button_backup_import"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_import_from_file"
+ android:visibility="gone" />
<TextView
- android:id="@+id/devSettingsTitle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:ems="10"
- android:text="@string/settings_developer"
- android:textSize="18sp" />
+ android:id="@+id/devSettingsTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ems="10"
+ android:text="@string/settings_developer"
+ android:textSize="18sp" />
<!--
<Button
@@ -96,9 +96,9 @@
android:id="@+id/button_withdraw_testkudos"/>-->
<Button
- android:id="@+id/button_reset_wallet_dangerously"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/settings_reset" />
+ android:id="@+id/button_reset_wallet_dangerously"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_reset" />
</LinearLayout>
diff --git a/wallet/src/main/res/layout/fragment_show_balance.xml
b/wallet/src/main/res/layout/fragment_show_balance.xml
index 5bc6ee8..82b5106 100644
--- a/wallet/src/main/res/layout/fragment_show_balance.xml
+++ b/wallet/src/main/res/layout/fragment_show_balance.xml
@@ -14,78 +14,78 @@
~ 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">
+ 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">
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/balancesList"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:visibility="gone"
- app:layout_constraintBottom_toTopOf="@+id/scanButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- app:layout_constraintVertical_chainStyle="packed"
- tools:layout_height="200dp"
- tools:listitem="@layout/list_item_balance"
- tools:visibility="visible" />
+ android:id="@+id/balancesList"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ app:layout_constraintBottom_toTopOf="@+id/scanButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ app:layout_constraintVertical_chainStyle="packed"
+ tools:layout_height="200dp"
+ tools:listitem="@layout/list_item_balance"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/balancesEmptyState"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:gravity="center"
- android:padding="16dp"
- android:text="@string/balances_empty_state"
- android:textSize="18sp"
- android:visibility="gone"
- app:layout_constraintBottom_toTopOf="@+id/scanButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:visibility="gone" />
+ android:id="@+id/balancesEmptyState"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:gravity="center"
+ android:padding="16dp"
+ android:text="@string/balances_empty_state"
+ android:textSize="18sp"
+ android:visibility="gone"
+ app:layout_constraintBottom_toTopOf="@+id/scanButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:visibility="gone" />
<androidx.constraintlayout.widget.Barrier
- android:id="@+id/barrier"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:barrierAllowsGoneWidgets="false"
- app:barrierDirection="bottom"
- app:constraint_referenced_ids="balancesList, balancesEmptyState" />
+ android:id="@+id/barrier"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:barrierAllowsGoneWidgets="false"
+ app:barrierDirection="bottom"
+ app:constraint_referenced_ids="balancesList, balancesEmptyState" />
<Button
- android:id="@+id/scanButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:drawableLeft="@drawable/ic_scan_qr"
- android:padding="16dp"
- android:text="@string/button_scan_qr_code"
- app:layout_constraintBottom_toTopOf="@+id/testWithdrawButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/barrier"
- app:layout_constraintVertical_chainStyle="packed"
- tools:ignore="RtlHardcoded" />
+ android:id="@+id/scanButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:drawableLeft="@drawable/ic_scan_qr"
+ android:padding="16dp"
+ android:text="@string/button_scan_qr_code"
+ app:layout_constraintBottom_toTopOf="@+id/testWithdrawButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/barrier"
+ app:layout_constraintVertical_chainStyle="packed"
+ tools:ignore="RtlHardcoded" />
<Button
- android:id="@+id/testWithdrawButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="16dp"
- android:layout_marginEnd="16dp"
- android:padding="16dp"
- android:text="@string/withdraw_button_testkudos"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/scanButton"
- tools:visibility="visible" />
+ android:id="@+id/testWithdrawButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="16dp"
+ android:padding="16dp"
+ android:text="@string/withdraw_button_testkudos"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/scanButton"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/fragment_show_history.xml
b/wallet/src/main/res/layout/fragment_show_history.xml
index 3e84b0f..97194d8 100644
--- a/wallet/src/main/res/layout/fragment_show_history.xml
+++ b/wallet/src/main/res/layout/fragment_show_history.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,32 +15,32 @@
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/historyList"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scrollbars="vertical" />
+ android:id="@+id/historyList"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scrollbars="vertical" />
<TextView
- android:id="@+id/historyEmptyState"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:text="@string/history_empty"
- android:visibility="invisible"
- tools:visibility="visible" />
+ android:id="@+id/historyEmptyState"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:text="@string/history_empty"
+ android:visibility="invisible"
+ tools:visibility="visible" />
<ProgressBar
- android:id="@+id/historyProgressBar"
- style="?android:progressBarStyleLarge"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:visibility="invisible"
- tools:visibility="visible" />
+ android:id="@+id/historyProgressBar"
+ style="?android:progressBarStyleLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:visibility="invisible"
+ tools:visibility="visible" />
</FrameLayout>
diff --git a/wallet/src/main/res/layout/fragment_withdraw_successful.xml
b/wallet/src/main/res/layout/fragment_withdraw_successful.xml
index 2b7c308..a422492 100644
--- a/wallet/src/main/res/layout/fragment_withdraw_successful.xml
+++ b/wallet/src/main/res/layout/fragment_withdraw_successful.xml
@@ -15,49 +15,49 @@
-->
<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=".withdraw.WithdrawSuccessfulFragment">
+ 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=".withdraw.WithdrawSuccessfulFragment">
<TextView
- android:id="@+id/withdrawHeadlineView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="16dp"
- android:gravity="center_horizontal|bottom"
- android:text="@string/withdraw_accepted"
- android:textColor="@color/green"
- app:autoSizeMaxTextSize="40sp"
- app:autoSizeTextType="uniform"
- app:layout_constraintBottom_toTopOf="@+id/withdrawInfoView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/withdrawHeadlineView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="16dp"
+ android:gravity="center_horizontal|bottom"
+ android:text="@string/withdraw_accepted"
+ android:textColor="@color/green"
+ app:autoSizeMaxTextSize="40sp"
+ app:autoSizeTextType="uniform"
+ app:layout_constraintBottom_toTopOf="@+id/withdrawInfoView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<TextView
- android:id="@+id/withdrawInfoView"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_margin="16dp"
- android:text="@string/withdraw_success_info"
- android:textAlignment="center"
- android:textAppearance="@style/TextAppearance.AppCompat.Medium"
- app:layout_constraintBottom_toTopOf="@+id/backButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/withdrawHeadlineView" />
+ android:id="@+id/withdrawInfoView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_margin="16dp"
+ android:text="@string/withdraw_success_info"
+ android:textAlignment="center"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ app:layout_constraintBottom_toTopOf="@+id/backButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/withdrawHeadlineView" />
<Button
- android:id="@+id/backButton"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="@string/button_continue"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/withdrawInfoView" />
+ android:id="@+id/backButton"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:text="@string/button_continue"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/withdrawInfoView" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/history_payment.xml
b/wallet/src/main/res/layout/history_payment.xml
index dd135e7..3839038 100644
--- a/wallet/src/main/res/layout/history_payment.xml
+++ b/wallet/src/main/res/layout/history_payment.xml
@@ -15,73 +15,73 @@
-->
<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="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="16dp"
- android:layout_marginBottom="8dp"
- android:background="?attr/selectableItemBackground">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginBottom="8dp"
+ android:background="?attr/selectableItemBackground">
<ImageView
- android:id="@+id/icon"
- android:layout_width="32dp"
- android:layout_height="32dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/history_withdrawn"
- app:tint="?android:colorControlNormal"
- tools:ignore="ContentDescription" />
+ android:id="@+id/icon"
+ android:layout_width="32dp"
+ android:layout_height="32dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:srcCompat="@drawable/history_withdrawn"
+ app:tint="?android:colorControlNormal"
+ tools:ignore="ContentDescription" />
<TextView
- android:id="@+id/title"
- style="@style/HistoryTitle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- app:layout_constraintEnd_toStartOf="@+id/amountPaidWithFees"
- app:layout_constraintStart_toEndOf="@+id/icon"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Lots of books with very long titles" />
+ android:id="@+id/title"
+ style="@style/HistoryTitle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
+ app:layout_constraintEnd_toStartOf="@+id/amountPaidWithFees"
+ app:layout_constraintStart_toEndOf="@+id/icon"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="Lots of books with very long titles" />
<TextView
- android:id="@+id/summary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- app:layout_constrainedWidth="true"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/amountPaidWithFees"
- app:layout_constraintHorizontal_bias="0.0"
- app:layout_constraintStart_toEndOf="@+id/icon"
- app:layout_constraintTop_toBottomOf="@+id/title"
- app:layout_constraintVertical_bias="0.0"
- tools:text="@string/history_event_payment_sent" />
+ android:id="@+id/summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/amountPaidWithFees"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toEndOf="@+id/icon"
+ app:layout_constraintTop_toBottomOf="@+id/title"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="@string/history_event_payment_sent" />
<TextView
- android:id="@+id/amountPaidWithFees"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@color/red"
- android:textSize="16sp"
- app:layout_constraintBottom_toTopOf="@+id/time"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="0.2 TESTKUDOS" />
+ android:id="@+id/amountPaidWithFees"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/red"
+ android:textSize="16sp"
+ app:layout_constraintBottom_toTopOf="@+id/time"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="0.2 TESTKUDOS" />
<TextView
- android:id="@+id/time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="14sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- tools:text="23 min ago" />
+ android:id="@+id/time"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ tools:text="23 min ago" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/history_receive.xml
b/wallet/src/main/res/layout/history_receive.xml
index 1f76376..def97a2 100644
--- a/wallet/src/main/res/layout/history_receive.xml
+++ b/wallet/src/main/res/layout/history_receive.xml
@@ -15,91 +15,91 @@
-->
<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="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="16dp"
- android:layout_marginBottom="8dp"
- android:background="?attr/selectableItemBackground">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginBottom="8dp"
+ android:background="?attr/selectableItemBackground">
<ImageView
- android:id="@+id/icon"
- android:layout_width="32dp"
- android:layout_height="32dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/history_withdrawn"
- app:tint="?android:colorControlNormal"
- tools:ignore="ContentDescription" />
+ android:id="@+id/icon"
+ android:layout_width="32dp"
+ android:layout_height="32dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:srcCompat="@drawable/history_withdrawn"
+ app:tint="?android:colorControlNormal"
+ tools:ignore="ContentDescription" />
<TextView
- android:id="@+id/title"
- style="@style/HistoryTitle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- android:text="@string/history_event_withdrawn"
- app:layout_constraintEnd_toStartOf="@+id/amountWithdrawn"
- app:layout_constraintStart_toEndOf="@+id/icon"
- app:layout_constraintTop_toTopOf="parent" />
+ android:id="@+id/title"
+ style="@style/HistoryTitle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
+ android:text="@string/history_event_withdrawn"
+ app:layout_constraintEnd_toStartOf="@+id/amountWithdrawn"
+ app:layout_constraintStart_toEndOf="@+id/icon"
+ app:layout_constraintTop_toTopOf="parent" />
<TextView
- android:id="@+id/summary"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:layout_marginBottom="8dp"
- app:layout_constrainedWidth="true"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/feeLabel"
- app:layout_constraintStart_toEndOf="@+id/icon"
- app:layout_constraintTop_toBottomOf="@+id/title"
- tools:text="http://taler.quite-long-exchange.url" />
+ android:id="@+id/summary"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginBottom="8dp"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/feeLabel"
+ app:layout_constraintStart_toEndOf="@+id/icon"
+ app:layout_constraintTop_toBottomOf="@+id/title"
+ tools:text="http://taler.quite-long-exchange.url" />
<TextView
- android:id="@+id/feeLabel"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="2dp"
- android:text="@string/history_fee_label"
- app:layout_constraintEnd_toStartOf="@+id/fee"
- app:layout_constraintTop_toTopOf="@+id/fee" />
+ android:id="@+id/feeLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="2dp"
+ android:text="@string/history_fee_label"
+ app:layout_constraintEnd_toStartOf="@+id/fee"
+ app:layout_constraintTop_toTopOf="@+id/fee" />
<TextView
- android:id="@+id/fee"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@color/red"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/amountWithdrawn"
- tools:text="0.2 TESTKUDOS" />
+ android:id="@+id/fee"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/red"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/amountWithdrawn"
+ tools:text="0.2 TESTKUDOS" />
<TextView
- android:id="@+id/amountWithdrawn"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@color/green"
- android:textSize="16sp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="10 TESTKUDOS" />
+ android:id="@+id/amountWithdrawn"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/green"
+ android:textSize="16sp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="10 TESTKUDOS" />
<TextView
- android:id="@+id/time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:textSize="14sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/fee"
- tools:text="23 min. ago" />
+ android:id="@+id/time"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:textSize="14sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/fee"
+ tools:text="23 min. ago" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/history_row.xml
b/wallet/src/main/res/layout/history_row.xml
index 8f0db1f..2982008 100644
--- a/wallet/src/main/res/layout/history_row.xml
+++ b/wallet/src/main/res/layout/history_row.xml
@@ -15,59 +15,59 @@
-->
<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="wrap_content"
- android:layout_margin="15dp"
- android:background="?attr/selectableItemBackground">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="15dp"
+ android:background="?attr/selectableItemBackground">
<ImageView
- android:id="@+id/icon"
- android:layout_width="32dp"
- android:layout_height="32dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/ic_account_balance"
- app:tint="?android:colorControlNormal"
- tools:ignore="ContentDescription" />
+ android:id="@+id/icon"
+ android:layout_width="32dp"
+ android:layout_height="32dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:srcCompat="@drawable/ic_account_balance"
+ app:tint="?android:colorControlNormal"
+ tools:ignore="ContentDescription" />
<TextView
- android:id="@+id/title"
- style="@style/HistoryTitle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@+id/icon"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_chainStyle="packed"
- tools:text="My History Event" />
+ android:id="@+id/title"
+ style="@style/HistoryTitle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/icon"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="packed"
+ tools:text="My History Event" />
<TextView
- android:id="@+id/info"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/time"
- app:layout_constraintStart_toEndOf="@+id/icon"
- app:layout_constraintTop_toBottomOf="@+id/title"
- tools:text="TextView" />
+ android:id="@+id/info"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="8dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/time"
+ app:layout_constraintStart_toEndOf="@+id/icon"
+ app:layout_constraintTop_toBottomOf="@+id/title"
+ tools:text="TextView" />
<TextView
- android:id="@+id/time"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:gravity="end"
- android:textSize="14sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/title"
- tools:text="3 days ago" />
+ android:id="@+id/time"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:gravity="end"
+ android:textSize="14sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/title"
+ tools:text="3 days ago" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/wallet/src/main/res/layout/list_item_balance.xml
b/wallet/src/main/res/layout/list_item_balance.xml
index f9c37b7..dc24232 100644
--- a/wallet/src/main/res/layout/list_item_balance.xml
+++ b/wallet/src/main/res/layout/list_item_balance.xml
@@ -15,63 +15,63 @@
-->
<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="wrap_content"
- android:padding="16dp">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="16dp">
<TextView
- android:id="@+id/balance_amount"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
- android:textSize="40sp"
- app:layout_constraintEnd_toStartOf="@+id/balance_currency"
- app:layout_constraintHorizontal_bias="0.0"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="100.50" />
+ android:id="@+id/balance_amount"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="8dp"
+ android:textSize="40sp"
+ app:layout_constraintEnd_toStartOf="@+id/balance_currency"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="100.50" />
<TextView
- android:id="@+id/balance_currency"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="20sp"
- app:layout_constraintBottom_toBottomOf="@+id/balance_amount"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toEndOf="@+id/balance_amount"
- app:layout_constraintTop_toTopOf="@+id/balance_amount"
- tools:text="TESTKUDOS" />
+ android:id="@+id/balance_currency"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ app:layout_constraintBottom_toBottomOf="@+id/balance_amount"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/balance_amount"
+ app:layout_constraintTop_toTopOf="@+id/balance_amount"
+ tools:text="TESTKUDOS" />
<TextView
- android:id="@+id/balanceInboundAmount"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@color/green"
- android:textSize="20sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/balanceInboundLabel"
- app:layout_constraintHorizontal_bias="0.0"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/balance_amount"
- tools:text="+10 TESTKUDOS"
- tools:visibility="visible" />
+ android:id="@+id/balanceInboundAmount"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/green"
+ android:textSize="20sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/balanceInboundLabel"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/balance_amount"
+ tools:text="+10 TESTKUDOS"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/balanceInboundLabel"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:text="@string/balances_inbound_label"
- android:textColor="@color/green"
- app:layout_constraintBottom_toBottomOf="@+id/balanceInboundAmount"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@+id/balanceInboundAmount"
- app:layout_constraintTop_toTopOf="@+id/balanceInboundAmount"
- tools:visibility="visible" />
+ android:id="@+id/balanceInboundLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:text="@string/balances_inbound_label"
+ android:textColor="@color/green"
+ app:layout_constraintBottom_toBottomOf="@+id/balanceInboundAmount"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/balanceInboundAmount"
+ app:layout_constraintTop_toTopOf="@+id/balanceInboundAmount"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/list_item_product.xml
b/wallet/src/main/res/layout/list_item_product.xml
index fe6ba23..4ff12d9 100644
--- a/wallet/src/main/res/layout/list_item_product.xml
+++ b/wallet/src/main/res/layout/list_item_product.xml
@@ -15,61 +15,61 @@
-->
<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="wrap_content"
- android:padding="8dp">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="8dp">
<TextView
- android:id="@+id/quantity"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:gravity="end"
- android:minWidth="24dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="31" />
+ android:id="@+id/quantity"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:gravity="end"
+ android:minWidth="24dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="31" />
<ImageView
- android:id="@+id/image"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- android:layout_marginStart="8dp"
- app:layout_constrainedWidth="true"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintDimensionRatio="H,4:3"
- app:layout_constraintEnd_toStartOf="@+id/name"
- app:layout_constraintStart_toEndOf="@+id/quantity"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintWidth_max="64dp"
- tools:ignore="ContentDescription"
- tools:srcCompat="@tools:sample/avatars"
- tools:visibility="visible" />
+ android:id="@+id/image"
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ android:layout_marginStart="8dp"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintDimensionRatio="H,4:3"
+ app:layout_constraintEnd_toStartOf="@+id/name"
+ app:layout_constraintStart_toEndOf="@+id/quantity"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_max="64dp"
+ tools:ignore="ContentDescription"
+ tools:srcCompat="@tools:sample/avatars"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/name"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/price"
- app:layout_constraintStart_toEndOf="@+id/image"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="A product item that in some cases could have a very
long name" />
+ android:id="@+id/name"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/price"
+ app:layout_constraintStart_toEndOf="@+id/image"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="A product item that in some cases could have a very long
name" />
<TextView
- android:id="@+id/price"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="23.42" />
+ android:id="@+id/price"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="23.42" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/list_item_product_single.xml
b/wallet/src/main/res/layout/list_item_product_single.xml
index a08f1f8..6f0f79f 100644
--- a/wallet/src/main/res/layout/list_item_product_single.xml
+++ b/wallet/src/main/res/layout/list_item_product_single.xml
@@ -15,64 +15,64 @@
-->
<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="wrap_content"
- android:padding="8dp">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="8dp">
<TextView
- android:id="@+id/quantity"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="gone"
- app:layout_constraintEnd_toStartOf="@+id/name"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="31" />
+ android:id="@+id/quantity"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ app:layout_constraintEnd_toStartOf="@+id/name"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="31" />
<ImageView
- android:id="@+id/image"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/name"
- tools:ignore="ContentDescription"
- tools:srcCompat="@tools:sample/avatars"
- tools:visibility="visible" />
+ android:id="@+id/image"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/name"
+ tools:ignore="ContentDescription"
+ tools:srcCompat="@tools:sample/avatars"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- android:visibility="gone"
- app:layout_constrainedWidth="true"
- app:layout_constraintBottom_toTopOf="@+id/image"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/price"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toEndOf="@+id/quantity"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_goneMarginEnd="0dp"
- tools:text="A product item that can have a very long name that
wraps over two lines" />
+ android:id="@+id/name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
+ android:visibility="gone"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintBottom_toTopOf="@+id/image"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/price"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/quantity"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_goneMarginEnd="0dp"
+ tools:text="A product item that can have a very long name that wraps
over two lines" />
<TextView
- android:id="@+id/price"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="gone"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="23.42" />
+ android:id="@+id/price"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="23.42" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/payment_bottom_bar.xml
b/wallet/src/main/res/layout/payment_bottom_bar.xml
index 8fdf0f8..c17068e 100644
--- a/wallet/src/main/res/layout/payment_bottom_bar.xml
+++ b/wallet/src/main/res/layout/payment_bottom_bar.xml
@@ -15,108 +15,108 @@
-->
<com.google.android.material.card.MaterialCardView
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"
- style="@style/BottomCard"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- tools:showIn="@layout/fragment_prompt_payment">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ style="@style/BottomCard"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ tools:showIn="@layout/fragment_prompt_payment">
<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
<TextView
- android:id="@+id/totalLabelView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginBottom="8dp"
- android:text="@string/payment_label_amount_total"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/abortButton"
- app:layout_constraintEnd_toStartOf="@+id/totalView"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:visibility="visible" />
+ android:id="@+id/totalLabelView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
+ android:text="@string/payment_label_amount_total"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/abortButton"
+ app:layout_constraintEnd_toStartOf="@+id/totalView"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/totalView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:textColor="?android:attr/textColorPrimary"
- android:textStyle="bold"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/feeView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toEndOf="@+id/totalLabelView"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
- tools:text="10 TESTKUDOS"
- tools:visibility="visible" />
+ android:id="@+id/totalView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="8dp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:textStyle="bold"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/feeView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toEndOf="@+id/totalLabelView"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0"
+ tools:text="10 TESTKUDOS"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/feeView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
- android:visibility="gone"
- app:layout_constraintBottom_toTopOf="@+id/confirmButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/totalView"
- tools:text="@string/payment_fee"
- tools:visibility="visible" />
+ android:id="@+id/feeView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
+ android:visibility="gone"
+ app:layout_constraintBottom_toTopOf="@+id/confirmButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/totalView"
+ tools:text="@string/payment_fee"
+ tools:visibility="visible" />
<Button
- android:id="@+id/abortButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:backgroundTint="@color/red"
- android:text="@string/payment_button_abort"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/confirmButton"
- app:layout_constraintHorizontal_chainStyle="spread_inside"
- app:layout_constraintStart_toStartOf="parent" />
+ android:id="@+id/abortButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:backgroundTint="@color/red"
+ android:text="@string/payment_button_abort"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/confirmButton"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent" />
<Button
- android:id="@+id/confirmButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:backgroundTint="@color/green"
- android:enabled="false"
- android:text="@string/payment_button_confirm"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toEndOf="@+id/abortButton"
- app:layout_constraintTop_toBottomOf="@+id/feeView"
- tools:enabled="true" />
+ android:id="@+id/confirmButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:backgroundTint="@color/green"
+ android:enabled="false"
+ android:text="@string/payment_button_confirm"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/abortButton"
+ app:layout_constraintTop_toBottomOf="@+id/feeView"
+ tools:enabled="true" />
<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/confirmButton"
- app:layout_constraintEnd_toEndOf="@+id/confirmButton"
- app:layout_constraintStart_toStartOf="@+id/confirmButton"
- app:layout_constraintTop_toTopOf="@+id/confirmButton"
- tools:visibility="visible" />
+ 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/confirmButton"
+ app:layout_constraintEnd_toEndOf="@+id/confirmButton"
+ app:layout_constraintStart_toStartOf="@+id/confirmButton"
+ app:layout_constraintTop_toTopOf="@+id/confirmButton"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/payment_details.xml
b/wallet/src/main/res/layout/payment_details.xml
index 50c027a..643974e 100644
--- a/wallet/src/main/res/layout/payment_details.xml
+++ b/wallet/src/main/res/layout/payment_details.xml
@@ -15,104 +15,104 @@
-->
<ScrollView 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="0dp"
- android:layout_height="0dp"
- android:fillViewport="true"
- tools:showIn="@layout/fragment_prompt_payment">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:fillViewport="true"
+ tools:showIn="@layout/fragment_prompt_payment">
<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
<TextView
- android:id="@+id/errorView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:textAlignment="center"
- android:textColor="@android:color/holo_red_dark"
- android:textSize="22sp"
- android:visibility="gone"
- app:layout_constraintBottom_toTopOf="@+id/orderLabelView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_chainStyle="packed"
- tools:text="@string/payment_balance_insufficient"
- tools:visibility="visible" />
+ android:id="@+id/errorView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:textAlignment="center"
+ android:textColor="@android:color/holo_red_dark"
+ android:textSize="22sp"
+ android:visibility="gone"
+ app:layout_constraintBottom_toTopOf="@+id/orderLabelView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="packed"
+ tools:text="@string/payment_balance_insufficient"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/orderLabelView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="16dp"
- android:layout_marginEnd="16dp"
- android:text="@string/payment_label_order_summary"
- android:textAlignment="center"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/orderView"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/errorView"
- tools:visibility="visible" />
+ android:id="@+id/orderLabelView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="16dp"
+ android:text="@string/payment_label_order_summary"
+ android:textAlignment="center"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/orderView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/errorView"
+ tools:visibility="visible" />
<TextView
- android:id="@+id/orderView"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:layout_marginTop="16dp"
- android:textAlignment="center"
-
android:textAppearance="@style/TextAppearance.AppCompat.Headline"
- android:textSize="25sp"
- android:visibility="invisible"
- app:layout_constraintBottom_toTopOf="@+id/detailsButton"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/orderLabelView"
- tools:text="2 x Cappuccino, 1 x Hot Meals, 1 x Dessert"
- tools:visibility="visible" />
+ android:id="@+id/orderView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:layout_marginTop="16dp"
+ android:textAlignment="center"
+ android:textAppearance="@style/TextAppearance.AppCompat.Headline"
+ android:textSize="25sp"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toTopOf="@+id/detailsButton"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/orderLabelView"
+ tools:text="2 x Cappuccino, 1 x Hot Meals, 1 x Dessert"
+ tools:visibility="visible" />
<Button
- android:id="@+id/detailsButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/payment_show_details"
- android:visibility="gone"
- app:layout_constraintBottom_toTopOf="@+id/productsList"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/orderView"
- tools:visibility="visible" />
+ android:id="@+id/detailsButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/payment_show_details"
+ android:visibility="gone"
+ app:layout_constraintBottom_toTopOf="@+id/productsList"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/orderView"
+ tools:visibility="visible" />
<androidx.recyclerview.widget.RecyclerView
- android:id="@+id/productsList"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:visibility="gone"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/detailsButton"
- tools:listitem="@layout/list_item_product"
- tools:visibility="visible" />
+ android:id="@+id/productsList"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/detailsButton"
+ tools:listitem="@layout/list_item_product"
+ tools:visibility="visible" />
<ProgressBar
- android:id="@+id/progressBar"
- style="?android:attr/progressBarStyleLarge"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:indeterminate="false"
- android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:visibility="visible" />
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyleLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:indeterminate="false"
+ android:visibility="invisible"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/wallet/src/main/res/layout/pending_row.xml
b/wallet/src/main/res/layout/pending_row.xml
index 3505398..bd606c3 100644
--- a/wallet/src/main/res/layout/pending_row.xml
+++ b/wallet/src/main/res/layout/pending_row.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,33 +15,33 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/pending_container"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="3dp"
- android:padding="3dp"
- android:background="@drawable/pending_border"
- android:orientation="vertical">
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/pending_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="3dp"
+ android:background="@drawable/pending_border"
+ android:orientation="vertical"
+ android:padding="3dp">
<TextView
- android:id="@+id/pending_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="24sp"
- tools:text="My Pending Operation" />
+ android:id="@+id/pending_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ tools:text="My Pending Operation" />
<Button
- android:id="@+id/button_pending_action_1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- tools:text="Cancel Operation" />
+ android:id="@+id/button_pending_action_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ tools:text="Cancel Operation" />
<TextView
- android:id="@+id/pending_subtext"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="14sp"
- tools:text="My further details" />
+ android:id="@+id/pending_subtext"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ tools:text="My further details" />
</LinearLayout>
\ No newline at end of file
diff --git a/wallet/src/main/res/menu/activity_main_drawer.xml
b/wallet/src/main/res/menu/activity_main_drawer.xml
index 5eee6cc..49119f8 100644
--- a/wallet/src/main/res/menu/activity_main_drawer.xml
+++ b/wallet/src/main/res/menu/activity_main_drawer.xml
@@ -15,27 +15,27 @@
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- tools:showIn="@layout/activity_main">
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:showIn="@layout/activity_main">
<group android:checkableBehavior="single">
<item
- android:id="@+id/nav_home"
- android:icon="@drawable/ic_account_balance_wallet"
- android:title="@string/balances_title"
- tools:checked="true" />
+ android:id="@+id/nav_home"
+ android:icon="@drawable/ic_account_balance_wallet"
+ android:title="@string/balances_title"
+ tools:checked="true" />
<item
- android:id="@+id/nav_history"
- android:icon="@drawable/ic_history_black_24dp"
- android:title="@string/menu_history" />
+ android:id="@+id/nav_history"
+ android:icon="@drawable/ic_history_black_24dp"
+ android:title="@string/menu_history" />
<item
- android:id="@+id/nav_settings"
- android:icon="@drawable/ic_settings"
- android:title="@string/menu_settings" />
+ android:id="@+id/nav_settings"
+ android:icon="@drawable/ic_settings"
+ android:title="@string/menu_settings" />
<item
- android:id="@+id/nav_pending_operations"
- android:icon="@drawable/ic_sync"
- android:title="@string/pending_operations_title" />
+ android:id="@+id/nav_pending_operations"
+ android:icon="@drawable/ic_sync"
+ android:title="@string/pending_operations_title" />
</group>
</menu>
diff --git a/wallet/src/main/res/menu/balance.xml
b/wallet/src/main/res/menu/balance.xml
index 7ac3a9f..1685526 100644
--- a/wallet/src/main/res/menu/balance.xml
+++ b/wallet/src/main/res/menu/balance.xml
@@ -15,14 +15,14 @@
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<item
- android:id="@+id/reload_balance"
- android:title="@string/menu_balance_reload"
- app:showAsAction="never" />
+ android:id="@+id/reload_balance"
+ android:title="@string/menu_balance_reload"
+ app:showAsAction="never" />
<item
- android:id="@+id/developer_mode"
- android:checkable="true"
- android:title="@string/menu_developer_mode"
- app:showAsAction="never" />
+ android:id="@+id/developer_mode"
+ android:checkable="true"
+ android:title="@string/menu_developer_mode"
+ app:showAsAction="never" />
</menu>
diff --git a/wallet/src/main/res/menu/history.xml
b/wallet/src/main/res/menu/history.xml
index 755323b..bd50f5d 100644
--- a/wallet/src/main/res/menu/history.xml
+++ b/wallet/src/main/res/menu/history.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,16 +15,16 @@
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<item
- android:id="@+id/show_all_history"
- android:checkable="true"
- android:checked="false"
- android:title="@string/history_show_all"
- app:showAsAction="never" />
+ android:id="@+id/show_all_history"
+ android:checkable="true"
+ android:checked="false"
+ android:title="@string/history_show_all"
+ app:showAsAction="never" />
<item
- android:id="@+id/reload_history"
- android:orderInCategory="100"
- android:title="@string/history_reload"
- app:showAsAction="never" />
+ android:id="@+id/reload_history"
+ android:orderInCategory="100"
+ android:title="@string/history_reload"
+ app:showAsAction="never" />
</menu>
diff --git a/wallet/src/main/res/menu/pending_operations.xml
b/wallet/src/main/res/menu/pending_operations.xml
index 980ea66..b632021 100644
--- a/wallet/src/main/res/menu/pending_operations.xml
+++ b/wallet/src/main/res/menu/pending_operations.xml
@@ -15,10 +15,10 @@
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<item
- android:id="@+id/retry_pending"
- android:orderInCategory="100"
- android:title="@string/menu_retry_pending_operations"
- app:showAsAction="never" />
+ android:id="@+id/retry_pending"
+ android:orderInCategory="100"
+ android:title="@string/menu_retry_pending_operations"
+ app:showAsAction="never" />
</menu>
diff --git a/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
b/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index 7acad4e..52dfeb8 100644
--- a/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,6 +15,6 @@
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@color/ic_launcher_background"/>
- <foreground android:drawable="@drawable/ic_launcher_foreground"/>
+ <background android:drawable="@color/ic_launcher_background" />
+ <foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
diff --git a/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
b/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
index 7acad4e..52dfeb8 100644
--- a/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ b/wallet/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,6 +15,6 @@
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@color/ic_launcher_background"/>
- <foreground android:drawable="@drawable/ic_launcher_foreground"/>
+ <background android:drawable="@color/ic_launcher_background" />
+ <foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
diff --git a/wallet/src/main/res/navigation/nav_graph.xml
b/wallet/src/main/res/navigation/nav_graph.xml
index e1367ae..39aa182 100644
--- a/wallet/src/main/res/navigation/nav_graph.xml
+++ b/wallet/src/main/res/navigation/nav_graph.xml
@@ -15,111 +15,111 @@
-->
<navigation 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:id="@+id/nav_graph"
- app:startDestination="@id/showBalance"
- tools:ignore="UnusedNavigation">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/nav_graph"
+ app:startDestination="@id/showBalance"
+ tools:ignore="UnusedNavigation">
<fragment
- android:id="@+id/showBalance"
- android:name="net.taler.wallet.BalanceFragment"
- android:label="@string/balances_title"
- tools:layout="@layout/fragment_show_balance">
+ android:id="@+id/showBalance"
+ android:name="net.taler.wallet.BalanceFragment"
+ android:label="@string/balances_title"
+ tools:layout="@layout/fragment_show_balance">
<action
- android:id="@+id/action_showBalance_to_promptPayment"
- app:destination="@id/promptPayment" />
+ android:id="@+id/action_showBalance_to_promptPayment"
+ app:destination="@id/promptPayment" />
<action
- android:id="@+id/action_showBalance_to_promptWithdraw"
- app:destination="@id/promptWithdraw" />
+ android:id="@+id/action_showBalance_to_promptWithdraw"
+ app:destination="@id/promptWithdraw" />
</fragment>
<fragment
- android:id="@+id/promptPayment"
- android:name="net.taler.wallet.payment.PromptPaymentFragment"
- android:label="Review Payment"
- tools:layout="@layout/fragment_prompt_payment">
+ android:id="@+id/promptPayment"
+ android:name="net.taler.wallet.payment.PromptPaymentFragment"
+ android:label="Review Payment"
+ tools:layout="@layout/fragment_prompt_payment">
<action
- android:id="@+id/action_promptPayment_to_paymentSuccessful"
- app:destination="@id/paymentSuccessful"
- app:popUpTo="@id/showBalance" />
+ android:id="@+id/action_promptPayment_to_paymentSuccessful"
+ app:destination="@id/paymentSuccessful"
+ app:popUpTo="@id/showBalance" />
<action
- android:id="@+id/action_promptPayment_to_alreadyPaid"
- app:destination="@id/alreadyPaid"
- app:popUpTo="@id/showBalance" />
+ android:id="@+id/action_promptPayment_to_alreadyPaid"
+ app:destination="@id/alreadyPaid"
+ app:popUpTo="@id/showBalance" />
</fragment>
<fragment
- android:id="@+id/paymentSuccessful"
- android:name="net.taler.wallet.payment.PaymentSuccessfulFragment"
- android:label="Payment Successful"
- tools:layout="@layout/fragment_payment_successful" />
+ android:id="@+id/paymentSuccessful"
+ android:name="net.taler.wallet.payment.PaymentSuccessfulFragment"
+ android:label="Payment Successful"
+ tools:layout="@layout/fragment_payment_successful" />
<fragment
- android:id="@+id/settings"
- android:name="net.taler.wallet.Settings"
- android:label="Settings"
- tools:layout="@layout/fragment_settings" />
+ android:id="@+id/settings"
+ android:name="net.taler.wallet.Settings"
+ android:label="Settings"
+ tools:layout="@layout/fragment_settings" />
<fragment
- android:id="@+id/walletHistory"
- android:name="net.taler.wallet.history.HistoryFragment"
- android:label="@string/history_title"
- tools:layout="@layout/fragment_show_history" />
+ android:id="@+id/walletHistory"
+ android:name="net.taler.wallet.history.HistoryFragment"
+ android:label="@string/history_title"
+ tools:layout="@layout/fragment_show_history" />
<fragment
- android:id="@+id/alreadyPaid"
- android:name="net.taler.wallet.payment.AlreadyPaidFragment"
- android:label="Already Paid"
- tools:layout="@layout/fragment_already_paid" />
+ android:id="@+id/alreadyPaid"
+ android:name="net.taler.wallet.payment.AlreadyPaidFragment"
+ android:label="Already Paid"
+ tools:layout="@layout/fragment_already_paid" />
<fragment
- android:id="@+id/promptWithdraw"
- android:name="net.taler.wallet.withdraw.PromptWithdrawFragment"
- android:label="@string/nav_prompt_withdraw"
- tools:layout="@layout/fragment_prompt_withdraw">
+ android:id="@+id/promptWithdraw"
+ android:name="net.taler.wallet.withdraw.PromptWithdrawFragment"
+ android:label="@string/nav_prompt_withdraw"
+ tools:layout="@layout/fragment_prompt_withdraw">
<action
- android:id="@+id/action_promptWithdraw_to_withdrawSuccessful"
- app:destination="@id/withdrawSuccessful"
- app:popUpTo="@id/showBalance" />
+ android:id="@+id/action_promptWithdraw_to_withdrawSuccessful"
+ app:destination="@id/withdrawSuccessful"
+ app:popUpTo="@id/showBalance" />
<action
- android:id="@+id/action_promptWithdraw_to_reviewExchangeTOS"
- app:destination="@id/reviewExchangeTOS"
- app:popUpTo="@id/showBalance" />
+ android:id="@+id/action_promptWithdraw_to_reviewExchangeTOS"
+ app:destination="@id/reviewExchangeTOS"
+ app:popUpTo="@id/showBalance" />
<action
- android:id="@+id/action_promptWithdraw_to_errorFragment"
- app:destination="@id/errorFragment"
- app:popUpTo="@id/showBalance" />
+ android:id="@+id/action_promptWithdraw_to_errorFragment"
+ app:destination="@id/errorFragment"
+ app:popUpTo="@id/showBalance" />
</fragment>
<fragment
- android:id="@+id/withdrawSuccessful"
- android:name="net.taler.wallet.withdraw.WithdrawSuccessfulFragment"
- android:label="Withdrawal Confirmed"
- tools:layout="@layout/fragment_withdraw_successful" />
+ android:id="@+id/withdrawSuccessful"
+ android:name="net.taler.wallet.withdraw.WithdrawSuccessfulFragment"
+ android:label="Withdrawal Confirmed"
+ tools:layout="@layout/fragment_withdraw_successful" />
<fragment
- android:id="@+id/reviewExchangeTOS"
- android:name="net.taler.wallet.withdraw.ReviewExchangeTosFragment"
- android:label="@string/nav_exchange_tos"
- tools:layout="@layout/fragment_review_exchange_tos">
+ android:id="@+id/reviewExchangeTOS"
+ android:name="net.taler.wallet.withdraw.ReviewExchangeTosFragment"
+ android:label="@string/nav_exchange_tos"
+ tools:layout="@layout/fragment_review_exchange_tos">
<action
- android:id="@+id/action_reviewExchangeTOS_to_promptWithdraw"
- app:destination="@id/promptWithdraw"
- app:popUpTo="@id/showBalance" />
+ android:id="@+id/action_reviewExchangeTOS_to_promptWithdraw"
+ app:destination="@id/promptWithdraw"
+ app:popUpTo="@id/showBalance" />
</fragment>
<fragment
- android:id="@+id/nav_pending_operations"
- android:name="net.taler.wallet.pending.PendingOperationsFragment"
- android:label="Pending Operations"
- tools:layout="@layout/fragment_pending_operations" />
+ android:id="@+id/nav_pending_operations"
+ android:name="net.taler.wallet.pending.PendingOperationsFragment"
+ android:label="Pending Operations"
+ tools:layout="@layout/fragment_pending_operations" />
<fragment
- android:id="@+id/errorFragment"
- android:name="net.taler.wallet.withdraw.ErrorFragment"
- android:label="@string/nav_error"
- tools:layout="@layout/fragment_error" />
+ android:id="@+id/errorFragment"
+ android:name="net.taler.wallet.withdraw.ErrorFragment"
+ android:label="@string/nav_error"
+ tools:layout="@layout/fragment_error" />
<action
- android:id="@+id/action_global_promptPayment"
- app:destination="@id/promptPayment" />
+ android:id="@+id/action_global_promptPayment"
+ app:destination="@id/promptPayment" />
<action
- android:id="@+id/action_global_pending_operations"
- app:destination="@id/nav_pending_operations" />
+ android:id="@+id/action_global_pending_operations"
+ app:destination="@id/nav_pending_operations" />
</navigation>
\ No newline at end of file
diff --git a/wallet/src/main/res/values/colors.xml
b/wallet/src/main/res/values/colors.xml
index 2d1f0d7..a6b1731 100644
--- a/wallet/src/main/res/values/colors.xml
+++ b/wallet/src/main/res/values/colors.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
diff --git a/wallet/src/main/res/values/ic_launcher_background.xml
b/wallet/src/main/res/values/ic_launcher_background.xml
index 758b965..f35a21b 100644
--- a/wallet/src/main/res/values/ic_launcher_background.xml
+++ b/wallet/src/main/res/values/ic_launcher_background.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
diff --git a/wallet/src/main/res/values/strings.xml
b/wallet/src/main/res/values/strings.xml
index 04a507b..6bc073f 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -102,4 +102,7 @@
<string name="settings_developer">Developer Settings (use with
caution!)</string>
<string name="settings_reset">Reset Wallet (dangerous!)</string>
+ <string name="refund_error">Error processing refund</string>
+ <string name="refund_success">Refund received</string>
+
</resources>
diff --git a/wallet/src/main/res/xml/apduservice.xml
b/wallet/src/main/res/xml/apduservice.xml
index fde348c..52877d6 100644
--- a/wallet/src/main/res/xml/apduservice.xml
+++ b/wallet/src/main/res/xml/apduservice.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
@@ -16,10 +15,11 @@
-->
<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
- android:description="@string/servicedesc"
- android:requireDeviceUnlock="true">
- <aid-group android:description="@string/aiddescription"
- android:category="other">
- <aid-filter android:name="F00054414C4552"/>
+ android:description="@string/servicedesc"
+ android:requireDeviceUnlock="true">
+ <aid-group
+ android:category="other"
+ android:description="@string/aiddescription">
+ <aid-filter android:name="F00054414C4552" />
</aid-group>
</host-apdu-service>
\ No newline at end of file
diff --git a/wallet/src/main/res/xml/backup_descriptor.xml
b/wallet/src/main/res/xml/backup_descriptor.xml
index 731d404..e688811 100644
--- a/wallet/src/main/res/xml/backup_descriptor.xml
+++ b/wallet/src/main/res/xml/backup_descriptor.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ This file is part of GNU Taler
~ (C) 2020 Taler Systems S.A.
~
diff --git
a/wallet/src/test/java/net/taler/wallet/crypto/Base32CrockfordTest.kt
b/wallet/src/test/java/net/taler/wallet/crypto/Base32CrockfordTest.kt
index 7c8cb4c..30332fc 100644
--- a/wallet/src/test/java/net/taler/wallet/crypto/Base32CrockfordTest.kt
+++ b/wallet/src/test/java/net/taler/wallet/crypto/Base32CrockfordTest.kt
@@ -29,7 +29,8 @@ class Base32CrockfordTest {
val recoveredInputStr = dec.toString(Charsets.UTF_8)
println(recoveredInputStr)
- val foo =
Base32Crockford.decode("51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30H2365338E9G6RT4AH1N6H13EGHR70RK6H1S6X2M4CSP8CSK8E1G88VKJH25610KGCHR8RWM4DJ47123CH9K89334D1S8N24ACJ48CR3EH256MR3AH1R711KCE9N6S134GSN6RW46D1H6CV3CDHJ6D0KEDHR6D24CD248MWKADHJ6WT34D25712KCD2474V46EA18H2M4GHM6WTK2E216S14CD238GSK0G9G692KCDHM6RW34CT16MV3CG9P60S34C1G70SMCHHQ8CVKJG9K6CVK6GHK70R46HJ26CR4AE9M8523ADHS8RR3EE1R74S32CHP6N1K0GT38D1M6C1R84TM2E9N8MSK2C1J71248E9H6H1MCD9J70VK4GSG6124CCHR6RS4ADSH8N0M4H1G84
[...]
+ val foo =
+
Base32Crockford.decode("51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30H2365338E9G6RT4AH1N6H13EGHR70RK6H1S6X2M4CSP8CSK8E1G88VKJH25610KGCHR8RWM4DJ47123CH9K89334D1S8N24ACJ48CR3EH256MR3AH1R711KCE9N6S134GSN6RW46D1H6CV3CDHJ6D0KEDHR6D24CD248MWKADHJ6WT34D25712KCD2474V46EA18H2M4GHM6WTK2E216S14CD238GSK0G9G692KCDHM6RW34CT16MV3CG9P60S34C1G70SMCHHQ8CVKJG9K6CVK6GHK70R46HJ26CR4AE9M8523ADHS8RR3EE1R74S32CHP6N1K0GT38D1M6C1R84TM2E9N8MSK2C1J71248E9H6H1MCD9J70VK4GSG6124CCHR6RS4ADSH8N0M4H1G84R4CD1G
[...]
println(foo.toString(Charsets.UTF_8))
}
}
diff --git a/wallet/src/test/java/net/taler/wallet/history/HistoryEventTest.kt
b/wallet/src/test/java/net/taler/wallet/history/HistoryEventTest.kt
index ba18dfb..c9fda3c 100644
--- a/wallet/src/test/java/net/taler/wallet/history/HistoryEventTest.kt
+++ b/wallet/src/test/java/net/taler/wallet/history/HistoryEventTest.kt
@@ -320,7 +320,10 @@ class HistoryEventTest {
}""".trimIndent()
val event: HistoryTipAcceptedEvent = mapper.readValue(json)
-
assertEquals("tip-accepted;898724XGQ1GGMZB4WY3KND582NSP74FZ60BX0Y87FF81H0FJ8XD0",
event.tipId)
+ assertEquals(
+
"tip-accepted;898724XGQ1GGMZB4WY3KND582NSP74FZ60BX0Y87FF81H0FJ8XD0",
+ event.tipId
+ )
assertEquals("KUDOS:4", event.tipRaw)
assertEquals(timestamp, event.timestamp.ms)
}
@@ -338,7 +341,10 @@ class HistoryEventTest {
}""".trimIndent()
val event: HistoryTipDeclinedEvent = mapper.readValue(json)
-
assertEquals("tip-accepted;998724XGQ1GGMZB4WY3KND582NSP74FZ60BX0Y87FF81H0FJ8XD0",
event.tipId)
+ assertEquals(
+
"tip-accepted;998724XGQ1GGMZB4WY3KND582NSP74FZ60BX0Y87FF81H0FJ8XD0",
+ event.tipId
+ )
assertEquals("KUDOS:4", event.tipAmount)
assertEquals(timestamp, event.timestamp.ms)
}
@@ -426,14 +432,29 @@ class HistoryEventTest {
}""".trimIndent()
val event: HistoryOrderRedirectedEvent = mapper.readValue(json)
- assertEquals("898724XGQ1GGMZB4WY3KND582NSP74FZ60BX0Y87FF81H0FJ8XD0",
event.alreadyPaidOrderShortInfo.proposalId)
- assertEquals("https://backend.demo.taler.net/public/instances/FSF/",
event.alreadyPaidOrderShortInfo.merchantBaseUrl)
+ assertEquals(
+ "898724XGQ1GGMZB4WY3KND582NSP74FZ60BX0Y87FF81H0FJ8XD0",
+ event.alreadyPaidOrderShortInfo.proposalId
+ )
+ assertEquals(
+ "https://backend.demo.taler.net/public/instances/FSF/",
+ event.alreadyPaidOrderShortInfo.merchantBaseUrl
+ )
assertEquals("2019.354-01P25CD66P8NG",
event.alreadyPaidOrderShortInfo.orderId)
assertEquals("KUDOS:0.5", event.alreadyPaidOrderShortInfo.amount)
- assertEquals("Essay: 1. The Free Software Definition",
event.alreadyPaidOrderShortInfo.summary)
+ assertEquals(
+ "Essay: 1. The Free Software Definition",
+ event.alreadyPaidOrderShortInfo.summary
+ )
- assertEquals("621J6D5SXG7M17TYA26945DYKNQZPW4600MZ1W8MADA1RRR49F8G",
event.newOrderShortInfo.proposalId)
- assertEquals("https://backend.demo.taler.net/public/instances/FSF/",
event.newOrderShortInfo.merchantBaseUrl)
+ assertEquals(
+ "621J6D5SXG7M17TYA26945DYKNQZPW4600MZ1W8MADA1RRR49F8G",
+ event.newOrderShortInfo.proposalId
+ )
+ assertEquals(
+ "https://backend.demo.taler.net/public/instances/FSF/",
+ event.newOrderShortInfo.merchantBaseUrl
+ )
assertEquals("2019.364-01M4QH6KPMJY4", event.newOrderShortInfo.orderId)
assertEquals("KUDOS:0.5", event.newOrderShortInfo.amount)
assertEquals("Essay: 1. The Free Software Definition",
event.newOrderShortInfo.summary)
--
To stop receiving notification emails like this one, please contact
address@hidden.
- [taler-taler-android] branch master updated (db0cf38 -> 9401b3e),
gnunet <=