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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java

Issue 2781323004: Create a new Data Saver settings page that adds the site breakdown (Closed)
Patch Set: one preference to inflate two different layouts Created 3 years, 9 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/net/spdyproxy/DataReductionProxySettings.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
index eea40ce16a06b4f3a4b579ff86ec785097ea2183..b4f4b1b4036e2de5d268e33e704a5e26d596a386 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
@@ -14,9 +14,14 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.browser.UrlConstants;
+import org.chromium.chrome.browser.preferences.datareduction.DataReductionDataUseItem;
+import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils;
+import org.chromium.chrome.browser.preferences.datareduction.DataReductionSiteBreakdownView;
import java.text.NumberFormat;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -63,6 +68,8 @@ public class DataReductionProxySettings {
private static final String WEBLITE_QUERY_PARAM = "lite_url";
+ private DataReductionSiteBreakdownView mDataReductionBreakdownView;
+
/**
* Returns whether the data reduction proxy is enabled.
*
@@ -166,6 +173,16 @@ public class DataReductionProxySettings {
}
/**
+ * Clears all data saving statistics.
+ */
+ public void clearDataSavingStatistics() {
+ // When the data saving statistics are cleared, reset the snackbar promo that tells the user
+ // how much data they have saved using Data Saver so far.
+ DataReductionPromoUtils.saveSnackbarPromoDisplayed(0);
+ nativeClearDataSavingStatistics(mNativeDataReductionProxySettings);
+ }
+
+ /**
* Returns aggregate original and received content lengths.
* @return The content lengths.
*/
@@ -265,6 +282,27 @@ public class DataReductionProxySettings {
return nativeAreLoFiPreviewsEnabled(mNativeDataReductionProxySettings);
}
+ public void queryDataUsage(
Theresa 2017/04/03 15:05:20 nit: JavaDoc
megjablon 2017/04/03 20:33:44 Done.
+ DataReductionSiteBreakdownView dataReductionBreakdownView, int numDays) {
Theresa 2017/04/03 15:05:20 Instead of passing the view directly, I suggest us
megjablon 2017/04/03 20:33:44 Done.
+ mDataReductionBreakdownView = dataReductionBreakdownView;
+ nativeQueryDataUsage(mNativeDataReductionProxySettings,
+ new ArrayList<DataReductionDataUseItem>(), numDays);
+ }
+
+ @CalledByNative
+ public static void createDataUseItemAndAddToList(List<DataReductionDataUseItem> items,
+ String hostname, long dataUsed, long originalSize) {
+ items.add(new DataReductionDataUseItem(hostname, dataUsed, originalSize));
+ }
+
+ @CalledByNative
+ public void onQueryDataUsageComplete(List<DataReductionDataUseItem> items) {
+ if (mDataReductionBreakdownView != null) {
+ mDataReductionBreakdownView.onQueryDataUsageComplete(items);
+ }
+ mDataReductionBreakdownView = null;
+ }
+
private native long nativeInit();
private native boolean nativeIsDataReductionProxyPromoAllowed(
long nativeDataReductionProxySettingsAndroid);
@@ -276,6 +314,8 @@ public class DataReductionProxySettings {
long nativeDataReductionProxySettingsAndroid, boolean enabled);
private native long nativeGetDataReductionLastUpdateTime(
long nativeDataReductionProxySettingsAndroid);
+ private native void nativeClearDataSavingStatistics(
+ long nativeDataReductionProxySettingsAndroid);
private native ContentLengths nativeGetContentLengths(
long nativeDataReductionProxySettingsAndroid);
private native long nativeGetTotalHttpContentLengthSaved(
@@ -290,4 +330,6 @@ public class DataReductionProxySettings {
long nativeDataReductionProxySettingsAndroid);
private native String nativeGetHttpProxyList(long nativeDataReductionProxySettingsAndroid);
private native String nativeGetLastBypassEvent(long nativeDataReductionProxySettingsAndroid);
+ private native void nativeQueryDataUsage(long nativeDataReductionProxySettingsAndroid,
+ List<DataReductionDataUseItem> items, int numDays);
}

Powered by Google App Engine
This is Rietveld 408576698