Support versioned important notice
This change must be checked in together with If38a754d00. Bug: 10587358 Change-Id: I91580f9468bc5ee7ed1694d7852a60dc6793dac0main
parent
1b3a142cac
commit
fe39d576dc
|
@ -20,11 +20,14 @@
|
|||
|
||||
<resources>
|
||||
<integer name="config_important_notice_version">0</integer>
|
||||
<!-- TODO: Make title and contents resource to string array indexed by version. -->
|
||||
<!-- The text of the important notice displayed on the suggestion strip. -->
|
||||
<string name="important_notice_title"></string>
|
||||
<!-- The contents of the important notice. -->
|
||||
<string name="important_notice_contents"></string>
|
||||
<!-- The array of the text of the important notices displayed on the suggestion strip. -->
|
||||
<string-array name="important_notice_title_array">
|
||||
<!-- empty -->
|
||||
</string-array>
|
||||
<!-- The array of the contents of the important notices. -->
|
||||
<string-array name="important_notice_contents_array">
|
||||
<!-- empty -->
|
||||
</string-array>
|
||||
<!-- Description for option enabling the use by the keyboards of sent/received messages, e-mail and typing history to improve suggestion accuracy [CHAR LIMIT=68] -->
|
||||
<string name="use_personalized_dicts_summary">Learn from your communications and typed data to improve suggestions</string>
|
||||
</resources>
|
||||
|
|
|
@ -1190,15 +1190,28 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK);
|
||||
builder.setMessage(ImportantNoticeUtils.getNextImportantNoticeContents(context));
|
||||
builder.setPositiveButton(android.R.string.ok, null /* listener */);
|
||||
final int nextVersion = ImportantNoticeUtils.getNextImportantNoticeVersion(context);
|
||||
final OnClickListener onClickListener = new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(final DialogInterface dialog, final int position) {
|
||||
if (position == DialogInterface.BUTTON_NEGATIVE) {
|
||||
launchSettings();
|
||||
switch (nextVersion) {
|
||||
case ImportantNoticeUtils.VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS:
|
||||
if (position == DialogInterface.BUTTON_NEGATIVE) {
|
||||
launchSettings();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
builder.setNegativeButton(R.string.go_to_settings, onClickListener);
|
||||
switch (nextVersion) {
|
||||
case ImportantNoticeUtils.VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS:
|
||||
builder.setNegativeButton(R.string.go_to_settings, onClickListener);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
final AlertDialog importantNoticeDialog = builder.create();
|
||||
importantNoticeDialog.setOnShowListener(new OnShowListener() {
|
||||
@Override
|
||||
|
|
|
@ -60,7 +60,7 @@ public final class ImportantNoticeUtils {
|
|||
return context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
public static int getCurrentImportantNoticeVersion(final Context context) {
|
||||
private static int getCurrentImportantNoticeVersion(final Context context) {
|
||||
return context.getResources().getInteger(R.integer.config_important_notice_version);
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ public final class ImportantNoticeUtils {
|
|||
return getImportantNoticePreferences(context).getInt(KEY_IMPORTANT_NOTICE_VERSION, 0);
|
||||
}
|
||||
|
||||
private static int getNextImportantNoticeVersion(final Context context) {
|
||||
public static int getNextImportantNoticeVersion(final Context context) {
|
||||
return getLastImportantNoticeVersion(context) + 1;
|
||||
}
|
||||
|
||||
|
@ -92,23 +92,23 @@ public final class ImportantNoticeUtils {
|
|||
.apply();
|
||||
}
|
||||
|
||||
// TODO: Make title resource to string array indexed by version.
|
||||
public static String getNextImportantNoticeTitle(final Context context) {
|
||||
switch (getNextImportantNoticeVersion(context)) {
|
||||
case VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS:
|
||||
return context.getString(R.string.important_notice_title);
|
||||
default:
|
||||
return null;
|
||||
final int nextVersion = getCurrentImportantNoticeVersion(context);
|
||||
final String[] importantNoticeTitleArray = context.getResources().getStringArray(
|
||||
R.array.important_notice_title_array);
|
||||
if (nextVersion > 0 && nextVersion < importantNoticeTitleArray.length) {
|
||||
return importantNoticeTitleArray[nextVersion];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO: Make content resource to string array indexed by version.
|
||||
public static String getNextImportantNoticeContents(final Context context) {
|
||||
switch (getNextImportantNoticeVersion(context)) {
|
||||
case VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS:
|
||||
return context.getString(R.string.important_notice_contents);
|
||||
default:
|
||||
return null;
|
||||
final int nextVersion = getNextImportantNoticeVersion(context);
|
||||
final String[] importantNoticeContentsArray = context.getResources().getStringArray(
|
||||
R.array.important_notice_contents_array);
|
||||
if (nextVersion > 0 && nextVersion < importantNoticeContentsArray.length) {
|
||||
return importantNoticeContentsArray[nextVersion];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue