Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
index 25d1d95f1083224f6a72356618799fc1eeedb833..b53b89abe0fbdf8e155baa518051db558bcc9757 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java |
@@ -24,9 +24,12 @@ |
import org.chromium.chrome.R; |
import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; |
import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback; |
+import org.chromium.chrome.browser.ntp.DisplayStyleObserver; |
import org.chromium.chrome.browser.ntp.NewTabPage; |
import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; |
+import org.chromium.chrome.browser.ntp.UiConfig; |
import org.chromium.chrome.browser.ntp.cards.CardViewHolder; |
+import org.chromium.chrome.browser.ntp.cards.DisplayStyleObserverAdapter; |
import org.chromium.chrome.browser.ntp.cards.NewTabPageListItem; |
import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView; |
import org.chromium.components.variations.VariationsAssociatedData; |
@@ -69,10 +72,11 @@ |
* @param parent The ViewGroup that is going to contain the newly created view. |
* @param manager The NTPManager object used to open an article |
* @param snippetsBridge The SnippetsBridge used to retrieve the snippet thumbnails. |
+ * @param uiConfig The NTP UI configuration object used to adjust the article UI. |
*/ |
public SnippetArticleViewHolder(NewTabPageRecyclerView parent, NewTabPageManager manager, |
- SnippetsBridge snippetsBridge) { |
- super(R.layout.new_tab_page_snippets_card, parent); |
+ SnippetsBridge snippetsBridge, UiConfig uiConfig) { |
+ super(R.layout.new_tab_page_snippets_card, parent, uiConfig); |
mNewTabPageManager = manager; |
mSnippetsBridge = snippetsBridge; |
@@ -108,6 +112,19 @@ public void onViewDetachedFromWindow(View v) { |
} |
}); |
+ new DisplayStyleObserverAdapter(itemView, uiConfig, new DisplayStyleObserver() { |
+ @Override |
+ public void onDisplayStyleChanged(@UiConfig.DisplayStyle int newDisplayStyle) { |
+ if (newDisplayStyle == UiConfig.DISPLAY_STYLE_NARROW) { |
+ mHeadlineTextView.setMaxLines(4); |
+ mArticleSnippetTextView.setVisibility(View.GONE); |
+ } else { |
+ mHeadlineTextView.setMaxLines(2); |
+ mArticleSnippetTextView.setVisibility(View.VISIBLE); |
+ } |
+ } |
+ }); |
+ |
mUseFaviconService = |
!PARAMETER_DISABLED_VALUE.equals(VariationsAssociatedData.getVariationParamValue( |
NewTabPage.FIELD_TRIAL_NAME, PARAMETER_FAVICON_SERVICE_NAME)); |