diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 845bafe17..30bb505cb 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1320,6 +1320,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen return false; if (mSuggestionStripView.isShowingAddToDictionaryHint()) return true; + if (ImportantNoticeUtils.hasNewImportantNoticeAndNotInSetupWizard(this)) + return true; if (null == currentSettings) return false; if (!currentSettings.isSuggestionStripVisible()) @@ -1352,7 +1354,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (mSuggestionStripView != null) { final boolean showSuggestions; if (SuggestedWords.EMPTY == suggestedWords - || suggestedWords.mIsPunctuationSuggestions) { + || suggestedWords.mIsPunctuationSuggestions + || !mSettings.getCurrent().isSuggestionsRequested()) { showSuggestions = !mSuggestionStripView.maybeShowImportantNoticeTitle(); } else { showSuggestions = true; diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java index 68c891bf3..29c0613e4 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java @@ -225,8 +225,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick // it has been shown once already or not, and if in the setup wizard). If applicable, it shows // the notice. In all cases, it returns true if it was shown, false otherwise. public boolean maybeShowImportantNoticeTitle() { - if (!ImportantNoticeUtils.hasNewImportantNotice(getContext()) - || ImportantNoticeUtils.isInSystemSetupWizard(getContext())) { + if (!ImportantNoticeUtils.hasNewImportantNoticeAndNotInSetupWizard(getContext())) { return false; } final int width = getWidth(); diff --git a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java index 4a0823155..604c36488 100644 --- a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java @@ -42,7 +42,7 @@ public final class ImportantNoticeUtils { // This utility class is not publicly instantiable. } - public static boolean isInSystemSetupWizard(final Context context) { + private static boolean isInSystemSetupWizard(final Context context) { try { final int userSetupComplete = Settings.Secure.getInt( context.getContentResolver(), Settings_Secure_USER_SETUP_COMPLETE); @@ -62,10 +62,11 @@ public final class ImportantNoticeUtils { return context.getResources().getInteger(R.integer.config_important_notice_version); } - public static boolean hasNewImportantNotice(final Context context) { + public static boolean hasNewImportantNoticeAndNotInSetupWizard(final Context context) { final SharedPreferences prefs = getImportantNoticePreferences(context); final int lastVersion = prefs.getInt(KEY_IMPORTANT_NOTICE_VERSION, 0); - return getCurrentImportantNoticeVersion(context) > lastVersion; + return getCurrentImportantNoticeVersion(context) > lastVersion + && !isInSystemSetupWizard(context); } public static void updateLastImportantNoticeVersion(final Context context) {