summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-03-05 12:39:12 -0300
committerTorsten Grote <t@grobox.de>2020-03-05 12:39:12 -0300
commit0a070b2ac1f174c6f962d37a10f521981514b033 (patch)
tree6ec2523ace54bfe1c74314f5cb6c5b8f929cd613
parent8589d5cae8087acbf25e7251e341f99fd2c7f9e2 (diff)
downloadwallet-android-0a070b2ac1f174c6f962d37a10f521981514b033.tar.gz
wallet-android-0a070b2ac1f174c6f962d37a10f521981514b033.tar.bz2
wallet-android-0a070b2ac1f174c6f962d37a10f521981514b033.zip
Add provisional dev mode checkbox to hide UI elements by default
-rw-r--r--app/src/main/java/net/taler/wallet/MainActivity.kt6
-rw-r--r--app/src/main/java/net/taler/wallet/ShowBalance.kt17
-rw-r--r--app/src/main/java/net/taler/wallet/WalletViewModel.kt15
-rw-r--r--app/src/main/java/net/taler/wallet/pending/PendingOperationsFragment.kt2
-rw-r--r--app/src/main/java/net/taler/wallet/pending/PendingOperationsManager.kt4
-rw-r--r--app/src/main/res/layout/balance_row.xml2
-rw-r--r--app/src/main/res/layout/fragment_show_balance.xml2
-rw-r--r--app/src/main/res/menu/balance.xml6
-rw-r--r--app/src/main/res/navigation/nav_graph.xml2
-rw-r--r--app/src/main/res/values/strings.xml8
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>