Loading app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt +1 −6 Original line number Diff line number Diff line Loading @@ -40,12 +40,6 @@ import org.mozilla.fenix.helpers.click import org.mozilla.fenix.helpers.ext.waitNotNull class BrowserRobot { fun verifyBrowserScreen() { onView(ViewMatchers.withResourceName("browserLayout")) .check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) } fun verifyCurrentPrivateSession(context: Context) { val session = context.components.core.sessionManager.selectedSession assertTrue("Current session is private", session?.private!!) Loading Loading @@ -79,6 +73,7 @@ class BrowserRobot { */ fun verifyPageContent(expectedText: String) { val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) mDevice.waitNotNull(Until.findObject(By.res("org.mozilla.fenix.debug:id/engineView")), waitingTime) mDevice.waitNotNull(Until.findObject(text(expectedText)), waitingTime) } Loading app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +11 −1 Original line number Diff line number Diff line Loading @@ -179,7 +179,8 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session engineView = WeakReference(engineView), swipeRefresh = WeakReference(swipeRefresh), viewLifecycleScope = viewLifecycleOwner.lifecycleScope, arguments = requireArguments() arguments = requireArguments(), firstContentfulHappened = ::didFirstContentfulHappen ).apply { beginAnimateInIfNecessary() } Loading Loading @@ -862,6 +863,15 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session } } private fun didFirstContentfulHappen(): Boolean { val store = context?.components?.core?.store val tabState = store?.state?.tabs?.find { it.id == (customTabSessionId ?: context?.components?.core?.sessionManager?.selectedSession?.id) } return tabState?.content?.firstContentfulPaint == true } /* * Dereference these views when the fragment view is destroyed to prevent memory leaks */ Loading app/src/main/java/org/mozilla/fenix/browser/BrowserAnimator.kt +8 −18 Original line number Diff line number Diff line Loading @@ -33,7 +33,8 @@ class BrowserAnimator( private val engineView: WeakReference<EngineView>, private val swipeRefresh: WeakReference<View>, private val viewLifecycleScope: LifecycleCoroutineScope, private val arguments: Bundle private val arguments: Bundle, private val firstContentfulHappened: () -> Boolean ) { private val unwrappedEngineView: EngineView? Loading @@ -52,22 +53,9 @@ class BrowserAnimator( } doOnEnd { if (firstContentfulHappened()) { unwrappedEngineView?.asView()?.visibility = View.VISIBLE unwrappedSwipeRefresh?.background = null arguments.putBoolean(SHOULD_ANIMATE_FLAG, false) } interpolator = DecelerateInterpolator() duration = ANIMATION_DURATION } private val browserFadeInValueAnimator = ValueAnimator.ofFloat(0f, END_ANIMATOR_VALUE).apply { addUpdateListener { unwrappedSwipeRefresh?.alpha = it.animatedFraction } doOnEnd { unwrappedEngineView?.asView()?.visibility = View.VISIBLE unwrappedSwipeRefresh?.background = null arguments.putBoolean(SHOULD_ANIMATE_FLAG, false) } Loading @@ -92,7 +80,9 @@ class BrowserAnimator( } } else { unwrappedSwipeRefresh?.alpha = 1f if (firstContentfulHappened()) { unwrappedEngineView?.asView()?.visibility = View.VISIBLE } unwrappedSwipeRefresh?.background = null } } Loading Loading
app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt +1 −6 Original line number Diff line number Diff line Loading @@ -40,12 +40,6 @@ import org.mozilla.fenix.helpers.click import org.mozilla.fenix.helpers.ext.waitNotNull class BrowserRobot { fun verifyBrowserScreen() { onView(ViewMatchers.withResourceName("browserLayout")) .check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) } fun verifyCurrentPrivateSession(context: Context) { val session = context.components.core.sessionManager.selectedSession assertTrue("Current session is private", session?.private!!) Loading Loading @@ -79,6 +73,7 @@ class BrowserRobot { */ fun verifyPageContent(expectedText: String) { val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) mDevice.waitNotNull(Until.findObject(By.res("org.mozilla.fenix.debug:id/engineView")), waitingTime) mDevice.waitNotNull(Until.findObject(text(expectedText)), waitingTime) } Loading
app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +11 −1 Original line number Diff line number Diff line Loading @@ -179,7 +179,8 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session engineView = WeakReference(engineView), swipeRefresh = WeakReference(swipeRefresh), viewLifecycleScope = viewLifecycleOwner.lifecycleScope, arguments = requireArguments() arguments = requireArguments(), firstContentfulHappened = ::didFirstContentfulHappen ).apply { beginAnimateInIfNecessary() } Loading Loading @@ -862,6 +863,15 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session } } private fun didFirstContentfulHappen(): Boolean { val store = context?.components?.core?.store val tabState = store?.state?.tabs?.find { it.id == (customTabSessionId ?: context?.components?.core?.sessionManager?.selectedSession?.id) } return tabState?.content?.firstContentfulPaint == true } /* * Dereference these views when the fragment view is destroyed to prevent memory leaks */ Loading
app/src/main/java/org/mozilla/fenix/browser/BrowserAnimator.kt +8 −18 Original line number Diff line number Diff line Loading @@ -33,7 +33,8 @@ class BrowserAnimator( private val engineView: WeakReference<EngineView>, private val swipeRefresh: WeakReference<View>, private val viewLifecycleScope: LifecycleCoroutineScope, private val arguments: Bundle private val arguments: Bundle, private val firstContentfulHappened: () -> Boolean ) { private val unwrappedEngineView: EngineView? Loading @@ -52,22 +53,9 @@ class BrowserAnimator( } doOnEnd { if (firstContentfulHappened()) { unwrappedEngineView?.asView()?.visibility = View.VISIBLE unwrappedSwipeRefresh?.background = null arguments.putBoolean(SHOULD_ANIMATE_FLAG, false) } interpolator = DecelerateInterpolator() duration = ANIMATION_DURATION } private val browserFadeInValueAnimator = ValueAnimator.ofFloat(0f, END_ANIMATOR_VALUE).apply { addUpdateListener { unwrappedSwipeRefresh?.alpha = it.animatedFraction } doOnEnd { unwrappedEngineView?.asView()?.visibility = View.VISIBLE unwrappedSwipeRefresh?.background = null arguments.putBoolean(SHOULD_ANIMATE_FLAG, false) } Loading @@ -92,7 +80,9 @@ class BrowserAnimator( } } else { unwrappedSwipeRefresh?.alpha = 1f if (firstContentfulHappened()) { unwrappedEngineView?.asView()?.visibility = View.VISIBLE } unwrappedSwipeRefresh?.background = null } } Loading