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

Side by Side Diff: chrome/browser/android/data_usage/data_use_tab_ui_manager_android.cc

Issue 1539763004: Miscellaneous fixes to DataUse UI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/data_usage/data_use_tab_ui_manager_android.h" 5 #include "chrome/browser/android/data_usage/data_use_tab_ui_manager_android.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
11 #include "chrome/browser/android/data_usage/data_use_ui_tab_model.h" 11 #include "chrome/browser/android/data_usage/data_use_ui_tab_model.h"
12 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h" 12 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h"
13 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/profiles/profile_android.h" 14 #include "chrome/browser/profiles/profile_android.h"
15 #include "components/sessions/core/session_id.h" 15 #include "components/sessions/core/session_id.h"
16 #include "jni/DataUseTabUIManager_jni.h" 16 #include "jni/DataUseTabUIManager_jni.h"
17 17
18 // static 18 // static
19 jboolean CheckDataUseTrackingStarted(JNIEnv* env, 19 jboolean CheckAndResetDataUseTrackingStarted(
20 const JavaParamRef<jclass>& clazz, 20 JNIEnv* env,
21 jint tab_id, 21 const JavaParamRef<jclass>& clazz,
22 const JavaParamRef<jobject>& jprofile) { 22 jint tab_id,
23 const JavaParamRef<jobject>& jprofile) {
23 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile); 24 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile);
24 chrome::android::DataUseUITabModel* data_use_ui_tab_model = 25 chrome::android::DataUseUITabModel* data_use_ui_tab_model =
25 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile); 26 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile);
26 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id)); 27 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id));
27 if (data_use_ui_tab_model) { 28 if (data_use_ui_tab_model) {
28 return data_use_ui_tab_model->HasDataUseTrackingStarted( 29 return data_use_ui_tab_model->CheckAndResetDataUseTrackingStarted(
29 static_cast<SessionID::id_type>(tab_id)); 30 static_cast<SessionID::id_type>(tab_id));
30 } 31 }
31 return false; 32 return false;
32 } 33 }
33 34
34 // static 35 // static
35 jboolean CheckDataUseTrackingEnded(JNIEnv* env, 36 jboolean CheckAndResetDataUseTrackingEnded(
36 const JavaParamRef<jclass>& clazz, 37 JNIEnv* env,
37 jint tab_id, 38 const JavaParamRef<jclass>& clazz,
38 const JavaParamRef<jobject>& jprofile) { 39 jint tab_id,
40 const JavaParamRef<jobject>& jprofile) {
39 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile); 41 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile);
40 chrome::android::DataUseUITabModel* data_use_ui_tab_model = 42 chrome::android::DataUseUITabModel* data_use_ui_tab_model =
41 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile); 43 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile);
42 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id)); 44 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id));
43 if (data_use_ui_tab_model) { 45 if (data_use_ui_tab_model) {
44 return data_use_ui_tab_model->HasDataUseTrackingEnded( 46 return data_use_ui_tab_model->CheckAndResetDataUseTrackingEnded(
45 static_cast<SessionID::id_type>(tab_id)); 47 static_cast<SessionID::id_type>(tab_id));
46 } 48 }
47 return false; 49 return false;
50 }
51
52 // static
53 void UserClickedContinueOnDialogBox(JNIEnv* env,
54 const JavaParamRef<jclass>& clazz,
55 jint tab_id,
56 const JavaParamRef<jobject>& jprofile) {
57 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile);
58 chrome::android::DataUseUITabModel* data_use_ui_tab_model =
59 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile);
60 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id));
61 if (data_use_ui_tab_model) {
62 data_use_ui_tab_model->UserClickedContinueOnDialogBox(
63 static_cast<SessionID::id_type>(tab_id));
64 }
65 }
66
67 // static
68 jboolean WouldDataUseTrackingEnd(JNIEnv* env,
69 const JavaParamRef<jclass>& clazz,
70 jint tab_id,
71 const JavaParamRef<jstring>& url,
72 jint transition_type,
73 const JavaParamRef<jobject>& jprofile) {
74 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile);
75 chrome::android::DataUseUITabModel* data_use_ui_tab_model =
76 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile);
77 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id));
78 if (data_use_ui_tab_model) {
79 return data_use_ui_tab_model->WouldDataUseTrackingEnd(
80 ConvertJavaStringToUTF8(env, url), transition_type,
81 static_cast<SessionID::id_type>(tab_id));
82 }
83 return false;
48 } 84 }
49 85
50 // static 86 // static
51 void OnCustomTabInitialNavigation(JNIEnv* env, 87 void OnCustomTabInitialNavigation(JNIEnv* env,
52 const JavaParamRef<jclass>& clazz, 88 const JavaParamRef<jclass>& clazz,
53 jint tab_id, 89 jint tab_id,
90 const JavaParamRef<jstring>& package_name,
54 const JavaParamRef<jstring>& url, 91 const JavaParamRef<jstring>& url,
55 const JavaParamRef<jstring>& package_name,
56 const JavaParamRef<jobject>& jprofile) { 92 const JavaParamRef<jobject>& jprofile) {
57 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile); 93 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile);
58 chrome::android::DataUseUITabModel* data_use_ui_tab_model = 94 chrome::android::DataUseUITabModel* data_use_ui_tab_model =
59 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile); 95 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile);
60 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id)); 96 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id));
61 if (data_use_ui_tab_model) { 97 if (data_use_ui_tab_model) {
62 data_use_ui_tab_model->ReportCustomTabInitialNavigation( 98 data_use_ui_tab_model->ReportCustomTabInitialNavigation(
63 static_cast<SessionID::id_type>(tab_id), 99 static_cast<SessionID::id_type>(tab_id),
64 ConvertJavaStringToUTF8(env, url), 100 ConvertJavaStringToUTF8(env, package_name),
65 ConvertJavaStringToUTF8(env, package_name)); 101 ConvertJavaStringToUTF8(env, url));
66 } 102 }
67 } 103 }
68 104
69 bool RegisterDataUseTabUIManager(JNIEnv* env) { 105 bool RegisterDataUseTabUIManager(JNIEnv* env) {
70 return RegisterNativesImpl(env); 106 return RegisterNativesImpl(env);
71 } 107 }
OLDNEW
« no previous file with comments | « chrome/browser/android/data_usage/data_use_tab_helper.cc ('k') | chrome/browser/android/data_usage/data_use_ui_tab_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698