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); |
} |