From 53b648a7bcceb67b33b783a26f900704e0758f09 Mon Sep 17 00:00:00 2001 From: Chenxia Liu Date: Fri, 22 Feb 2019 10:13:06 -0800 Subject: [PATCH] Issue #1664 - Different split behavior for homescreen and webpage --- .../java/org/mozilla/tv/firefox/ScreenController.kt | 2 ++ .../navigationoverlay/NavigationOverlayFragment.kt | 12 ++++++++++++ .../main/res/layout/fragment_navigation_overlay.xml | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/tv/firefox/ScreenController.kt b/app/src/main/java/org/mozilla/tv/firefox/ScreenController.kt index 7b5ce7868a..14c4a5bc99 100644 --- a/app/src/main/java/org/mozilla/tv/firefox/ScreenController.kt +++ b/app/src/main/java/org/mozilla/tv/firefox/ScreenController.kt @@ -141,11 +141,13 @@ class ScreenController { transaction.show(overlayFragment) MenuInteractionMonitor.menuOpened() overlayFragment.navUrlInput.requestFocus() + overlayFragment.navOverlayScrollView.updateOverlayForHomescreen(isOnHomeUrl(fragmentManager)) } else { transaction.hide(overlayFragment) MenuInteractionMonitor.menuClosed() renderFragment.view?.requestFocus() } + transaction.commit() } diff --git a/app/src/main/java/org/mozilla/tv/firefox/navigationoverlay/NavigationOverlayFragment.kt b/app/src/main/java/org/mozilla/tv/firefox/navigationoverlay/NavigationOverlayFragment.kt index 3f31cdf885..cb8166edcd 100644 --- a/app/src/main/java/org/mozilla/tv/firefox/navigationoverlay/NavigationOverlayFragment.kt +++ b/app/src/main/java/org/mozilla/tv/firefox/navigationoverlay/NavigationOverlayFragment.kt @@ -26,6 +26,7 @@ import android.view.ViewGroup import android.widget.ScrollView import android.widget.Toast import kotlinx.android.synthetic.main.fragment_navigation_overlay.* +import kotlinx.android.synthetic.main.fragment_navigation_overlay.view.* import kotlinx.android.synthetic.main.fragment_navigation_overlay_top_nav.* import kotlinx.android.synthetic.main.pocket_video_mega_tile.* import kotlinx.coroutines.Job @@ -410,6 +411,8 @@ class NavigationOverlayFragment : Fragment() { * clicks up twice quickly), it will skip and not scroll smoothly. Since we don't scroll often, * this seems fine. */ +private const val OVERLAY_SPACER_HOMESCREEN_HEIGHT = 393 +private const val OVERLAY_SPACER_WEBRENDER_HEIGHT = 800 class BrowserNavigationOverlayScrollView( context: Context, attrs: AttributeSet @@ -426,4 +429,13 @@ class BrowserNavigationOverlayScrollView( val deltaScrollForOnScreen = super.computeScrollDeltaToGetChildRectOnScreen(rect) return deltaScrollForOnScreen + deltaScrollPadding * Integer.signum(deltaScrollForOnScreen) } + + fun updateOverlayForHomescreen(isHomescreen: Boolean) { + val windowSpacerHeight = if (isHomescreen) OVERLAY_SPACER_HOMESCREEN_HEIGHT else OVERLAY_SPACER_WEBRENDER_HEIGHT + overlayWindowSpacer.apply { + layoutParams.height = windowSpacerHeight + requestLayout() + } + scrollY = 0 + } } diff --git a/app/src/main/res/layout/fragment_navigation_overlay.xml b/app/src/main/res/layout/fragment_navigation_overlay.xml index 9c97b85476..3ad2a39593 100644 --- a/app/src/main/res/layout/fragment_navigation_overlay.xml +++ b/app/src/main/res/layout/fragment_navigation_overlay.xml @@ -75,8 +75,9 @@ android:orientation="vertical"> + android:layout_height="196dp"/>