Index: chrome/browser/android/data_usage/data_use_tab_ui_manager_android.cc |
diff --git a/chrome/browser/android/data_usage/data_use_tab_ui_manager_android.cc b/chrome/browser/android/data_usage/data_use_tab_ui_manager_android.cc |
index 2b3833646d9a7a5e5c1cff12bc8ad63bec147a0b..36114ea23d2d6e01145ab3b225077d8541ecdf90 100644 |
--- a/chrome/browser/android/data_usage/data_use_tab_ui_manager_android.cc |
+++ b/chrome/browser/android/data_usage/data_use_tab_ui_manager_android.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/android/data_usage/data_use_tab_ui_manager_android.h" |
+#include <stdint.h> |
#include <string> |
#include "base/android/jni_android.h" |
@@ -12,8 +13,49 @@ |
#include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_android.h" |
+#include "chrome/grit/generated_resources.h" |
#include "components/sessions/core/session_id.h" |
#include "jni/DataUseTabUIManager_jni.h" |
+#include "ui/base/l10n/l10n_util.h" |
+ |
+namespace { |
+ |
+// Represents the IDs for string messages used by data use snackbar and |
+// interstitial dialog. A Java counterpart will be generated for this enum. |
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.datausage |
+enum DataUseUIMessage { |
+ DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE, |
+ DATA_USE_TRACKING_SNACKBAR_ACTION, |
+ DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE, |
+ DATA_USE_TRACKING_ENDED_TITLE, |
+ DATA_USE_TRACKING_ENDED_MESSAGE, |
+ DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE, |
+ DATA_USE_TRACKING_ENDED_CONTINUE, |
+ DATA_USE_LEARN_MORE_TITLE, |
+ DATA_USE_LEARN_MORE_LINK_URL, |
+ DATA_USE_UI_MESSAGE_MAX |
+}; |
+ |
+// Represents the mapping between DataUseUIMessage ID and UI message IDs in |
+// generated_resources.grd |
+uint32_t data_use_ui_message_id_map[DATA_USE_UI_MESSAGE_MAX] = { |
+ [DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE] = |
+ IDS_DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE, |
+ [DATA_USE_TRACKING_SNACKBAR_ACTION] = |
+ IDS_DATA_USE_TRACKING_SNACKBAR_ACTION, |
+ [DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE] = |
+ IDS_DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE, |
+ [DATA_USE_TRACKING_ENDED_TITLE] = IDS_DATA_USE_TRACKING_ENDED_TITLE, |
+ [DATA_USE_TRACKING_ENDED_MESSAGE] = IDS_DATA_USE_TRACKING_ENDED_MESSAGE, |
+ [DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE] = |
+ IDS_DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE, |
+ [DATA_USE_TRACKING_ENDED_CONTINUE] = |
+ IDS_DATA_USE_TRACKING_ENDED_CONTINUE, |
+ [DATA_USE_LEARN_MORE_TITLE] = IDS_DATA_USE_LEARN_MORE_TITLE, |
+ [DATA_USE_LEARN_MORE_LINK_URL] = IDS_DATA_USE_LEARN_MORE_LINK_URL, |
+}; |
+ |
+} // namespace |
// static |
jboolean CheckAndResetDataUseTrackingStarted( |
@@ -102,6 +144,16 @@ void OnCustomTabInitialNavigation(JNIEnv* env, |
} |
} |
+// static |
+ScopedJavaLocalRef<jstring> GetDataUseUIString( |
+ JNIEnv* env, |
+ const JavaParamRef<jclass>& clazz, |
+ int message_id) { |
+ DCHECK(message_id >= 0 && message_id < DATA_USE_UI_MESSAGE_MAX); |
+ return base::android::ConvertUTF8ToJavaString( |
+ env, l10n_util::GetStringUTF8(data_use_ui_message_id_map[message_id])); |
+} |
+ |
bool RegisterDataUseTabUIManager(JNIEnv* env) { |
return RegisterNativesImpl(env); |
} |