* Remove redundant calls to setHasOptionsMenu(false)

Fix memory leaks for credit card and login fragments

* Fixes:

Add link to issue tracker
Use activity?.invalidateOptionsMenu() instead of setHasOptionsMenu(false)
Move it inside of 'if' statement to avoid unintended issues when called improperly
Revert changes to AddLoginFragment.kt

* Fix call invocation to redirectToReAuth() from AddLoginFragment.kt
Fix 'when' statement in redirectToReAuth() to use AddLoginFragment

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
pull/600/head
Mugurell 3 years ago committed by GitHub
parent 906b7a168c
commit aabd1999ee

@ -72,9 +72,13 @@ fun Fragment.redirectToReAuth(
currentLocation: Int
) {
if (currentDestination !in destinations) {
// Workaround for memory leak caused by Android SDK bug
// https://issuetracker.google.com/issues/37125819
activity?.invalidateOptionsMenu()
when (currentLocation) {
R.id.loginDetailFragment,
R.id.editLoginFragment,
R.id.addLoginFragment,
R.id.savedLoginsFragment -> {
findNavController().popBackStack(R.id.savedLoginsAuthFragment, false)
}

@ -323,9 +323,9 @@ class AddLoginFragment : Fragment(R.layout.fragment_add_login) {
override fun onPause() {
redirectToReAuth(
listOf(R.id.loginDetailFragment, R.id.savedLoginsFragment),
listOf(R.id.savedLoginsFragment),
findNavController().currentDestination?.id,
R.id.editLoginFragment
R.id.addLoginFragment
)
super.onPause()
}

@ -148,7 +148,6 @@ class SavedLoginsFragment : Fragment() {
(activity as HomeActivity).getSupportActionBarAndInflateIfNecessary().setDisplayShowTitleEnabled(true)
sortingStrategyMenu.menuController.dismiss()
sortLoginsMenuRoot.setOnClickListener(null)
setHasOptionsMenu(false)
redirectToReAuth(
listOf(R.id.loginDetailFragment, R.id.addLoginFragment),

Loading…
Cancel
Save