summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/SettingsFragment.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-06-11 15:40:29 -0300
committerTorsten Grote <t@grobox.de>2020-06-11 15:40:29 -0300
commita9b2ec4f35851c26bbe4f62a2e7fa17d9ee79576 (patch)
tree71a7a0e35f1911bfee99dc93ca4492346c3d69ed /wallet/src/main/java/net/taler/wallet/SettingsFragment.kt
parent059f240efaa6330c7222ba30b01cb32362bad4a3 (diff)
downloadtaler-android-a9b2ec4f35851c26bbe4f62a2e7fa17d9ee79576.tar.gz
taler-android-a9b2ec4f35851c26bbe4f62a2e7fa17d9ee79576.tar.bz2
taler-android-a9b2ec4f35851c26bbe4f62a2e7fa17d9ee79576.zip
[wallet] UI mockup for backup and anastasis
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/SettingsFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/SettingsFragment.kt114
1 files changed, 0 insertions, 114 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/SettingsFragment.kt b/wallet/src/main/java/net/taler/wallet/SettingsFragment.kt
deleted file mode 100644
index 97deaa5..0000000
--- a/wallet/src/main/java/net/taler/wallet/SettingsFragment.kt
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * 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
-
-import android.os.Bundle
-import android.view.View
-import androidx.appcompat.app.AlertDialog
-import androidx.fragment.app.activityViewModels
-import androidx.lifecycle.Observer
-import androidx.preference.Preference
-import androidx.preference.PreferenceFragmentCompat
-import androidx.preference.SwitchPreferenceCompat
-import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT
-import com.google.android.material.snackbar.Snackbar
-import net.taler.wallet.BuildConfig.VERSION_CODE
-import net.taler.wallet.BuildConfig.VERSION_NAME
-import net.taler.wallet.BuildConfig.WALLET_CORE_VERSION
-
-
-class SettingsFragment : PreferenceFragmentCompat() {
-
- private val model: MainViewModel by activityViewModels()
- private val withdrawManager by lazy { model.withdrawManager }
-
- private lateinit var prefDevMode: SwitchPreferenceCompat
- private lateinit var prefWithdrawTest: Preference
- private lateinit var prefVersionApp: Preference
- private lateinit var prefVersionCore: Preference
- private lateinit var prefVersionExchange: Preference
- private lateinit var prefVersionMerchant: Preference
- private lateinit var prefReset: Preference
- private val devPrefs by lazy {
- listOf(
- prefWithdrawTest,
- prefVersionApp,
- prefVersionCore,
- prefVersionExchange,
- prefVersionMerchant,
- prefReset
- )
- }
-
- override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
- setPreferencesFromResource(R.xml.settings_main, rootKey)
- prefDevMode = findPreference("pref_dev_mode")!!
- prefWithdrawTest = findPreference("pref_testkudos")!!
- prefVersionApp = findPreference("pref_version_app")!!
- prefVersionCore = findPreference("pref_version_core")!!
- prefVersionExchange = findPreference("pref_version_protocol_exchange")!!
- prefVersionMerchant = findPreference("pref_version_protocol_merchant")!!
- prefReset = findPreference("pref_reset")!!
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- model.devMode.observe(viewLifecycleOwner, Observer { enabled ->
- prefDevMode.isChecked = enabled
- if (enabled) {
- prefVersionApp.summary = "$VERSION_NAME ($VERSION_CODE)"
- prefVersionCore.summary = WALLET_CORE_VERSION
- model.exchangeVersion?.let { prefVersionExchange.summary = it }
- model.merchantVersion?.let { prefVersionMerchant.summary = it }
- }
- devPrefs.forEach { it.isVisible = enabled }
- })
- prefDevMode.setOnPreferenceChangeListener { _, newValue ->
- model.devMode.value = newValue as Boolean
- true
- }
-
- withdrawManager.testWithdrawalInProgress.observe(viewLifecycleOwner, Observer { loading ->
- prefWithdrawTest.isEnabled = !loading
- model.showProgressBar.value = loading
- })
- prefWithdrawTest.setOnPreferenceClickListener {
- withdrawManager.withdrawTestkudos()
- true
- }
-
- prefReset.setOnPreferenceClickListener {
- showResetDialog()
- true
- }
- }
-
- private fun showResetDialog() {
- AlertDialog.Builder(requireContext())
- .setMessage("Do you really want to reset the wallet and lose all coins and purchases?")
- .setPositiveButton("Reset") { _, _ ->
- model.dangerouslyReset()
- Snackbar.make(requireView(), "Wallet has been reset", LENGTH_SHORT).show()
- }
- .setNegativeButton("Cancel") { _, _ ->
- Snackbar.make(requireView(), "Reset cancelled", LENGTH_SHORT).show()
- }
- .show()
- }
-
-}