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>
|
<resources>
|
||||||
<integer name="config_important_notice_version">0</integer>
|
<integer name="config_important_notice_version">0</integer>
|
||||||
<!-- TODO: Make title and contents resource to string array indexed by version. -->
|
<!-- The array of the text of the important notices displayed on the suggestion strip. -->
|
||||||
<!-- The text of the important notice displayed on the suggestion strip. -->
|
<string-array name="important_notice_title_array">
|
||||||
<string name="important_notice_title"></string>
|
<!-- empty -->
|
||||||
<!-- The contents of the important notice. -->
|
</string-array>
|
||||||
<string name="important_notice_contents"></string>
|
<!-- 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] -->
|
<!-- 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>
|
<string name="use_personalized_dicts_summary">Learn from your communications and typed data to improve suggestions</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -1190,15 +1190,28 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK);
|
new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK);
|
||||||
builder.setMessage(ImportantNoticeUtils.getNextImportantNoticeContents(context));
|
builder.setMessage(ImportantNoticeUtils.getNextImportantNoticeContents(context));
|
||||||
builder.setPositiveButton(android.R.string.ok, null /* listener */);
|
builder.setPositiveButton(android.R.string.ok, null /* listener */);
|
||||||
|
final int nextVersion = ImportantNoticeUtils.getNextImportantNoticeVersion(context);
|
||||||
final OnClickListener onClickListener = new OnClickListener() {
|
final OnClickListener onClickListener = new OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(final DialogInterface dialog, final int position) {
|
public void onClick(final DialogInterface dialog, final int position) {
|
||||||
if (position == DialogInterface.BUTTON_NEGATIVE) {
|
switch (nextVersion) {
|
||||||
launchSettings();
|
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();
|
final AlertDialog importantNoticeDialog = builder.create();
|
||||||
importantNoticeDialog.setOnShowListener(new OnShowListener() {
|
importantNoticeDialog.setOnShowListener(new OnShowListener() {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -60,7 +60,7 @@ public final class ImportantNoticeUtils {
|
||||||
return context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
|
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);
|
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);
|
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;
|
return getLastImportantNoticeVersion(context) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,23 +92,23 @@ public final class ImportantNoticeUtils {
|
||||||
.apply();
|
.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Make title resource to string array indexed by version.
|
|
||||||
public static String getNextImportantNoticeTitle(final Context context) {
|
public static String getNextImportantNoticeTitle(final Context context) {
|
||||||
switch (getNextImportantNoticeVersion(context)) {
|
final int nextVersion = getCurrentImportantNoticeVersion(context);
|
||||||
case VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS:
|
final String[] importantNoticeTitleArray = context.getResources().getStringArray(
|
||||||
return context.getString(R.string.important_notice_title);
|
R.array.important_notice_title_array);
|
||||||
default:
|
if (nextVersion > 0 && nextVersion < importantNoticeTitleArray.length) {
|
||||||
return null;
|
return importantNoticeTitleArray[nextVersion];
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Make content resource to string array indexed by version.
|
|
||||||
public static String getNextImportantNoticeContents(final Context context) {
|
public static String getNextImportantNoticeContents(final Context context) {
|
||||||
switch (getNextImportantNoticeVersion(context)) {
|
final int nextVersion = getNextImportantNoticeVersion(context);
|
||||||
case VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS:
|
final String[] importantNoticeContentsArray = context.getResources().getStringArray(
|
||||||
return context.getString(R.string.important_notice_contents);
|
R.array.important_notice_contents_array);
|
||||||
default:
|
if (nextVersion > 0 && nextVersion < importantNoticeContentsArray.length) {
|
||||||
return null;
|
return importantNoticeContentsArray[nextVersion];
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue