From 9a6c809b098f2bc180a0c0a6689e322788eeb748 Mon Sep 17 00:00:00 2001 From: fekt Date: Tue, 28 Feb 2023 02:06:59 -0500 Subject: [PATCH] Street Mode --- .../main/java/cash/z/ecc/android/ext/Const.kt | 1 + .../z/ecc/android/ui/home/HomeFragment.kt | 10 ++++ .../z/ecc/android/ui/scan/ScanFragment.kt | 9 +++- .../android/ui/settings/SettingsFragment.kt | 24 +++++++++ .../android/ui/settings/SettingsViewModel.kt | 1 + app/src/main/res/layout/fragment_settings.xml | 49 +++++++++++++------ 6 files changed, 77 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/cash/z/ecc/android/ext/Const.kt b/app/src/main/java/cash/z/ecc/android/ext/Const.kt index 3296e8e..a41fac6 100644 --- a/app/src/main/java/cash/z/ecc/android/ext/Const.kt +++ b/app/src/main/java/cash/z/ecc/android/ext/Const.kt @@ -23,6 +23,7 @@ object Const { const val FEEDBACK_ENABLED = "const.pref.feedback_enabled" const val SERVER_HOST = "const.pref.server_host" const val SERVER_PORT = "const.pref.server_port" + const val STREET_MODE = "const.pref.street_mode" } /** diff --git a/app/src/main/java/cash/z/ecc/android/ui/home/HomeFragment.kt b/app/src/main/java/cash/z/ecc/android/ui/home/HomeFragment.kt index 5b944e8..ceda3a3 100644 --- a/app/src/main/java/cash/z/ecc/android/ui/home/HomeFragment.kt +++ b/app/src/main/java/cash/z/ecc/android/ui/home/HomeFragment.kt @@ -15,6 +15,8 @@ import cash.z.ecc.android.R import cash.z.ecc.android.ZcashWalletApp import cash.z.ecc.android.databinding.DialogSolicitFeedbackRatingBinding import cash.z.ecc.android.databinding.FragmentHomeBinding +import cash.z.ecc.android.di.DependenciesHolder +import cash.z.ecc.android.di.DependenciesHolder.lockBox import cash.z.ecc.android.ext.* import cash.z.ecc.android.feedback.Report import cash.z.ecc.android.feedback.Report.Tap.* @@ -320,6 +322,14 @@ class HomeFragment : BaseFragment() { else -> getString(R.string.home_instruction_enter_amount) } } + + // Hide balance and history if Street Mode is enabled + if(lockBox.getBoolean(Const.Pref.STREET_MODE)) { + binding.textBalanceAvailable.visibility = View.INVISIBLE + binding.labelBalance.visibility = View.INVISIBLE + binding.textHistory.visibility = View.INVISIBLE + binding.textSendAmount.isEnabled = false + } } fun setBanner(message: String = "", action: BannerAction = CLEAR) { diff --git a/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt b/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt index e683a4f..d8aaaa6 100644 --- a/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt +++ b/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt @@ -343,8 +343,13 @@ class ScanFragment : BaseFragment() { } else { /* continue scanning*/ _fragmentCameraBinding?.textScanError?.text = "" sendViewModel.toAddress = address - sendViewModel.zatoshiAmount = amt.safelyConvertToBigDecimal().convertZecToZatoshi() - sendViewModel.memo = memo + if(amt!=null){ + sendViewModel.zatoshiAmount = + amt.safelyConvertToBigDecimal().convertZecToZatoshi() + } + if(memo!=null){ + sendViewModel.memo = memo + } mainActivity?.safeNavigate(R.id.action_nav_scan_to_nav_send) } } diff --git a/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsFragment.kt b/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsFragment.kt index 1a7e77c..f7e76d8 100644 --- a/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsFragment.kt @@ -2,14 +2,18 @@ package cash.z.ecc.android.ui.settings import android.content.res.ColorStateList import android.os.Bundle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.widget.Toast +import androidx.core.view.ViewCompat.jumpDrawablesToCurrentState import androidx.core.widget.doAfterTextChanged import androidx.fragment.app.viewModels import cash.z.ecc.android.R import cash.z.ecc.android.ZcashWalletApp import cash.z.ecc.android.databinding.FragmentSettingsBinding +import cash.z.ecc.android.di.DependenciesHolder.lockBox +import cash.z.ecc.android.di.DependenciesHolder.prefs import cash.z.ecc.android.ext.* import cash.z.ecc.android.sdk.exception.LightWalletException import cash.z.ecc.android.sdk.ext.collectWith @@ -37,6 +41,15 @@ class SettingsFragment : BaseFragment() { hitAreaExit.onClickNavBack() buttonReset.setOnClickListener(::onResetClicked) buttonUpdate.setOnClickListener(::onUpdateClicked) + streetMode.setOnClickListener(::onStreetModeChecked) + + val streetmode = lockBox.getBoolean(Const.Pref.STREET_MODE) + if(streetmode){ + streetMode.isChecked = true + } + + Log.d("SilentDragon", "streetMode: $streetmode") + buttonUpdate.isActivated = true buttonReset.isActivated = true inputHost.doAfterTextChanged { @@ -79,6 +92,17 @@ class SettingsFragment : BaseFragment() { } } + private fun onStreetModeChecked(unused: View?) { + val streetmode = lockBox.getBoolean(Const.Pref.STREET_MODE) + Log.d("SilentDragon", "streetModeChecked! streetmode = $streetmode") + if(streetmode) { + lockBox.setBoolean(Const.Pref.STREET_MODE, false) + } + else{ + lockBox.setBoolean(Const.Pref.STREET_MODE, true) + } + } + private fun onUiModelUpdated(uiModel: SettingsViewModel.UiModel) { twig("onUiModelUpdated:::::$uiModel") binding.apply { diff --git a/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsViewModel.kt b/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsViewModel.kt index 5a2d6d2..d475136 100644 --- a/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/cash/z/ecc/android/ui/settings/SettingsViewModel.kt @@ -1,5 +1,6 @@ package cash.z.ecc.android.ui.settings +import android.util.Log import androidx.lifecycle.ViewModel import cash.z.ecc.android.di.DependenciesHolder import cash.z.ecc.android.ext.Const diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 44383a0..6890423 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -109,30 +109,56 @@ + + + + + app:layout_constraintTop_toBottomOf="@+id/streetMode" /> - - + android:focusableInTouchMode="true" + tools:layout_editor_absoluteX="81dp" + tools:layout_editor_absoluteY="16dp" />