From 4d0fabf804e1afffd91927d9805a026e8aaad777 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 28 Mar 2023 14:08:37 -0300 Subject: [wallet] Add test option in dev mode and remove backup option to not give false impression that there's an actual backup/ --- .../src/main/java/net/taler/wallet/MainActivity.kt | 1 - .../main/java/net/taler/wallet/MainViewModel.kt | 24 +++++----- .../wallet/settings/BackupSettingsFragment.kt | 29 ------------ .../net/taler/wallet/settings/SettingsFragment.kt | 25 +++++------ wallet/src/main/res/navigation/nav_graph.xml | 8 ---- wallet/src/main/res/values/strings.xml | 5 +-- wallet/src/main/res/xml/settings_backup.xml | 51 ---------------------- wallet/src/main/res/xml/settings_main.xml | 14 +++--- 8 files changed, 35 insertions(+), 122 deletions(-) delete mode 100644 wallet/src/main/java/net/taler/wallet/settings/BackupSettingsFragment.kt delete mode 100644 wallet/src/main/res/xml/settings_backup.xml (limited to 'wallet/src') diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt index e91b983..bf95475 100644 --- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt +++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt @@ -344,7 +344,6 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener, pref: Preference, ): Boolean { when (pref.key) { - "pref_backup" -> nav.navigate(R.id.action_nav_settings_to_nav_settings_backup) "pref_exchanges" -> nav.navigate(R.id.action_nav_settings_to_nav_settings_exchanges) } return true diff --git a/wallet/src/main/java/net/taler/wallet/MainViewModel.kt b/wallet/src/main/java/net/taler/wallet/MainViewModel.kt index bbd3ca3..2ad6f6b 100644 --- a/wallet/src/main/java/net/taler/wallet/MainViewModel.kt +++ b/wallet/src/main/java/net/taler/wallet/MainViewModel.kt @@ -50,9 +50,6 @@ import net.taler.wallet.tip.TipManager import net.taler.wallet.transactions.TransactionManager import net.taler.wallet.withdraw.WithdrawManager import org.json.JSONObject -import java.util.concurrent.TimeUnit.DAYS -import java.util.concurrent.TimeUnit.MINUTES -import kotlin.random.Random const val TAG = "taler-wallet" @@ -97,13 +94,6 @@ class MainViewModel( private val mScanCodeEvent = MutableLiveData>() val scanCodeEvent: LiveData> = mScanCodeEvent - private val mLastBackup = MutableLiveData( - // fake backup time until we actually do backup - System.currentTimeMillis() - - Random.nextLong(MINUTES.toMillis(5), DAYS.toMillis(2)) - ) - val lastBackup: LiveData = mLastBackup - override fun onVersionReceived(versionInfo: WalletCoreVersion) { exchangeVersion = versionInfo.exchange merchantVersion = versionInfo.merchant @@ -207,6 +197,20 @@ class MainViewModel( mScanCodeEvent.value = true.toEvent() } + fun runIntegrationTest() { + viewModelScope.launch { + api.request("runIntegrationTest") { + put("amountToWithdraw", "KUDOS:42") + put("amountToSpend", "KUDOS:23") + put("bankBaseUrl", "https://bank.demo.taler.net/") + put("bankAccessApiBaseUrl", "https://bank.demo.taler.net/demobanks/default/access-api/") + put("exchangeBaseUrl", "https://exchange.demo.taler.net/") + put("merchantBaseUrl", "https://backend.demo.taler.net/") + put("merchantAuthToken", "secret-token:sandbox") + } + } + } + } sealed class AmountResult { diff --git a/wallet/src/main/java/net/taler/wallet/settings/BackupSettingsFragment.kt b/wallet/src/main/java/net/taler/wallet/settings/BackupSettingsFragment.kt deleted file mode 100644 index e9641a3..0000000 --- a/wallet/src/main/java/net/taler/wallet/settings/BackupSettingsFragment.kt +++ /dev/null @@ -1,29 +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 - */ - -package net.taler.wallet.settings - -import android.os.Bundle -import androidx.preference.PreferenceFragmentCompat -import net.taler.wallet.R - -class BackupSettingsFragment : PreferenceFragmentCompat() { - - override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { - setPreferencesFromResource(R.xml.settings_backup, rootKey) - } - -} diff --git a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt index 11c252b..927d4a9 100644 --- a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt @@ -27,7 +27,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT import com.google.android.material.snackbar.Snackbar import net.taler.common.showError -import net.taler.common.toRelativeTime import net.taler.qtart.BuildConfig.WALLET_CORE_VERSION import net.taler.wallet.BuildConfig.FLAVOR import net.taler.wallet.BuildConfig.VERSION_CODE @@ -44,7 +43,6 @@ class SettingsFragment : PreferenceFragmentCompat() { private val settingsManager get() = model.settingsManager private val withdrawManager by lazy { model.withdrawManager } - private lateinit var prefBackup: Preference private lateinit var prefDevMode: SwitchPreferenceCompat private lateinit var prefWithdrawTest: Preference private lateinit var prefLogcat: Preference @@ -53,10 +51,10 @@ class SettingsFragment : PreferenceFragmentCompat() { private lateinit var prefVersionCore: Preference private lateinit var prefVersionExchange: Preference private lateinit var prefVersionMerchant: Preference + private lateinit var prefTest: Preference private lateinit var prefReset: Preference private val devPrefs by lazy { listOf( - prefBackup, prefWithdrawTest, prefLogcat, prefExportDb, @@ -64,20 +62,21 @@ class SettingsFragment : PreferenceFragmentCompat() { prefVersionCore, prefVersionExchange, prefVersionMerchant, - prefReset + prefTest, + prefReset, ) } private val logLauncher = registerForActivityResult(CreateDocument("text/plain")) { uri -> settingsManager.exportLogcat(uri) } - private val dbExportLauncher = registerForActivityResult(CreateDocument("application/json")) { uri -> - settingsManager.exportDb(uri) - } + private val dbExportLauncher = + registerForActivityResult(CreateDocument("application/json")) { uri -> + settingsManager.exportDb(uri) + } override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.settings_main, rootKey) - prefBackup = findPreference("pref_backup")!! prefDevMode = findPreference("pref_dev_mode")!! prefWithdrawTest = findPreference("pref_testkudos")!! prefLogcat = findPreference("pref_logcat")!! @@ -86,17 +85,13 @@ class SettingsFragment : PreferenceFragmentCompat() { prefVersionCore = findPreference("pref_version_core")!! prefVersionExchange = findPreference("pref_version_protocol_exchange")!! prefVersionMerchant = findPreference("pref_version_protocol_merchant")!! + prefTest = findPreference("pref_test")!! prefReset = findPreference("pref_reset")!! } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - model.lastBackup.observe(viewLifecycleOwner) { - val time = it.toRelativeTime(requireContext()) - prefBackup.summary = getString(R.string.backup_last, time) - } - model.devMode.observe(viewLifecycleOwner) { enabled -> prefDevMode.isChecked = enabled if (enabled) { @@ -136,6 +131,10 @@ class SettingsFragment : PreferenceFragmentCompat() { true } + prefTest.setOnPreferenceClickListener { + model.runIntegrationTest() + true + } prefReset.setOnPreferenceClickListener { showResetDialog() true diff --git a/wallet/src/main/res/navigation/nav_graph.xml b/wallet/src/main/res/navigation/nav_graph.xml index 2b9463b..6508539 100644 --- a/wallet/src/main/res/navigation/nav_graph.xml +++ b/wallet/src/main/res/navigation/nav_graph.xml @@ -106,9 +106,6 @@ - - - Supported Exchange Versions Supported Merchant Versions Unknown + Run integration test + Performs test transactions with demo setup Reset Wallet (dangerous!) Throws away your money - Backup - Last Backup: %s - Refund Error processing refund Refund received: %s diff --git a/wallet/src/main/res/xml/settings_backup.xml b/wallet/src/main/res/xml/settings_backup.xml deleted file mode 100644 index aa9b129..0000000 --- a/wallet/src/main/res/xml/settings_backup.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/wallet/src/main/res/xml/settings_main.xml b/wallet/src/main/res/xml/settings_main.xml index 101aa37..3a6d991 100644 --- a/wallet/src/main/res/xml/settings_main.xml +++ b/wallet/src/main/res/xml/settings_main.xml @@ -24,13 +24,6 @@ app:summary="@string/exchange_settings_summary" app:title="@string/exchange_settings_title" /> - + +