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 {
@Override
protected void initializeMainView(Context context) {
int topPadding = context.getResources().getDimensionPixelOffset(R.dimen.tab_strip_height);
int bottomPadding = mTab.getActivity().getFullscreenManager().getBottomControlsHeight();
mRootView = new RootView(context);
mRootView.setLayoutParams(new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
mRootView.setPadding(0, topPadding, 0, bottomPadding);
mRootView.setPadding(0, topPadding, 0, 0);
mUiConfig = new UiConfig(mRootView);
}
......
......@@ -15,6 +15,7 @@ import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.DiscardableReferencePool;
......@@ -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.TabModelSelector;
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.vr.VrModuleProvider;
import org.chromium.content_public.browser.NavigationController;
import org.chromium.content_public.browser.NavigationEntry;
import org.chromium.content_public.common.BrowserControlsState;
import org.chromium.net.NetworkChangeNotifier;
import org.chromium.ui.mojom.WindowOpenDisposition;
......@@ -312,6 +315,11 @@ public class NewTabPage
public void onPageLoadStarted(Tab tab, String url) {
saveLastScrollPosition();
}
@Override
public void onBrowserControlsConstraintsUpdated(Tab tab, int constraints) {
updateMargins(constraints);
}
};
mTab.addObserver(mTabObserver);
updateSearchProviderHasLogo();
......@@ -368,6 +376,28 @@ public class NewTabPage
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. */
@VisibleForTesting
public NewTabPageView getNewTabPageView() {
......
......@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.suggestions.SuggestionsDependencyFactory;
import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate;
import org.chromium.chrome.browser.suggestions.TileGroup;
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.widget.displaystyle.UiConfig;
......@@ -277,11 +276,6 @@ public class NewTabPageView extends FrameLayout {
// immediately attached to the window if the RecyclerView is scrolled when the NTP
// is refocused.
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