Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/datausage/DataUseTabUIManager.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datausage/DataUseTabUIManager.java b/chrome/android/java/src/org/chromium/chrome/browser/datausage/DataUseTabUIManager.java |
| index ad3f5e1acc9d8956b55ea84662aa76c2100d653f..8f463b821db4af6bdeb4660b28f8bbef07fd80e7 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/datausage/DataUseTabUIManager.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/datausage/DataUseTabUIManager.java |
| @@ -13,6 +13,7 @@ import android.support.v7.app.AlertDialog; |
| import android.text.TextUtils; |
| import android.view.View; |
| import android.widget.CheckBox; |
| +import android.widget.TextView; |
| import org.chromium.base.metrics.RecordHistogram; |
| import org.chromium.chrome.R; |
| @@ -48,6 +49,23 @@ public class DataUseTabUIManager { |
| } |
| /** |
| + * Represents the IDs for string messages used by data use snackbar and interstitial dialog. |
| + * This must remain in sync with data_use_tab_ui_manager_android.cc. |
| + */ |
| + public static class DataUseUIMessage { |
| + public static final int DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE = 0; |
|
tbansal1
2016/02/08 23:16:02
Is it possible to generate enums from c++ automati
Raj
2016/02/09 01:10:35
Implemented similar to
https://chromiumcodereview.
|
| + public static final int DATA_USE_TRACKING_SNACKBAR_ACTION = 1; |
| + public static final int DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE = 2; |
| + public static final int DATA_USE_TRACKING_ENDED_TITLE = 3; |
| + public static final int DATA_USE_TRACKING_ENDED_MESSAGE = 4; |
| + public static final int DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE = 5; |
| + public static final int DATA_USE_TRACKING_ENDED_CONTINUE = 6; |
| + public static final int DATA_USE_LEARN_MORE_TITLE = 7; |
| + public static final int DATA_USE_LEARN_MORE_LINK_URL = 8; |
| + public static final int DATA_USE_UI_MESSAGE_MAX = 9; |
| + }; |
| + |
| + /** |
| * Returns true if data use tracking has started within a Tab. When data use tracking has |
| * started, returns true only once to signify the started event. |
| * |
| @@ -147,7 +165,10 @@ public class DataUseTabUIManager { |
| private static void startDataUseDialog(final Activity activity, final Tab tab, |
| final String url, final int pageTransitionType, final String referrerUrl) { |
| View dataUseDialogView = View.inflate(activity, R.layout.data_use_dialog, null); |
| + final TextView textView = (TextView) dataUseDialogView.findViewById(R.id.data_use_message); |
| + textView.setText(getUIMessage(DataUseUIMessage.DATA_USE_TRACKING_ENDED_MESSAGE)); |
| final CheckBox checkBox = (CheckBox) dataUseDialogView.findViewById(R.id.data_use_checkbox); |
| + checkBox.setText(getUIMessage(DataUseUIMessage.DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE)); |
| View learnMore = dataUseDialogView.findViewById(R.id.learn_more); |
| learnMore.setOnClickListener(new android.view.View.OnClickListener() { |
| @Override |
| @@ -158,9 +179,9 @@ public class DataUseTabUIManager { |
| } |
| }); |
| new AlertDialog.Builder(activity, R.style.AlertDialogTheme) |
| - .setTitle(R.string.data_use_tracking_ended_title) |
| + .setTitle(getUIMessage(DataUseUIMessage.DATA_USE_TRACKING_ENDED_TITLE)) |
| .setView(dataUseDialogView) |
| - .setPositiveButton(R.string.data_use_tracking_ended_continue, |
| + .setPositiveButton(getUIMessage(DataUseUIMessage.DATA_USE_TRACKING_ENDED_CONTINUE), |
| new OnClickListener() { |
| @Override |
| public void onClick(DialogInterface dialog, int which) { |
| @@ -177,13 +198,14 @@ public class DataUseTabUIManager { |
| userClickedContinueOnDialogBox(tab); |
| } |
| }) |
| - .setNegativeButton(R.string.cancel, new OnClickListener() { |
| - @Override |
| - public void onClick(DialogInterface dialog, int which) { |
| - setOptedOutOfDataUseDialog(activity, checkBox.isChecked()); |
| - recordDataUseUIAction(DataUsageUIAction.DIALOG_CANCEL_CLICKED); |
| - } |
| - }) |
| + .setNegativeButton(R.string.cancel, |
| + new OnClickListener() { |
| + @Override |
| + public void onClick(DialogInterface dialog, int which) { |
| + setOptedOutOfDataUseDialog(activity, checkBox.isChecked()); |
| + recordDataUseUIAction(DataUsageUIAction.DIALOG_CANCEL_CLICKED); |
| + } |
| + }) |
| .show(); |
| recordDataUseUIAction(DataUsageUIAction.DIALOG_SHOWN); |
| } |
| @@ -225,6 +247,11 @@ public class DataUseTabUIManager { |
| DataUsageUIAction.INDEX_BOUNDARY); |
| } |
| + public static String getUIMessage(int messageID) { |
|
megjablon
2016/02/08 23:06:35
Add javadoc. Include why we need to do this, somet
Raj
2016/02/09 01:10:35
Done.
|
| + assert messageID >= 0 && messageID < DataUseUIMessage.DATA_USE_UI_MESSAGE_MAX; |
| + return nativeGetUIMessage(messageID); |
| + } |
| + |
| private static native boolean nativeCheckAndResetDataUseTrackingStarted( |
| int tabId, Profile profile); |
| private static native boolean nativeCheckAndResetDataUseTrackingEnded( |
| @@ -234,4 +261,5 @@ public class DataUseTabUIManager { |
| int tabId, String url, int pageTransitionType, Profile jprofile); |
| private static native void nativeOnCustomTabInitialNavigation(int tabID, String packageName, |
| String url, Profile profile); |
| + private static native String nativeGetUIMessage(int messageID); |
| } |