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

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

Issue 1678943002: DataUse UI strings should be changeable via Finch (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: autogen enum and more changes Created 4 years, 10 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 <stdint.h>
7 #include <string> 8 #include <string>
8 9
9 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 11 #include "base/android/jni_string.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.h"
12 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h" 13 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h"
13 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/profiles/profile_android.h" 15 #include "chrome/browser/profiles/profile_android.h"
16 #include "chrome/grit/generated_resources.h"
15 #include "components/sessions/core/session_id.h" 17 #include "components/sessions/core/session_id.h"
16 #include "jni/DataUseTabUIManager_jni.h" 18 #include "jni/DataUseTabUIManager_jni.h"
19 #include "ui/base/l10n/l10n_util.h"
20
21 namespace {
22
23 // Represents the IDs for string messages used by data use snackbar and
24 // interstitial dialog. A Java counterpart will be generated for this enum.
25 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.datausage
26 enum DataUseUIMessage {
27 DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE,
28 DATA_USE_TRACKING_SNACKBAR_ACTION,
29 DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE,
30 DATA_USE_TRACKING_ENDED_TITLE,
31 DATA_USE_TRACKING_ENDED_MESSAGE,
32 DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE,
33 DATA_USE_TRACKING_ENDED_CONTINUE,
34 DATA_USE_LEARN_MORE_TITLE,
35 DATA_USE_LEARN_MORE_LINK_URL,
36 DATA_USE_UI_MESSAGE_MAX
37 };
38
39 // Represents the mapping between DataUseUIMessage ID and UI message IDs in
40 // generated_resources.grd
41 uint32_t data_use_ui_message_id_map[DATA_USE_UI_MESSAGE_MAX] = {
42 [DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE] =
43 IDS_DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE,
44 [DATA_USE_TRACKING_SNACKBAR_ACTION] =
45 IDS_DATA_USE_TRACKING_SNACKBAR_ACTION,
46 [DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE] =
47 IDS_DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE,
48 [DATA_USE_TRACKING_ENDED_TITLE] = IDS_DATA_USE_TRACKING_ENDED_TITLE,
49 [DATA_USE_TRACKING_ENDED_MESSAGE] = IDS_DATA_USE_TRACKING_ENDED_MESSAGE,
50 [DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE] =
51 IDS_DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE,
52 [DATA_USE_TRACKING_ENDED_CONTINUE] =
53 IDS_DATA_USE_TRACKING_ENDED_CONTINUE,
54 [DATA_USE_LEARN_MORE_TITLE] = IDS_DATA_USE_LEARN_MORE_TITLE,
55 [DATA_USE_LEARN_MORE_LINK_URL] = IDS_DATA_USE_LEARN_MORE_LINK_URL,
56 };
57
58 } // namespace
17 59
18 // static 60 // static
19 jboolean CheckAndResetDataUseTrackingStarted( 61 jboolean CheckAndResetDataUseTrackingStarted(
20 JNIEnv* env, 62 JNIEnv* env,
21 const JavaParamRef<jclass>& clazz, 63 const JavaParamRef<jclass>& clazz,
22 jint tab_id, 64 jint tab_id,
23 const JavaParamRef<jobject>& jprofile) { 65 const JavaParamRef<jobject>& jprofile) {
24 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile); 66 Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile);
25 chrome::android::DataUseUITabModel* data_use_ui_tab_model = 67 chrome::android::DataUseUITabModel* data_use_ui_tab_model =
26 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile); 68 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile); 137 chrome::android::DataUseUITabModelFactory::GetForBrowserContext(profile);
96 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id)); 138 DCHECK_LE(0, static_cast<SessionID::id_type>(tab_id));
97 if (data_use_ui_tab_model) { 139 if (data_use_ui_tab_model) {
98 data_use_ui_tab_model->ReportCustomTabInitialNavigation( 140 data_use_ui_tab_model->ReportCustomTabInitialNavigation(
99 static_cast<SessionID::id_type>(tab_id), 141 static_cast<SessionID::id_type>(tab_id),
100 ConvertJavaStringToUTF8(env, package_name), 142 ConvertJavaStringToUTF8(env, package_name),
101 ConvertJavaStringToUTF8(env, url)); 143 ConvertJavaStringToUTF8(env, url));
102 } 144 }
103 } 145 }
104 146
147 // static
148 ScopedJavaLocalRef<jstring> GetDataUseUIString(
149 JNIEnv* env,
150 const JavaParamRef<jclass>& clazz,
151 int message_id) {
152 DCHECK(message_id >= 0 && message_id < DATA_USE_UI_MESSAGE_MAX);
153 return base::android::ConvertUTF8ToJavaString(
154 env, l10n_util::GetStringUTF8(data_use_ui_message_id_map[message_id]));
155 }
156
105 bool RegisterDataUseTabUIManager(JNIEnv* env) { 157 bool RegisterDataUseTabUIManager(JNIEnv* env) {
106 return RegisterNativesImpl(env); 158 return RegisterNativesImpl(env);
107 } 159 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698