From fe39d576dcd515d7fcd678a2ed6a621185cc69e3 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 20 Feb 2014 15:25:07 +0900 Subject: [PATCH] Support versioned important notice This change must be checked in together with If38a754d00. Bug: 10587358 Change-Id: I91580f9468bc5ee7ed1694d7852a60dc6793dac0 --- .../strings-config-important-notice.xml | 13 +++++---- .../android/inputmethod/latin/LatinIME.java | 19 +++++++++++-- .../latin/utils/ImportantNoticeUtils.java | 28 +++++++++---------- 3 files changed, 38 insertions(+), 22 deletions(-) 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; } }