From 3010c75ff125d22791da052908584b76cf50f547 Mon Sep 17 00:00:00 2001 From: ekager Date: Wed, 22 May 2019 22:26:06 -0700 Subject: [PATCH] [fenix] Try to pop up to home if it exists on stack from browserfragment --- .../fenix/components/toolbar/ToolbarIntegration.kt | 8 +++++--- .../main/java/org/mozilla/fenix/home/HomeFragment.kt | 10 +--------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt index 74f379e083..fc432aa3ec 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt @@ -57,7 +57,7 @@ class ToolbarIntegration( { toolbar.hideKeyboard() // We need to dynamically add the options here because if you do it in XML it overwrites - val options = NavOptions.Builder().setPopUpTo(R.id.browserFragment, false) + val options = NavOptions.Builder().setPopUpTo(R.id.homeFragment, true) .setEnterAnim(R.anim.fade_in).setExitAnim(R.anim.fade_out).build() val extras = FragmentNavigator.Extras.Builder() @@ -66,8 +66,10 @@ class ToolbarIntegration( "$TAB_ITEM_TRANSITION_NAME${sessionManager.selectedSession?.id}" ) .build() - Navigation.findNavController(toolbar) - .navigate(R.id.action_browserFragment_to_homeFragment, null, options, extras) + val navController = Navigation.findNavController(toolbar) + if (!navController.popBackStack(R.id.homeFragment, false)) { + navController.navigate(R.id.action_browserFragment_to_homeFragment, null, options, extras) + } }, isPrivate ) diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index c730c5d400..9ed5cd27b9 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -48,8 +48,8 @@ import org.mozilla.fenix.R import org.mozilla.fenix.collections.CreateCollectionViewModel import org.mozilla.fenix.collections.SaveCollectionStep import org.mozilla.fenix.components.metrics.Event -import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.allowUndo +import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.urlToTrimmedHost import org.mozilla.fenix.home.sessioncontrol.CollectionAction @@ -220,14 +220,6 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver { override fun onResume() { super.onResume() - val homeViewModel = activity?.run { - ViewModelProviders.of(this).get(HomeScreenViewModel::class.java) - } - homeViewModel?.layoutManagerState?.also { parcelable -> - sessionControlComponent.view.layoutManager?.onRestoreInstanceState(parcelable) - } - homeLayout?.progress = - if (homeViewModel?.motionLayoutProgress ?: 0F > MOTION_LAYOUT_PROGRESS_ROUND_POINT) 1.0f else 0f (activity as AppCompatActivity).supportActionBar?.hide() requireComponents.backgroundServices.accountManager.register(this, owner = this)