Chromium Code Reviews| 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 3eb3a43cedbed68f480e5edf0336ebb4b41d407f..c2e90c3f9a570b5f50e8c12a4e6919b58d26c895 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 |
| @@ -50,7 +50,8 @@ import java.util.concurrent.TimeUnit; |
| */ |
| public class SnippetArticleViewHolder |
| extends CardViewHolder implements ImpressionTracker.Listener, ContextMenuManager.Delegate { |
| - private static final String PUBLISHER_FORMAT_STRING = "%s - %s"; |
| + private static final String PUBLISHER_FORMAT_STRING = "%s%s"; |
|
dgn
2016/12/20 11:15:39
that's kind of icky... how about something like th
|
| + private static final String PUBLISHED_TIME_FORMAT_STRING = " - %s"; |
| private static final int FADE_IN_ANIMATION_TIME_MS = 300; |
| private static final int[] FAVICON_SERVICE_SUPPORTED_SIZES = {16, 24, 32, 48, 64}; |
| private static final String FAVICON_SERVICE_FORMAT = |
| @@ -203,17 +204,22 @@ public class SnippetArticleViewHolder |
| // but in some cases (eg instrumentation tests) it will cause a strict mode violation. |
| StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads(); |
| try { |
| + String relativeTimeString = ""; |
| long time = SystemClock.elapsedRealtime(); |
| - CharSequence relativeTimeSpan = DateUtils.getRelativeTimeSpanString( |
| - mArticle.mPublishTimestampMilliseconds, System.currentTimeMillis(), |
| - DateUtils.MINUTE_IN_MILLIS); |
| + if (mArticle.mPublishTimestampMilliseconds != 0) { |
| + CharSequence relativeTimeSpan = |
| + DateUtils.getRelativeTimeSpanString(mArticle.mPublishTimestampMilliseconds, |
| + System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS); |
| + relativeTimeString = String.format(PUBLISHED_TIME_FORMAT_STRING, relativeTimeSpan); |
| + } |
| RecordHistogram.recordTimesHistogram("Android.StrictMode.SnippetUIBuildTime", |
| SystemClock.elapsedRealtime() - time, TimeUnit.MILLISECONDS); |
| // We format the publisher here so that having a publisher name in an RTL language |
| // doesn't mess up the formatting on an LTR device and vice versa. |
| String publisherAttribution = String.format(PUBLISHER_FORMAT_STRING, |
| - BidiFormatter.getInstance().unicodeWrap(mArticle.mPublisher), relativeTimeSpan); |
| + BidiFormatter.getInstance().unicodeWrap(mArticle.mPublisher), |
| + relativeTimeString); |
| mPublisherTextView.setText(publisherAttribution); |
| } finally { |
|
dgn
2016/12/20 11:15:39
nit: why is the try/finally that big? shouldn't it
PEConn
2016/12/20 11:24:07
That is the only part that can fail, but if it doe
|
| StrictMode.setThreadPolicy(oldPolicy); |