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

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: Addressing feedback 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
« no previous file with comments | « no previous file | chrome/browser/android/offline_pages/offline_page_bridge.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3af6f50a518559e5fccca4c7cefab209c3ebb507..2417143fac4b92f49b1a8c591de2f1d1c15df856 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,18 +4,13 @@
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;
import org.chromium.base.VisibleForTesting;
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;
import java.util.ArrayList;
@@ -128,46 +123,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.
@@ -389,20 +344,8 @@ public class OfflinePageBridge {
assert mIsNativeOfflinePageModelLoaded;
assert webContents != null;
- 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());
}
/**
@@ -454,11 +397,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);
}
/**
@@ -503,19 +442,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);
@@ -629,6 +555,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') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698