Index: chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h |
diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h |
index 1d29614a0ebc28ae94e64b95fe96378ca57522d1..f2f0086f522ef5cbee3b70c80f055b2a073ae98e 100644 |
--- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h |
+++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h |
@@ -5,14 +5,19 @@ |
#ifndef CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_ANDROID_H_ |
#define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_ANDROID_H_ |
+#include <jni.h> |
+ |
#include <memory> |
+#include "base/android/jni_android.h" |
#include "base/android/jni_string.h" |
#include "base/android/jni_weak_ref.h" |
#include "base/android/scoped_java_ref.h" |
#include "base/compiler_specific.h" |
#include "base/gtest_prod_util.h" |
#include "base/macros.h" |
+#include "base/memory/weak_ptr.h" |
+#include "components/data_reduction_proxy/proto/data_store.pb.h" |
#include "components/prefs/pref_member.h" |
using base::android::ScopedJavaLocalRef; |
@@ -28,8 +33,13 @@ class DataReductionProxySettings; |
// be called from there. |
class DataReductionProxySettingsAndroid { |
public: |
+ // For testing purposes. |
sclittle
2017/04/06 23:27:43
nit: Is there some way this test-only constructor
megjablon
2017/04/07 01:20:03
Friended the class and made it private
|
DataReductionProxySettingsAndroid(); |
+ DataReductionProxySettingsAndroid( |
+ JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& obj); |
+ |
virtual ~DataReductionProxySettingsAndroid(); |
void InitDataReductionProxySettings(Profile* profile); |
@@ -51,6 +61,9 @@ class DataReductionProxySettingsAndroid { |
jlong GetDataReductionLastUpdateTime( |
JNIEnv* env, |
const base::android::JavaParamRef<jobject>& obj); |
+ void ClearDataSavingStatistics( |
+ JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& obj); |
jlong GetTotalHttpContentLengthSaved( |
JNIEnv* env, |
const base::android::JavaParamRef<jobject>& obj); |
@@ -96,9 +109,23 @@ class DataReductionProxySettingsAndroid { |
JNIEnv* env, |
const base::android::JavaParamRef<jobject>& obj); |
+ // Gets the historical data usage for |numDays| and adds them to a list that |
+ // groups data use by hostname. |
+ void QueryDataUsage(JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& obj, |
+ const base::android::JavaParamRef<jobject>& j_result_obj, |
+ jint num_days); |
+ void OnQueryDataUsageComplete( |
+ std::unique_ptr<std::vector<data_reduction_proxy::DataUsageBucket>> |
sclittle
2017/04/06 23:27:43
Does this need to be a unique_ptr to a vector? Pas
megjablon
2017/04/07 01:20:03
That's the callback signature. That'll affect desk
|
+ data_usage); |
+ |
// Registers the native methods to be call from Java. |
static bool Register(JNIEnv* env); |
+ base::android::ScopedJavaGlobalRef<jobject> j_settings_obj_; |
+ base::android::ScopedJavaGlobalRef<jobject> j_query_result_obj_; |
+ int num_day_for_query_; |
+ |
private: |
friend class DataReductionProxySettingsAndroidTest; |
FRIEND_TEST_ALL_PREFIXES(DataReductionProxySettingsAndroidTest, |
@@ -109,6 +136,8 @@ class DataReductionProxySettingsAndroid { |
virtual data_reduction_proxy::DataReductionProxySettings* Settings(); |
+ base::WeakPtrFactory<DataReductionProxySettingsAndroid> weak_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(DataReductionProxySettingsAndroid); |
}; |