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

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

Issue 1833763002: Add new NTP layout with snippet cards and hide it behind a flag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address more comments Created 4 years, 9 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/snippets/SnippetArticleViewHolder.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetCardItemViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
similarity index 54%
rename from chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetCardItemViewHolder.java
rename to chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
index d032d52caff3d322c48fce7c0c0f9c20fa903159..b85fe1f54ca54127364735e0c85cba68ded6f808 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetCardItemViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
@@ -4,9 +4,9 @@
package org.chromium.chrome.browser.ntp.snippets;
+import android.text.format.DateUtils;
import android.view.LayoutInflater;
import android.view.View;
-import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
@@ -15,17 +15,18 @@
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ntp.NewTabPageUma;
-import org.chromium.chrome.browser.ntp.snippets.SnippetsManager.SnippetArticle;
-import org.chromium.chrome.browser.ntp.snippets.SnippetsManager.SnippetListItem;
+import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
+import org.chromium.chrome.browser.ntp.cards.NewTabPageListItem;
+import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder;
/**
* A class that represents the view for a single card snippet.
*/
-class SnippetCardItemViewHolder extends SnippetListItemViewHolder implements View.OnClickListener {
+public class SnippetArticleViewHolder extends NewTabPageViewHolder implements View.OnClickListener {
+ private final NewTabPageManager mNewTabPageManager;
public TextView mHeadlineTextView;
public TextView mPublisherTextView;
public TextView mArticleSnippetTextView;
- public TextView mReadMoreLinkTextView;
public ImageView mThumbnailView;
public String mUrl;
public int mPosition;
@@ -47,27 +48,15 @@ public static View createView(ViewGroup parent) {
* @param cardView The View for the snippet card
* @param manager The SnippetsManager object used to open an article
*/
- public SnippetCardItemViewHolder(View cardView, SnippetsManager manager) {
- super(cardView, manager);
+ public SnippetArticleViewHolder(View cardView, NewTabPageManager manager) {
+ super(cardView);
+ mNewTabPageManager = manager;
cardView.setOnClickListener(this);
mThumbnailView = (ImageView) cardView.findViewById(R.id.article_thumbnail);
mHeadlineTextView = (TextView) cardView.findViewById(R.id.article_headline);
mPublisherTextView = (TextView) cardView.findViewById(R.id.article_publisher);
mArticleSnippetTextView = (TextView) cardView.findViewById(R.id.article_snippet);
- mReadMoreLinkTextView = (TextView) cardView.findViewById(R.id.read_more_link);
- mReadMoreLinkTextView.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- loadUrl(mUrl);
- RecordUserAction.record("MobileNTP.Snippets.Click");
- RecordHistogram.recordSparseSlowlyHistogram(
- "NewTabPage.Snippets.CardClicked", mPosition);
- RecordHistogram.recordEnumeratedHistogram(SnippetsManager.SNIPPETS_STATE_HISTOGRAM,
- SnippetsManager.SNIPPETS_CLICKED, SnippetsManager.NUM_SNIPPETS_ACTIONS);
- NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
- }
- });
cardView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override
public void onViewAttachedToWindow(View v) {
@@ -82,26 +71,21 @@ public void onViewDetachedFromWindow(View v) {}
@Override
public void onClick(View v) {
- // Toggle visibility of snippet text
- int visibility =
- (mArticleSnippetTextView.getVisibility() == View.GONE) ? View.VISIBLE : View.GONE;
- mArticleSnippetTextView.setVisibility(visibility);
- mReadMoreLinkTextView.setVisibility(visibility);
-
- String action = visibility == View.VISIBLE ? "MobileNTP.Snippets.ShowMore"
- : "MobileNTP.Snippets.ShowLess";
- String histogram = visibility == View.VISIBLE ? "NewTabPage.Snippets.CardExpanded"
- : "NewTabPage.Snippets.CardHidden";
- RecordUserAction.record(action);
- RecordHistogram.recordSparseSlowlyHistogram(histogram, mPosition);
+ mNewTabPageManager.open(mUrl);
+ RecordUserAction.record("MobileNTP.Snippets.Click");
+ RecordHistogram.recordSparseSlowlyHistogram("NewTabPage.Snippets.CardClicked", mPosition);
+ NewTabPageUma.recordSnippetAction(NewTabPageUma.SNIPPETS_ACTION_CLICKED);
+ NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
}
@Override
- public void onBindViewHolder(SnippetListItem snippetItem) {
- SnippetArticle item = (SnippetArticle) snippetItem;
+ public void onBindViewHolder(NewTabPageListItem article) {
+ SnippetArticle item = (SnippetArticle) article;
mHeadlineTextView.setText(item.mTitle);
- mPublisherTextView.setText(item.mPublisher);
+ mPublisherTextView.setText(
+ DateUtils.getRelativeTimeSpanString(item.mTimestamp, System.currentTimeMillis(),
+ DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE));
mArticleSnippetTextView.setText(item.mPreviewText);
mUrl = item.mUrl;
mPosition = item.mPosition;

Powered by Google App Engine
This is Rietveld 408576698