diff --git a/java/res/values/strings-config-important-notice.xml b/java/res/values/strings-config-important-notice.xml index 3be95d333..f2229bec4 100644 --- a/java/res/values/strings-config-important-notice.xml +++ b/java/res/values/strings-config-important-notice.xml @@ -20,11 +20,14 @@ 0 - - - - - + + + + + + + + Learn from your communications and typed data to improve suggestions diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 47137e7fb..f2fa32923 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -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 diff --git a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java index 6b0bb86ac..ca8bef397 100644 --- a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java @@ -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; } }