gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]