gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-android] 03/04: Add provisional dev mode checkbox to hide


From: gnunet
Subject: [taler-wallet-android] 03/04: Add provisional dev mode checkbox to hide UI elements by default
Date: Thu, 05 Mar 2020 16:49:38 +0100

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository wallet-android.

commit 0a070b2ac1f174c6f962d37a10f521981514b033
Author: Torsten Grote <address@hidden>
AuthorDate: Thu Mar 5 12:39:12 2020 -0300

    Add provisional dev mode checkbox to hide UI elements by default
---
 app/src/main/java/net/taler/wallet/MainActivity.kt      |  6 +++++-
 app/src/main/java/net/taler/wallet/ShowBalance.kt       | 17 +++++++++++++++--
 app/src/main/java/net/taler/wallet/WalletViewModel.kt   | 15 +++++++--------
 .../taler/wallet/pending/PendingOperationsFragment.kt   |  2 +-
 .../taler/wallet/pending/PendingOperationsManager.kt    |  4 ++++
 app/src/main/res/layout/balance_row.xml                 |  2 +-
 app/src/main/res/layout/fragment_show_balance.xml       |  2 +-
 app/src/main/res/menu/balance.xml                       |  6 +++++-
 app/src/main/res/navigation/nav_graph.xml               |  2 +-
 app/src/main/res/values/strings.xml                     |  8 +++++---
 10 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/app/src/main/java/net/taler/wallet/MainActivity.kt 
b/app/src/main/java/net/taler/wallet/MainActivity.kt
index 1cdc9b3..bca5e33 100644
--- a/app/src/main/java/net/taler/wallet/MainActivity.kt
+++ b/app/src/main/java/net/taler/wallet/MainActivity.kt
@@ -69,7 +69,7 @@ class MainActivity : AppCompatActivity(), 
OnNavigationItemSelectedListener,
 
         setSupportActionBar(toolbar)
         val appBarConfiguration = AppBarConfiguration(
-            setOf(R.id.showBalance, R.id.settings, R.id.walletHistory), 
drawer_layout
+            setOf(R.id.showBalance, R.id.settings, R.id.walletHistory, 
R.id.nav_pending_operations), drawer_layout
         )
         toolbar.setupWithNavController(nav, appBarConfiguration)
 
@@ -77,6 +77,10 @@ class MainActivity : AppCompatActivity(), 
OnNavigationItemSelectedListener,
             progress_bar.visibility = if (show) VISIBLE else INVISIBLE
         })
 
+        model.devMode.observe(this, Observer { enabled ->
+            nav_view.menu.findItem(R.id.nav_pending_operations).isVisible = 
enabled
+        })
+
         if (intent.action == ACTION_VIEW) intent.dataString?.let { uri ->
             handleTalerUri(uri, "intent")
         }
diff --git a/app/src/main/java/net/taler/wallet/ShowBalance.kt 
b/app/src/main/java/net/taler/wallet/ShowBalance.kt
index 5448638..71ef87f 100644
--- a/app/src/main/java/net/taler/wallet/ShowBalance.kt
+++ b/app/src/main/java/net/taler/wallet/ShowBalance.kt
@@ -73,10 +73,13 @@ class ShowBalance : Fragment() {
             onBalancesChanged(it)
         })
 
+        model.devMode.observe(viewLifecycleOwner, Observer { enabled ->
+            delayedTransition()
+            testWithdrawButton.visibility = if (enabled) VISIBLE else GONE
+        })
         testWithdrawButton.setOnClickListener {
             withdrawManager.withdrawTestkudos()
         }
