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