diff options
author | Torsten Grote <t@grobox.de> | 2020-03-05 12:39:12 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-03-05 12:39:12 -0300 |
commit | 0a070b2ac1f174c6f962d37a10f521981514b033 (patch) | |
tree | 6ec2523ace54bfe1c74314f5cb6c5b8f929cd613 | |
parent | 8589d5cae8087acbf25e7251e341f99fd2c7f9e2 (diff) | |
download | wallet-android-0a070b2ac1f174c6f962d37a10f521981514b033.tar.gz wallet-android-0a070b2ac1f174c6f962d37a10f521981514b033.tar.bz2 wallet-android-0a070b2ac1f174c6f962d37a10f521981514b033.zip |
Add provisional dev mode checkbox to hide UI elements by default
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> |