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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java

Issue 2939723003: Allow 3 lines for suggestion headers when summaries are not shown. (Closed)
Patch Set: Created 3 years, 6 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 unified diff | Download patch
« no previous file with comments | « chrome/android/java/res/layout/new_tab_page_snippets_card.xml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.ntp.snippets; 5 package org.chromium.chrome.browser.ntp.snippets;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.content.res.ColorStateList; 8 import android.content.res.ColorStateList;
9 import android.graphics.Bitmap; 9 import android.graphics.Bitmap;
10 import android.graphics.drawable.BitmapDrawable; 10 import android.graphics.drawable.BitmapDrawable;
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 private void updateLayout() { 247 private void updateLayout() {
248 final int horizontalStyle = mUiConfig.getCurrentDisplayStyle().horizonta l; 248 final int horizontalStyle = mUiConfig.getCurrentDisplayStyle().horizonta l;
249 final int verticalStyle = mUiConfig.getCurrentDisplayStyle().vertical; 249 final int verticalStyle = mUiConfig.getCurrentDisplayStyle().vertical;
250 final int layout = mCategoryInfo.getCardLayout(); 250 final int layout = mCategoryInfo.getCardLayout();
251 251
252 boolean showHeadline = shouldShowHeadline(); 252 boolean showHeadline = shouldShowHeadline();
253 boolean showDescription = shouldShowDescription(horizontalStyle, vertica lStyle, layout); 253 boolean showDescription = shouldShowDescription(horizontalStyle, vertica lStyle, layout);
254 boolean showThumbnail = shouldShowThumbnail(horizontalStyle, verticalSty le, layout); 254 boolean showThumbnail = shouldShowThumbnail(horizontalStyle, verticalSty le, layout);
255 255
256 mHeadlineTextView.setVisibility(showHeadline ? View.VISIBLE : View.GONE) ; 256 mHeadlineTextView.setVisibility(showHeadline ? View.VISIBLE : View.GONE) ;
257 mHeadlineTextView.setMaxLines(getHeaderMaxLines(horizontalStyle, vertica lStyle, layout));
257 mArticleSnippetTextView.setVisibility(showDescription ? View.VISIBLE : V iew.GONE); 258 mArticleSnippetTextView.setVisibility(showDescription ? View.VISIBLE : V iew.GONE);
258 mThumbnailView.setVisibility(showThumbnail ? View.VISIBLE : View.GONE); 259 mThumbnailView.setVisibility(showThumbnail ? View.VISIBLE : View.GONE);
259 260
260 ViewGroup.MarginLayoutParams publisherBarParams = 261 ViewGroup.MarginLayoutParams publisherBarParams =
261 (ViewGroup.MarginLayoutParams) mPublisherBar.getLayoutParams(); 262 (ViewGroup.MarginLayoutParams) mPublisherBar.getLayoutParams();
262 263
263 if (showDescription) { 264 if (showDescription) {
264 publisherBarParams.topMargin = mPublisherBar.getResources().getDimen sionPixelSize( 265 publisherBarParams.topMargin = mPublisherBar.getResources().getDimen sionPixelSize(
265 R.dimen.snippets_publisher_margin_top_with_article_snippet); 266 R.dimen.snippets_publisher_margin_top_with_article_snippet);
266 } else if (showHeadline) { 267 } else if (showHeadline) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 return ChromeFeatureList.isEnabled(ChromeFeatureList.CONTENT_SUGGESTIONS _SHOW_SUMMARY); 300 return ChromeFeatureList.isEnabled(ChromeFeatureList.CONTENT_SUGGESTIONS _SHOW_SUMMARY);
300 } 301 }
301 302
302 private boolean shouldShowThumbnail(int horizontalStyle, int verticalStyle, int layout) { 303 private boolean shouldShowThumbnail(int horizontalStyle, int verticalStyle, int layout) {
303 // Minimal cards don't have a thumbnail 304 // Minimal cards don't have a thumbnail
304 if (layout == ContentSuggestionsCardLayout.MINIMAL_CARD) return false; 305 if (layout == ContentSuggestionsCardLayout.MINIMAL_CARD) return false;
305 306
306 return true; 307 return true;
307 } 308 }
308 309
310 /**
311 * If no summary (no description) is shown, allow more lines for the header (title).
312 * @return The maximum number of header text lines.
313 */
314 private int getHeaderMaxLines(int horizontalStyle, int verticalStyle, int la yout) {
315 return shouldShowDescription(horizontalStyle, verticalStyle, layout) ? 2 : 3;
316 }
317
309 private static String getPublisherString(SnippetArticle article) { 318 private static String getPublisherString(SnippetArticle article) {
310 // We format the publisher here so that having a publisher name in an RT L language 319 // We format the publisher here so that having a publisher name in an RT L language
311 // doesn't mess up the formatting on an LTR device and vice versa. 320 // doesn't mess up the formatting on an LTR device and vice versa.
312 return BidiFormatter.getInstance().unicodeWrap(article.mPublisher); 321 return BidiFormatter.getInstance().unicodeWrap(article.mPublisher);
313 } 322 }
314 323
315 private static String getArticleAge(SnippetArticle article) { 324 private static String getArticleAge(SnippetArticle article) {
316 if (article.mPublishTimestampMilliseconds == 0) return ""; 325 if (article.mPublishTimestampMilliseconds == 0) return "";
317 326
318 // DateUtils.getRelativeTimeSpanString(...) calls through to TimeZone.ge tDefault(). If this 327 // DateUtils.getRelativeTimeSpanString(...) calls through to TimeZone.ge tDefault(). If this
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 * Callback to refresh the offline badge visibility. 641 * Callback to refresh the offline badge visibility.
633 */ 642 */
634 public static class RefreshOfflineBadgeVisibilityCallback extends PartialBin dCallback { 643 public static class RefreshOfflineBadgeVisibilityCallback extends PartialBin dCallback {
635 @Override 644 @Override
636 public void onResult(NewTabPageViewHolder holder) { 645 public void onResult(NewTabPageViewHolder holder) {
637 assert holder instanceof SnippetArticleViewHolder; 646 assert holder instanceof SnippetArticleViewHolder;
638 ((SnippetArticleViewHolder) holder).refreshOfflineBadgeVisibility(); 647 ((SnippetArticleViewHolder) holder).refreshOfflineBadgeVisibility();
639 } 648 }
640 } 649 }
641 } 650 }
OLDNEW
« no previous file with comments | « chrome/android/java/res/layout/new_tab_page_snippets_card.xml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698