Chromium Code Reviews| 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); |
| } |