Chromium Code Reviews| 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..e67e9899331535200c63540727e042cb7fb5d27d 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> |
|
sclittle
2017/04/07 20:44:16
nit: Add include for <vector>
megjablon
2017/04/08 01:52:57
Done.
|
| +#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,7 +33,9 @@ class DataReductionProxySettings; |
| // be called from there. |
| class DataReductionProxySettingsAndroid { |
| public: |
| - DataReductionProxySettingsAndroid(); |
| + DataReductionProxySettingsAndroid( |
| + JNIEnv* env, |
| + const base::android::JavaParamRef<jobject>& obj); |
| virtual ~DataReductionProxySettingsAndroid(); |
| @@ -51,6 +58,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,19 +106,39 @@ 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>> |
| + data_usage); |
| + |
| // Registers the native methods to be call from Java. |
| static bool Register(JNIEnv* env); |
| + base::android::ScopedJavaGlobalRef<jobject> j_settings_obj_; |
|
gone
2017/04/07 20:21:58
If the Java side creates and owns this class, this
megjablon
2017/04/08 01:52:58
Done.
|
| + base::android::ScopedJavaGlobalRef<jobject> j_query_result_obj_; |
| + int num_day_for_query_; |
| + |
| private: |
| friend class DataReductionProxySettingsAndroidTest; |
| + friend class TestDataReductionProxySettingsAndroid; |
| FRIEND_TEST_ALL_PREFIXES(DataReductionProxySettingsAndroidTest, |
| TestGetDailyContentLengths); |
| + // For testing purposes. |
| + DataReductionProxySettingsAndroid(); |
| + |
| ScopedJavaLocalRef<jlongArray> GetDailyContentLengths(JNIEnv* env, |
| const char* pref_name); |
| virtual data_reduction_proxy::DataReductionProxySettings* Settings(); |
| + base::WeakPtrFactory<DataReductionProxySettingsAndroid> weak_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(DataReductionProxySettingsAndroid); |
| }; |