Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(698)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java

Issue 1988973002: [Offline pages] Moving disk size related calls to Archive Manager, reorganizing UMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@archive-manager
Patch Set: Adding test, updating ArchiveManager implementation to task runner. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java
index e15e901b282ecccb34cdc1daedcf31757850d780..79329c236ad96622024f4502d5049d856d0211a0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.offlinepages;
-import android.os.AsyncTask;
-
import org.chromium.base.Callback;
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
@@ -14,7 +12,6 @@ import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.components.offlinepages.DeletePageResult;
import org.chromium.components.offlinepages.SavePageResult;
import org.chromium.content_public.browser.WebContents;
@@ -129,46 +126,6 @@ public class OfflinePageBridge {
public void offlinePageDeleted(long offlineId, ClientId clientId) {}
}
- private static void recordFreeSpaceHistograms(
- final String percentageName, final String bytesName) {
- new AsyncTask<Void, Void, Void>() {
- @Override
- protected Void doInBackground(Void... params) {
- int percentage = (int) (1.0 * OfflinePageUtils.getFreeSpaceInBytes()
- / OfflinePageUtils.getTotalSpaceInBytes() * 100);
- RecordHistogram.recordPercentageHistogram(percentageName, percentage);
- int bytesInMB = (int) (OfflinePageUtils.getFreeSpaceInBytes() / (1024 * 1024));
- RecordHistogram.recordCustomCountHistogram(bytesName, bytesInMB, 1, 500000, 50);
- return null;
- }
- }.execute();
- }
-
- /**
- * Records histograms related to the cost of storage. It is meant to be used after user
- * takes an action: save, delete or delete in bulk.
- *
- * @param reportingAfterDelete Indicates that reporting has been requested after deleting an
- * offline copy.
- */
- private void recordStorageHistograms(final boolean reportingAfterDelete) {
- new AsyncTask<Void, Void, long[]>() {
- @Override
- protected long[] doInBackground(Void... params) {
- // Getting the storage numbers violates strict mode when done on UI thread.
- return new long[] { OfflinePageUtils.getTotalSpaceInBytes(),
- OfflinePageUtils.getFreeSpaceInBytes() };
- }
-
- @Override
- protected void onPostExecute(long[] result) {
- if (result == null || result.length != 2) return;
- nativeRecordStorageHistograms(
- mNativeOfflinePageBridge, result[0], result[1], reportingAfterDelete);
- }
- }.execute();
- }
-
/**
* Creates an offline page bridge for a given profile.
* Accessible by the package for testability.
@@ -397,20 +354,8 @@ public class OfflinePageBridge {
return;
}
- SavePageCallback callbackWrapper = new SavePageCallback() {
- @Override
- public void onSavePageDone(int savePageResult, String url, long offlineId) {
- if (savePageResult == SavePageResult.SUCCESS && isOfflinePageModelLoaded()) {
- recordStorageHistograms(false /* reporting after delete */);
- }
- callback.onSavePageDone(savePageResult, url, offlineId);
- }
- };
- recordFreeSpaceHistograms(
- "OfflinePages.SavePage.FreeSpacePercentage", "OfflinePages.SavePage.FreeSpaceMB");
-
- nativeSavePage(mNativeOfflinePageBridge, callbackWrapper, webContents,
- clientId.getNamespace(), clientId.getId());
+ nativeSavePage(mNativeOfflinePageBridge, callback, webContents, clientId.getNamespace(),
+ clientId.getId());
}
/**
@@ -462,11 +407,7 @@ public class OfflinePageBridge {
ids[i] = offlineIds.get(i);
}
- recordFreeSpaceHistograms("OfflinePages.DeletePage.FreeSpacePercentage",
- "OfflinePages.DeletePage.FreeSpaceMB");
-
- DeletePageCallback callbackWrapper = wrapCallbackWithHistogramReporting(callback);
- nativeDeletePages(mNativeOfflinePageBridge, callbackWrapper, ids);
+ nativeDeletePages(mNativeOfflinePageBridge, callback, ids);
}
/**
@@ -511,19 +452,6 @@ public class OfflinePageBridge {
nativeCheckPagesExistOffline(mNativeOfflinePageBridge, urlArray, callbackInternal);
}
- private DeletePageCallback wrapCallbackWithHistogramReporting(
- final DeletePageCallback callback) {
- return new DeletePageCallback() {
- @Override
- public void onDeletePageDone(int deletePageResult) {
- if (deletePageResult == DeletePageResult.SUCCESS && isOfflinePageModelLoaded()) {
- recordStorageHistograms(true /* reporting after delete */);
- }
- callback.onDeletePageDone(deletePageResult);
- }
- };
- }
-
@VisibleForTesting
ClientId getClientIdForOfflineId(long offlineId) {
OfflinePageItem item = nativeGetPageByOfflineId(mNativeOfflinePageBridge, offlineId);
@@ -637,6 +565,4 @@ public class OfflinePageBridge {
private native void nativeDeletePages(
long nativeOfflinePageBridge, DeletePageCallback callback, long[] offlineIds);
private native void nativeCheckMetadataConsistency(long nativeOfflinePageBridge);
- private native void nativeRecordStorageHistograms(long nativeOfflinePageBridge,
- long totalSpaceInBytes, long freeSpaceInBytes, boolean reportingAfterDelete);
}
« no previous file with comments | « no previous file | chrome/browser/android/offline_pages/offline_page_bridge.h » ('j') | components/offline_pages/archive_manager.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698