| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 package org.chromium.chrome.browser.ntp.snippets; | 4 package org.chromium.chrome.browser.ntp.snippets; |
| 5 | 5 |
| 6 import android.graphics.Bitmap; | 6 import android.graphics.Bitmap; |
| 7 import android.support.annotation.Nullable; | 7 import android.support.annotation.Nullable; |
| 8 | 8 |
| 9 import java.io.File; | 9 import java.io.File; |
| 10 | 10 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 | 29 |
| 30 /** The URL of this article. This may be an AMP url. */ | 30 /** The URL of this article. This may be an AMP url. */ |
| 31 public final String mUrl; | 31 public final String mUrl; |
| 32 | 32 |
| 33 /** The time when this article was published. */ | 33 /** The time when this article was published. */ |
| 34 public final long mPublishTimestampMilliseconds; | 34 public final long mPublishTimestampMilliseconds; |
| 35 | 35 |
| 36 /** The score expressing relative quality of the article for the user. */ | 36 /** The score expressing relative quality of the article for the user. */ |
| 37 public final float mScore; | 37 public final float mScore; |
| 38 | 38 |
| 39 /** The position of this article within its section. */ | 39 /** The rank of this article within its section. */ |
| 40 public final int mPosition; | 40 private int mPerSectionRank = -1; |
| 41 | 41 |
| 42 /** The position of this article in the complete list. Populated by NewTabPa
geAdapter. */ | 42 /** The global rank of this article in the complete list. */ |
| 43 public int mGlobalPosition = -1; | 43 private int mGlobalRank = -1; |
| 44 | 44 |
| 45 /** Bitmap of the thumbnail, fetched lazily, when the RecyclerView wants to
show the snippet. */ | 45 /** Bitmap of the thumbnail, fetched lazily, when the RecyclerView wants to
show the snippet. */ |
| 46 private Bitmap mThumbnailBitmap; | 46 private Bitmap mThumbnailBitmap; |
| 47 | 47 |
| 48 /** Stores whether impression of this article has been tracked already. */ | 48 /** Stores whether impression of this article has been tracked already. */ |
| 49 private boolean mImpressionTracked; | 49 private boolean mImpressionTracked; |
| 50 | 50 |
| 51 /** Whether the linked article represents an asset download. */ | 51 /** Whether the linked article represents an asset download. */ |
| 52 public boolean mIsAssetDownload; | 52 public boolean mIsAssetDownload; |
| 53 | 53 |
| 54 /** The path to the asset download (only for asset download articles). */ | 54 /** The path to the asset download (only for asset download articles). */ |
| 55 private File mAssetDownloadFile; | 55 private File mAssetDownloadFile; |
| 56 | 56 |
| 57 /** The mime type of the asset download (only for asset download articles).
*/ | 57 /** The mime type of the asset download (only for asset download articles).
*/ |
| 58 private String mAssetDownloadMimeType; | 58 private String mAssetDownloadMimeType; |
| 59 | 59 |
| 60 /** The tab id of the corresponding tab (only for recent tab articles). */ | 60 /** The tab id of the corresponding tab (only for recent tab articles). */ |
| 61 private String mRecentTabId; | 61 private String mRecentTabId; |
| 62 | 62 |
| 63 /** The offline id of the corresponding offline page, if any. */ | 63 /** The offline id of the corresponding offline page, if any. */ |
| 64 private Long mOfflinePageOfflineId; | 64 private Long mOfflinePageOfflineId; |
| 65 | 65 |
| 66 /** | 66 /** |
| 67 * Creates a SnippetArticleListItem object that will hold the data. | 67 * Creates a SnippetArticleListItem object that will hold the data. |
| 68 */ | 68 */ |
| 69 public SnippetArticle(int category, String idWithinCategory, String title, S
tring publisher, | 69 public SnippetArticle(int category, String idWithinCategory, String title, S
tring publisher, |
| 70 String previewText, String url, long timestamp, float score, int pos
ition) { | 70 String previewText, String url, long timestamp, float score) { |
| 71 mCategory = category; | 71 mCategory = category; |
| 72 mIdWithinCategory = idWithinCategory; | 72 mIdWithinCategory = idWithinCategory; |
| 73 mTitle = title; | 73 mTitle = title; |
| 74 mPublisher = publisher; | 74 mPublisher = publisher; |
| 75 mPreviewText = previewText; | 75 mPreviewText = previewText; |
| 76 mUrl = url; | 76 mUrl = url; |
| 77 mPublishTimestampMilliseconds = timestamp; | 77 mPublishTimestampMilliseconds = timestamp; |
| 78 mScore = score; | 78 mScore = score; |
| 79 mPosition = position; | |
| 80 } | 79 } |
| 81 | 80 |
| 82 @Override | 81 @Override |
| 83 public boolean equals(Object other) { | 82 public boolean equals(Object other) { |
| 84 if (!(other instanceof SnippetArticle)) return false; | 83 if (!(other instanceof SnippetArticle)) return false; |
| 85 SnippetArticle rhs = (SnippetArticle) other; | 84 SnippetArticle rhs = (SnippetArticle) other; |
| 86 return mCategory == rhs.mCategory && mIdWithinCategory.equals(rhs.mIdWit
hinCategory); | 85 return mCategory == rhs.mCategory && mIdWithinCategory.equals(rhs.mIdWit
hinCategory); |
| 87 } | 86 } |
| 88 | 87 |
| 89 @Override | 88 @Override |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 @Nullable | 200 @Nullable |
| 202 public Long getOfflinePageOfflineId() { | 201 public Long getOfflinePageOfflineId() { |
| 203 return mOfflinePageOfflineId; | 202 return mOfflinePageOfflineId; |
| 204 } | 203 } |
| 205 | 204 |
| 206 @Override | 205 @Override |
| 207 public String toString() { | 206 public String toString() { |
| 208 // For debugging purposes. Displays the first 42 characters of the title
. | 207 // For debugging purposes. Displays the first 42 characters of the title
. |
| 209 return String.format("{%s, %1.42s}", getClass().getSimpleName(), mTitle)
; | 208 return String.format("{%s, %1.42s}", getClass().getSimpleName(), mTitle)
; |
| 210 } | 209 } |
| 210 |
| 211 public void setRank(int perSectionRank, int globalRank) { |
| 212 mPerSectionRank = perSectionRank; |
| 213 mGlobalRank = globalRank; |
| 214 } |
| 215 |
| 216 public int getGlobalRank() { |
| 217 return mGlobalRank; |
| 218 } |
| 219 |
| 220 public int getPerSectionRank() { |
| 221 return mPerSectionRank; |
| 222 } |
| 211 } | 223 } |
| OLD | NEW |