| 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) {
|
|
|