Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java |
index 79d5b284b927cc5db69a7d5e5fcb594b3f1b1f05..a72a3b8e07298c1d1944a93a0e082acc543c67f0 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryAdapter.java |
@@ -135,9 +135,9 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo |
} |
} |
- if (!isOffTheRecord) recordDownloadCountHistograms(mItemCounts, result.size()); |
+ if (!isOffTheRecord) recordDownloadCountHistograms(mItemCounts); |
- if (mLoadingDelegate.isLoaded()) filter(mLoadingDelegate.getPendingFilter()); |
+ onItemsRetrieved(); |
} |
/** Called when the user's offline page history has been gathered. */ |
@@ -153,10 +153,20 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo |
mFilePathsToItemsMap.addItem(wrapper); |
} |
- if (mLoadingDelegate.isLoaded()) filter(mLoadingDelegate.getPendingFilter()); |
- |
RecordHistogram.recordCountHistogram("Android.DownloadManager.InitialCount.OfflinePage", |
result.size()); |
+ |
+ onItemsRetrieved(); |
+ } |
+ |
+ /** |
+ * Should be called when download items or offline pages have been retrieved. |
+ */ |
+ private void onItemsRetrieved() { |
+ if (mLoadingDelegate.isLoaded()) { |
+ recordTotalDownloadCountHistogram(); |
+ filter(mLoadingDelegate.getPendingFilter()); |
+ } |
} |
/** Returns the total size of all non-deleted downloaded items. */ |
@@ -439,7 +449,7 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo |
return new OfflinePageItemWrapper(item, mBackendProvider, mParentComponent); |
} |
- private void recordDownloadCountHistograms(int[] itemCounts, int totalCount) { |
+ private void recordDownloadCountHistograms(int[] itemCounts) { |
RecordHistogram.recordCountHistogram("Android.DownloadManager.InitialCount.Audio", |
itemCounts[DownloadFilter.FILTER_AUDIO]); |
RecordHistogram.recordCountHistogram("Android.DownloadManager.InitialCount.Document", |
@@ -450,8 +460,13 @@ public class DownloadHistoryAdapter extends DateDividedAdapter implements Downlo |
itemCounts[DownloadFilter.FILTER_OTHER]); |
RecordHistogram.recordCountHistogram("Android.DownloadManager.InitialCount.Video", |
itemCounts[DownloadFilter.FILTER_VIDEO]); |
+ } |
+ |
+ private void recordTotalDownloadCountHistogram() { |
+ // The total count intentionally leaves out incognito downloads. This should be revisited |
+ // if/when incognito downloads are persistently available in downloads home. |
RecordHistogram.recordCountHistogram("Android.DownloadManager.InitialCount.Total", |
- totalCount); |
+ mDownloadItems.size() + mOfflinePageItems.size()); |
} |
private void removeExternallyDeletedItem(DownloadItemWrapper wrapper, boolean isOffTheRecord) { |