Commit f74bfba4 authored by Becky Zhou's avatar Becky Zhou Committed by Commit Bot

[VR Browsing] Fix bottom margin for NTP in duet

We need to update the bottom margin on browser controls constraint
changes for VR.

Bug: 884803
Change-Id: I684eac23d8aefcaa8ad8c4cddcf12ebc4a6352cc
Reviewed-on: https://chromium-review.googlesource.com/c/1275145Reviewed-by: default avatarTheresa <twellington@chromium.org>
Commit-Queue: Becky Zhou <huayinz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598797}
parent d0631a1f
...@@ -244,12 +244,9 @@ public class FeedNewTabPage extends NewTabPage { ...@@ -244,12 +244,9 @@ public class FeedNewTabPage extends NewTabPage {
@Override @Override
protected void initializeMainView(Context context) { protected void initializeMainView(Context context) {
int topPadding = context.getResources().getDimensionPixelOffset(R.dimen.tab_strip_height); int topPadding = context.getResources().getDimensionPixelOffset(R.dimen.tab_strip_height);
int bottomPadding = mTab.getActivity().getFullscreenManager().getBottomControlsHeight();
mRootView = new RootView(context); mRootView = new RootView(context);
mRootView.setLayoutParams(new FrameLayout.LayoutParams( mRootView.setPadding(0, topPadding, 0, 0);
FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
mRootView.setPadding(0, topPadding, 0, bottomPadding);
mUiConfig = new UiConfig(mRootView); mUiConfig = new UiConfig(mRootView);
} }
......
...@@ -15,6 +15,7 @@ import android.support.v7.widget.RecyclerView; ...@@ -15,6 +15,7 @@ import android.support.v7.widget.RecyclerView;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.DiscardableReferencePool; import org.chromium.base.DiscardableReferencePool;
...@@ -54,10 +55,12 @@ import org.chromium.chrome.browser.tab.TabObserver; ...@@ -54,10 +55,12 @@ import org.chromium.chrome.browser.tab.TabObserver;
import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.util.ColorUtils; import org.chromium.chrome.browser.util.ColorUtils;
import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.util.UrlUtilities; import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.chrome.browser.vr.VrModuleProvider; import org.chromium.chrome.browser.vr.VrModuleProvider;
import org.chromium.content_public.browser.NavigationController; import org.chromium.content_public.browser.NavigationController;
import org.chromium.content_public.browser.NavigationEntry; import org.chromium.content_public.browser.NavigationEntry;
import org.chromium.content_public.common.BrowserControlsState;
import org.chromium.net.NetworkChangeNotifier; import org.chromium.net.NetworkChangeNotifier;
import org.chromium.ui.mojom.WindowOpenDisposition; import org.chromium.ui.mojom.WindowOpenDisposition;
...@@ -312,6 +315,11 @@ public class NewTabPage ...@@ -312,6 +315,11 @@ public class NewTabPage
public void onPageLoadStarted(Tab tab, String url) { public void onPageLoadStarted(Tab tab, String url) {
saveLastScrollPosition(); saveLastScrollPosition();
} }
@Override
public void onBrowserControlsConstraintsUpdated(Tab tab, int constraints) {
updateMargins(constraints);
}
}; };
mTab.addObserver(mTabObserver); mTab.addObserver(mTabObserver);
updateSearchProviderHasLogo(); updateSearchProviderHasLogo();
...@@ -368,6 +376,28 @@ public class NewTabPage ...@@ -368,6 +376,28 @@ public class NewTabPage
index, NAVIGATION_ENTRY_SCROLL_POSITION_KEY, Integer.toString(scrollPosition)); index, NAVIGATION_ENTRY_SCROLL_POSITION_KEY, Integer.toString(scrollPosition));
} }
/** Update the margins for the content when browser controls constraints are changed. */
protected void updateMargins(@BrowserControlsState int constraints) {
// TODO(mdjones): can this be merged with BasicNativePage's updateMargins?
View view = getView();
ViewGroup.MarginLayoutParams layoutParams =
((ViewGroup.MarginLayoutParams) view.getLayoutParams());
if (layoutParams == null) {
// We could be updating the margin before the root view is attached to window.
layoutParams = new ViewGroup.MarginLayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
view.setLayoutParams(layoutParams);
}
int bottomMargin = 0;
if (FeatureUtilities.isBottomToolbarEnabled()
&& constraints != BrowserControlsState.HIDDEN) {
bottomMargin = mTab.getActivity().getFullscreenManager().getBottomControlsHeight();
}
layoutParams.bottomMargin = bottomMargin;
}
/** @return The view container for the new tab page. */ /** @return The view container for the new tab page. */
@VisibleForTesting @VisibleForTesting
public NewTabPageView getNewTabPageView() { public NewTabPageView getNewTabPageView() {
......
...@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.suggestions.SuggestionsDependencyFactory; ...@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.suggestions.SuggestionsDependencyFactory;
import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate;
import org.chromium.chrome.browser.suggestions.TileGroup; import org.chromium.chrome.browser.suggestions.TileGroup;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.util.ViewUtils; import org.chromium.chrome.browser.util.ViewUtils;
import org.chromium.chrome.browser.widget.displaystyle.UiConfig; import org.chromium.chrome.browser.widget.displaystyle.UiConfig;
...@@ -277,11 +276,6 @@ public class NewTabPageView extends FrameLayout { ...@@ -277,11 +276,6 @@ public class NewTabPageView extends FrameLayout {
// immediately attached to the window if the RecyclerView is scrolled when the NTP // immediately attached to the window if the RecyclerView is scrolled when the NTP
// is refocused. // is refocused.
if (mManager.isLocationBarShownInNTP()) mNewTabPageLayout.updateSearchBoxOnScroll(); if (mManager.isLocationBarShownInNTP()) mNewTabPageLayout.updateSearchBoxOnScroll();
if (FeatureUtilities.isBottomToolbarEnabled()) {
((MarginLayoutParams) getLayoutParams()).bottomMargin =
getResources().getDimensionPixelSize(R.dimen.bottom_toolbar_height);
}
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment