| Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| index 68a25ce2fb3a5f5183a61b99ae1386f79a79aa0e..57067a086f0675234edba74e15679b5645fa969b 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| @@ -30,6 +30,18 @@ import java.util.Locale;
|
| abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| private static final String TAG = "download_ui";
|
|
|
| + private Long mStableId = null;
|
| +
|
| + @Override
|
| + public long getStableId() {
|
| + if (mStableId == null) {
|
| + // Generate a stable ID that combines the timestamp and the download ID.
|
| + mStableId = (long) getId().hashCode();
|
| + mStableId = (mStableId << 32) + (getTimestamp() & 0x0FFFFFFFF);
|
| + }
|
| + return mStableId.longValue();
|
| + }
|
| +
|
| /** @return Item that is being wrapped. */
|
| abstract Object getItem();
|
|
|
| @@ -99,7 +111,7 @@ abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| }
|
|
|
| @Override
|
| - public long getStartTime() {
|
| + public long getTimestamp() {
|
| return mItem.getStartTime();
|
| }
|
|
|
| @@ -247,7 +259,7 @@ abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| }
|
|
|
| @Override
|
| - public long getStartTime() {
|
| + public long getTimestamp() {
|
| return mItem.getStartTimeMs();
|
| }
|
|
|
|
|