forked from shihaam/thijooree
improve clearing cache and logout (it was showing logged-out account info on dashboard
This commit is contained in:
@@ -22,6 +22,7 @@ import sh.sar.basedbank.api.mib.TransactionCache
|
|||||||
import sh.sar.basedbank.databinding.FragmentSettingsLoginsBinding
|
import sh.sar.basedbank.databinding.FragmentSettingsLoginsBinding
|
||||||
import sh.sar.basedbank.ui.login.LoginActivity
|
import sh.sar.basedbank.ui.login.LoginActivity
|
||||||
import sh.sar.basedbank.util.AccountCache
|
import sh.sar.basedbank.util.AccountCache
|
||||||
|
import sh.sar.basedbank.util.CardsCache
|
||||||
import sh.sar.basedbank.util.ContactImageCache
|
import sh.sar.basedbank.util.ContactImageCache
|
||||||
import sh.sar.basedbank.util.ContactsCache
|
import sh.sar.basedbank.util.ContactsCache
|
||||||
import sh.sar.basedbank.util.CredentialStore
|
import sh.sar.basedbank.util.CredentialStore
|
||||||
@@ -642,6 +643,7 @@ class SettingsLoginsFragment : Fragment() {
|
|||||||
app.mibLoginFlows.remove(loginId)
|
app.mibLoginFlows.remove(loginId)
|
||||||
app.mibAccounts = app.mibAccounts.filter { it.loginTag != "mib_$loginId" }
|
app.mibAccounts = app.mibAccounts.filter { it.loginTag != "mib_$loginId" }
|
||||||
app.accounts = app.accounts.filter { it.loginTag != "mib_$loginId" }
|
app.accounts = app.accounts.filter { it.loginTag != "mib_$loginId" }
|
||||||
|
viewModel.financing.value = emptyList()
|
||||||
clearAllCaches(ctx)
|
clearAllCaches(ctx)
|
||||||
(activity as HomeActivity).relogin()
|
(activity as HomeActivity).relogin()
|
||||||
buildLoginsSection()
|
buildLoginsSection()
|
||||||
@@ -658,6 +660,8 @@ class SettingsLoginsFragment : Fragment() {
|
|||||||
app.bmlProfilesMap.remove(loginId)
|
app.bmlProfilesMap.remove(loginId)
|
||||||
app.bmlLoginFlows.remove(loginId)
|
app.bmlLoginFlows.remove(loginId)
|
||||||
app.bmlAccounts = app.bmlAccounts.filter { it.loginTag != "bml_$loginId" }
|
app.bmlAccounts = app.bmlAccounts.filter { it.loginTag != "bml_$loginId" }
|
||||||
|
viewModel.bmlLimits.value = emptyList()
|
||||||
|
viewModel.bmlLoanDetails.value = emptyMap()
|
||||||
clearAllCaches(ctx)
|
clearAllCaches(ctx)
|
||||||
(activity as HomeActivity).relogin()
|
(activity as HomeActivity).relogin()
|
||||||
buildLoginsSection()
|
buildLoginsSection()
|
||||||
@@ -677,6 +681,6 @@ class SettingsLoginsFragment : Fragment() {
|
|||||||
private fun clearAllCaches(ctx: Context) {
|
private fun clearAllCaches(ctx: Context) {
|
||||||
AccountCache.clear(ctx); ContactsCache.clear(ctx); FinancingCache.clear(ctx)
|
AccountCache.clear(ctx); ContactsCache.clear(ctx); FinancingCache.clear(ctx)
|
||||||
ForeignLimitsCache.clear(ctx); RecentsCache.clear(ctx)
|
ForeignLimitsCache.clear(ctx); RecentsCache.clear(ctx)
|
||||||
TransactionCache.clearAll(ctx); ContactImageCache.clearAll(ctx)
|
CardsCache.clear(ctx); TransactionCache.clearAll(ctx); ContactImageCache.clearAll(ctx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,12 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.fragment.app.activityViewModels
|
||||||
import sh.sar.basedbank.R
|
import sh.sar.basedbank.R
|
||||||
import sh.sar.basedbank.api.mib.TransactionCache
|
import sh.sar.basedbank.api.mib.TransactionCache
|
||||||
import sh.sar.basedbank.databinding.FragmentSettingsStorageBinding
|
import sh.sar.basedbank.databinding.FragmentSettingsStorageBinding
|
||||||
import sh.sar.basedbank.util.AccountCache
|
import sh.sar.basedbank.util.AccountCache
|
||||||
|
import sh.sar.basedbank.util.CardsCache
|
||||||
import sh.sar.basedbank.util.ContactImageCache
|
import sh.sar.basedbank.util.ContactImageCache
|
||||||
import sh.sar.basedbank.util.ContactsCache
|
import sh.sar.basedbank.util.ContactsCache
|
||||||
import sh.sar.basedbank.util.FinancingCache
|
import sh.sar.basedbank.util.FinancingCache
|
||||||
@@ -21,6 +23,7 @@ class SettingsStorageFragment : Fragment() {
|
|||||||
|
|
||||||
private var _binding: FragmentSettingsStorageBinding? = null
|
private var _binding: FragmentSettingsStorageBinding? = null
|
||||||
private val binding get() = _binding!!
|
private val binding get() = _binding!!
|
||||||
|
private val viewModel: HomeViewModel by activityViewModels()
|
||||||
|
|
||||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||||
_binding = FragmentSettingsStorageBinding.inflate(inflater, container, false)
|
_binding = FragmentSettingsStorageBinding.inflate(inflater, container, false)
|
||||||
@@ -32,6 +35,7 @@ class SettingsStorageFragment : Fragment() {
|
|||||||
val ctx = requireContext()
|
val ctx = requireContext()
|
||||||
clearAllCaches(ctx)
|
clearAllCaches(ctx)
|
||||||
Toast.makeText(ctx, R.string.settings_cache_cleared, Toast.LENGTH_SHORT).show()
|
Toast.makeText(ctx, R.string.settings_cache_cleared, Toast.LENGTH_SHORT).show()
|
||||||
|
(activity as? HomeActivity)?.triggerRefresh()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,6 +52,13 @@ class SettingsStorageFragment : Fragment() {
|
|||||||
private fun clearAllCaches(ctx: Context) {
|
private fun clearAllCaches(ctx: Context) {
|
||||||
AccountCache.clear(ctx); ContactsCache.clear(ctx); FinancingCache.clear(ctx)
|
AccountCache.clear(ctx); ContactsCache.clear(ctx); FinancingCache.clear(ctx)
|
||||||
ForeignLimitsCache.clear(ctx); RecentsCache.clear(ctx)
|
ForeignLimitsCache.clear(ctx); RecentsCache.clear(ctx)
|
||||||
TransactionCache.clearAll(ctx); ContactImageCache.clearAll(ctx)
|
CardsCache.clear(ctx); TransactionCache.clearAll(ctx); ContactImageCache.clearAll(ctx)
|
||||||
|
viewModel.accounts.value = emptyList()
|
||||||
|
viewModel.mibCards.value = null
|
||||||
|
viewModel.financing.value = emptyList()
|
||||||
|
viewModel.bmlLoanDetails.value = emptyMap()
|
||||||
|
viewModel.bmlLimits.value = emptyList()
|
||||||
|
viewModel.contacts.value = emptyList()
|
||||||
|
viewModel.contactCategories.value = emptyList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user