-
         withdrawManager.testWithdrawalInProgress.observe(viewLifecycleOwner, 
Observer { loading ->
             Log.v("taler-wallet", "observing balance loading $loading in show 
balance")
             testWithdrawButton.isEnabled = !loading
@@ -103,17 +106,23 @@ class ShowBalance : Fragment() {
                 model.loadBalances()
                 true
             }
+            R.id.developer_mode -> {
+                item.isChecked = !item.isChecked
+                model.devMode.value = item.isChecked
+                true
+            }
             else -> super.onOptionsItemSelected(item)
         }
     }
 
     override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
         inflater.inflate(R.menu.balance, menu)
+        menu.findItem(R.id.developer_mode).isChecked = model.devMode.value!!
         super.onCreateOptionsMenu(menu, inflater)
     }
 
     private fun onBalancesChanged(balances: List<BalanceItem>) {
-        beginDelayedTransition(view as ViewGroup)
+        delayedTransition()
         if (balances.isEmpty()) {
             balancesEmptyState.visibility = VISIBLE
             balancesList.visibility = GONE
@@ -124,6 +133,10 @@ class ShowBalance : Fragment() {
         }
     }
 
+    private fun delayedTransition() {
+        beginDelayedTransition(view as ViewGroup)
+    }
+
 }
 
 class BalanceAdapter : Adapter<BalanceViewHolder>() {
diff --git a/app/src/main/java/net/taler/wallet/WalletViewModel.kt 
b/app/src/main/java/net/taler/wallet/WalletViewModel.kt
index 7baedcf..1126ced 100644
--- a/app/src/main/java/net/taler/wallet/WalletViewModel.kt
+++ b/app/src/main/java/net/taler/wallet/WalletViewModel.kt
@@ -52,6 +52,8 @@ class WalletViewModel(val app: Application) : 
AndroidViewModel(app) {
     private val mBalances = MutableLiveData<List<BalanceItem>>()
     val balances: LiveData<List<BalanceItem>> = 
mBalances.distinctUntilChanged()
 
+    val devMode = MutableLiveData(false)
+
     private val mHistoryProgress = MutableLiveData<Boolean>()
     val historyProgress: LiveData<Boolean> = mHistoryProgress
 
@@ -87,6 +89,11 @@ class WalletViewModel(val app: Application) : 
AndroidViewModel(app) {
     val pendingOperationsManager: PendingOperationsManager =
         PendingOperationsManager(walletBackendApi)
 
+    override fun onCleared() {
+        walletBackendApi.destroy()
+        super.onCleared()
+    }
+
     @UiThread
     fun loadBalances() {
         if (activeGetBalance > 0) {
@@ -159,12 +166,4 @@ class WalletViewModel(val app: Application) : 
AndroidViewModel(app) {
         walletBackendApi.sendRequest("tunnelResponse", respJson)
     }
 
-    fun retryPendingNow() {
-        walletBackendApi.sendRequest("retryPendingNow", null)
-    }
-
-    override fun onCleared() {
-        walletBackendApi.destroy()
-        super.onCleared()
-    }
 }
diff --git 
a/app/src/main/java/net/taler/wallet/pending/PendingOperationsFragment.kt 
b/app/src/main/java/net/taler/wallet/pending/PendingOperationsFragment.kt
index 7595827..946e5ba 100644
--- a/app/src/main/java/net/taler/wallet/pending/PendingOperationsFragment.kt
+++ b/app/src/main/java/net/taler/wallet/pending/PendingOperationsFragment.kt
@@ -87,7 +87,7 @@ class PendingOperationsFragment : Fragment(), 
PendingOperationClickListener {
     override fun onOptionsItemSelected(item: MenuItem): Boolean {
         return when (item.itemId) {
             R.id.retry_pending -> {
-                model.retryPendingNow()
+                pendingOperationsManager.retryPendingNow()
                 true
             }
             else -> super.onOptionsItemSelected(item)
diff --git 
a/app/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt 
b/app/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt
index b6d5904..2125dbc 100644
--- a/app/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt
+++ b/app/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt
@@ -57,4 +57,8 @@ class PendingOperationsManager(private val walletBackendApi: 
WalletBackendApi) {
         }
     }
 
+    fun retryPendingNow() {
+        walletBackendApi.sendRequest("retryPendingNow", null)
+    }
+
 }
diff --git a/app/src/main/res/layout/balance_row.xml 
b/app/src/main/res/layout/balance_row.xml
index 20ebf48..662068b 100644
--- a/app/src/main/res/layout/balance_row.xml
+++ b/app/src/main/res/layout/balance_row.xml
@@ -81,7 +81,7 @@
         <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="@string/balance_inbound"
+                android:text="@string/balances_inbound"
                 android:textColor="#006600" />
 
     </LinearLayout>
diff --git a/app/src/main/res/layout/fragment_show_balance.xml 
b/app/src/main/res/layout/fragment_show_balance.xml
index 969201a..5b38fb6 100644
--- a/app/src/main/res/layout/fragment_show_balance.xml
+++ b/app/src/main/res/layout/fragment_show_balance.xml
@@ -42,7 +42,7 @@
             android:autoLink="web"
             android:gravity="center"
             android:padding="16dp"
-            android:text="@string/balance_no_cash"
+            android:text="@string/balances_empty_state"
             android:textSize="18sp"
             android:visibility="gone"
             app:layout_constraintBottom_toTopOf="@+id/scanButton"
diff --git a/app/src/main/res/menu/balance.xml 
b/app/src/main/res/menu/balance.xml
index 69b5def..7ac3a9f 100644
--- a/app/src/main/res/menu/balance.xml
+++ b/app/src/main/res/menu/balance.xml
@@ -18,7 +18,11 @@
         xmlns:app="http://schemas.android.com/apk/res-auto";>
     <item
             android:id="@+id/reload_balance"
-            android:orderInCategory="100"
             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" />
 </menu>
diff --git a/app/src/main/res/navigation/nav_graph.xml 
b/app/src/main/res/navigation/nav_graph.xml
index 3b875e7..648c88e 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -24,7 +24,7 @@
     <fragment
             android:id="@+id/showBalance"
             android:name="net.taler.wallet.ShowBalance"
-            android:label="Home"
+            android:label="@string/balances_title"
             tools:layout="@layout/fragment_show_balance">
         <action
                 android:id="@+id/action_showBalance_to_promptPayment"
diff --git a/app/src/main/res/values/strings.xml 
b/app/src/main/res/values/strings.xml
index ddf2246..ca69756 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -32,11 +32,16 @@
     <string name="menu_history">History</string>
     <string name="menu_settings">Settings</string>
     <string name="menu_balance_reload">Reload balances</string>
+    <string name="menu_developer_mode">Developer Mode</string>
     <string name="menu_retry_pending_operations">Retry Pending 
Operations</string>
 
     <string name="servicedesc">my service</string>
     <string name="aiddescription">my aid</string>
 
+    <string name="balances_title">Balances</string>
+    <string name="balances_inbound">inbound</string>
+    <string name="balances_empty_state">There is no digital cash in your 
wallet.\n\nYou can get test money from the demo 
bank:\n\nhttps://bank.demo.taler.net</string>
+
     <!-- HistoryEvents -->
     <string name="history_event_exchange_added">Exchange Added</string>
     <string name="history_event_exchange_updated">Exchange Updated</string>
@@ -78,9 +83,6 @@
     <string name="withdraw_button_testkudos">Withdraw TESTKUDOS</string>
     <string name="withdraw_button_confirm">Confirm Withdraw</string>
 
-    <string name="balance_inbound">inbound</string>
-    <string name="balance_no_cash">There is no digital cash in your 
wallet.\n\nYou can get test money from the demo 
bank:\n\nhttps://bank.demo.taler.net</string>
-
     <string name="pending_operations_label">Pending Operations:</string>
     <string name="pending_operations_refuse">Refuse Proposal</string>
     <string name="pending_operations_no_action">(no action)</string>

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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