From 0b98d43c238d58c2c0ed7e92d835f4a0b9748f2a Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Wed, 7 Aug 2019 15:41:52 -0700 Subject: [PATCH] Closes #4602 - Add back transitions --- .../mozilla/fenix/browser/BrowserFragment.kt | 69 ++++++++--- .../components/toolbar/BrowserToolbarView.kt | 1 + .../components/toolbar/ToolbarIntegration.kt | 22 ++-- .../org/mozilla/fenix/home/HomeFragment.kt | 117 +++++++++++------- .../mozilla/fenix/search/SearchFragment.kt | 21 +++- 5 files changed, 154 insertions(+), 76 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index ff6eaa9d3..8800bcf11 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -16,6 +16,7 @@ import androidx.lifecycle.Observer import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.NavHostFragment.findNavController import androidx.navigation.fragment.findNavController +import androidx.transition.TransitionInflater import com.google.android.material.snackbar.Snackbar import kotlinx.android.synthetic.main.component_search.* import kotlinx.android.synthetic.main.fragment_browser.view.* @@ -66,19 +67,21 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler { private val customTabsIntegration = ViewBoundFeatureWrapper() private var findBookmarkJob: Job? = null - /* override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - // Disabled while awaiting a better solution to #3209 postponeEnterTransition() sharedElementEnterTransition = - TransitionInflater.from(context).inflateTransition(android.R.transition.move).setDuration( - SHARED_TRANSITION_MS - ) + TransitionInflater.from(context).inflateTransition(android.R.transition.move) + .setDuration( + SHARED_TRANSITION_MS + ) } - */ - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { val view = super.onCreateView(inflater, container, savedInstanceState) view.browserLayout.transitionName = "$TAB_ITEM_TRANSITION_NAME${getSessionById()?.id}" @@ -96,7 +99,8 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler { val sessionManager = requireComponents.core.sessionManager getSessionById()?.let { - quickActionSheetView = QuickActionSheetView(view.nestedScrollQuickAction, browserInteractor) + quickActionSheetView = + QuickActionSheetView(view.nestedScrollQuickAction, browserInteractor) customTabSessionId?.let { customTabSessionId -> customTabsIntegration.set( @@ -137,13 +141,17 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler { requireComponents.core.sessionManager, view.readerViewControlsBar ) { available -> - if (available) { requireComponents.analytics.metrics.track(Event.ReaderModeAvailable) } + if (available) { + requireComponents.analytics.metrics.track(Event.ReaderModeAvailable) + } browserStore.apply { dispatch(QuickActionSheetAction.ReadableStateChange(available)) - dispatch(QuickActionSheetAction.ReaderActiveStateChange( - sessionManager.selectedSession?.readerMode ?: false - )) + dispatch( + QuickActionSheetAction.ReaderActiveStateChange( + sessionManager.selectedSession?.readerMode ?: false + ) + ) } }, owner = this, @@ -183,7 +191,9 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler { if (customTabsIntegration.onBackPressed()) return true getSessionById()?.let { session -> - if (session.source == Session.Source.ACTION_VIEW) requireComponents.core.sessionManager.remove(session) + if (session.source == Session.Source.ACTION_VIEW) requireComponents.core.sessionManager.remove( + session + ) } return false } @@ -198,7 +208,8 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler { quickActionSheetController = DefaultQuickActionSheetController( context = context!!, navController = findNavController(), - currentSession = getSessionById() ?: requireComponents.core.sessionManager.selectedSessionOrThrow, + currentSession = getSessionById() + ?: requireComponents.core.sessionManager.selectedSessionOrThrow, appLinksUseCases = requireComponents.useCases.appLinksUseCases, bookmarkTapped = { lifecycleScope.launch { bookmarkTapped(it) } @@ -214,7 +225,8 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler { return if (customTabSessionId != null) Pair(toolbarSize, 0) else Pair(0, toolbarAndQASSize) } - override fun getAppropriateLayoutGravity() = if (customTabSessionId != null) Gravity.TOP else Gravity.BOTTOM + override fun getAppropriateLayoutGravity() = + if (customTabSessionId != null) Gravity.TOP else Gravity.BOTTOM private fun themeReaderViewControlsForPrivateMode(view: View) = with(view) { listOf( @@ -223,7 +235,12 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler { ).map { findViewById