Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1392)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java

Issue 2173723002: 📰 [Reland] Adjust the card display depending on the screen width. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ZineTabletUI
Patch Set: rebase and fix test Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
index 7cd9270e612a1d30384bebd5d26250ea86979455..499861eadf9037cb5cb481df48bfdc4cd2dbc246 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
@@ -6,6 +6,7 @@
import android.annotation.SuppressLint;
import android.content.Context;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -95,6 +96,7 @@
private OnSearchBoxScrollListener mSearchBoxScrollListener;
private NewTabPageManager mManager;
+ private UiConfig mUiConfig;
private MostVisitedDesign mMostVisitedDesign;
private MostVisitedItem[] mMostVisitedItems;
private boolean mFirstShow = true;
@@ -238,6 +240,7 @@ public NewTabPageView(Context context, AttributeSet attrs) {
public void initialize(NewTabPageManager manager, boolean searchProviderHasLogo,
SnippetsBridge snippetsBridge) {
mManager = manager;
+ mUiConfig = new UiConfig(this);
ViewStub stub = (ViewStub) findViewById(R.id.new_tab_page_layout_stub);
mUseCardsUi = snippetsBridge != null;
@@ -288,7 +291,8 @@ public void initialize(NewTabPageManager manager, boolean searchProviderHasLogo,
// Set up snippets
if (mUseCardsUi) {
- mNewTabPageAdapter = new NewTabPageAdapter(mManager, mNewTabPageLayout, snippetsBridge);
+ mNewTabPageAdapter =
+ new NewTabPageAdapter(mManager, mNewTabPageLayout, snippetsBridge, mUiConfig);
mRecyclerView.setAdapter(mNewTabPageAdapter);
// Set up swipe-to-dismiss
@@ -1085,6 +1089,18 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
}
}
+ @Override
+ protected void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+
+ // When the viewport configuration changes, we want to update the display style so that the
+ // observers are aware of the new available space. Another moment to do this update could
+ // be through a OnLayoutChangeListener, but then we get notified of the change after the
+ // layout pass, which means that the new style will only be visible after layout happens
+ // again. We prefer updating here to avoid having to require that additional layout pass.
+ mUiConfig.updateDisplayStyle();
+ }
+
private int getVerticalScroll() {
if (mUseCardsUi) {
return mRecyclerView.computeVerticalScrollOffset();

Powered by Google App Engine
This is Rietveld 408576698