| 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);
|
| }
|
|
|