Loading java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +1 −3 Original line number Diff line number Diff line Loading @@ -115,9 +115,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { final int keyboardHeight = ResourceUtils.getDefaultKeyboardHeight(res); builder.setKeyboardGeometry(keyboardWidth, keyboardHeight); builder.setSubtype(mSubtypeSwitcher.getCurrentSubtype()); builder.setVoiceInputKeyEnabled(mSubtypeSwitcher.isShortcutImeEnabled() && settingsValues.mShowsVoiceInputKey && !settingsValues.mInputAttributes.hasNoMicrophoneKeyOption()); builder.setVoiceInputKeyEnabled(settingsValues.mShowsVoiceInputKey); builder.setLanguageSwitchKeyEnabled(mLatinIME.shouldShowLanguageSwitchKey()); mKeyboardLayoutSet = builder.build(); mCurrentSettingsValues = settingsValues; Loading java/src/com/android/inputmethod/latin/LatinIME.java +3 −2 Original line number Diff line number Diff line Loading @@ -747,6 +747,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } Log.i(TAG, "Starting input. Cursor position = " + editorInfo.initialSelStart + "," + editorInfo.initialSelEnd); // TODO: Consolidate these checks with {@link InputAttributes}. if (InputAttributes.inPrivateImeOptions(null, NO_MICROPHONE_COMPAT, editorInfo)) { Log.w(TAG, "Deprecated private IME option specified: " + editorInfo.privateImeOptions); Log.w(TAG, "Use " + getPackageName() + "." + NO_MICROPHONE + " instead"); Loading Loading @@ -1352,11 +1353,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (!onEvaluateInputViewShown()) { return; } mSuggestionStripView.updateVisibility(isSuggestionStripVisible, isFullscreenMode()); if (!isSuggestionStripVisible) { mSuggestionStripView.setVisibility(isFullscreenMode() ? View.GONE : View.INVISIBLE); return; } mSuggestionStripView.setVisibility(View.VISIBLE); final SettingsValues currentSettings = mSettings.getCurrent(); final boolean showSuggestions; Loading java/src/com/android/inputmethod/latin/settings/SettingsValues.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.inputmethod.compat.AppWorkaroundsUtils; import com.android.inputmethod.latin.InputAttributes; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.RichInputMethodManager; import com.android.inputmethod.latin.SubtypeSwitcher; import com.android.inputmethod.latin.utils.AsyncResultHolder; import com.android.inputmethod.latin.utils.ResourceUtils; import com.android.inputmethod.latin.utils.TargetPackageInfoGetterTask; Loading Loading @@ -122,7 +123,10 @@ public final class SettingsValues { mKeyPreviewPopupOn = Settings.readKeyPreviewPopupEnabled(prefs, res); mSlidingKeyInputPreviewEnabled = prefs.getBoolean( DebugSettings.PREF_SLIDING_KEY_INPUT_PREVIEW, true); mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res); mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res) && !mInputAttributes.mIsPasswordField && !mInputAttributes.hasNoMicrophoneKeyOption() && SubtypeSwitcher.getInstance().isShortcutImeEnabled(); final String autoCorrectionThresholdRawValue = prefs.getString( Settings.PREF_AUTO_CORRECTION_THRESHOLD, res.getString(R.string.auto_correction_threshold_mode_index_modest)); Loading java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +17 −23 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.Settings; import com.android.inputmethod.latin.settings.SettingsValues; import com.android.inputmethod.latin.suggestions.MoreSuggestionsView.MoreSuggestionsListener; import com.android.inputmethod.latin.utils.ImportantNoticeUtils; Loading Loading @@ -89,19 +90,17 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick private static class StripVisibilityGroup { private final View mSuggestionStripView; private final View mSuggestionsStrip; private final View mVoiceKey; private final View mAddToDictionaryStrip; private final View mImportantNoticeStrip; public StripVisibilityGroup(final View suggestionStripView, final ViewGroup suggestionsStrip, final ImageButton voiceKey, final ViewGroup addToDictionaryStrip, final View importantNoticeStrip) { final ViewGroup suggestionsStrip, final ViewGroup addToDictionaryStrip, final View importantNoticeStrip) { mSuggestionStripView = suggestionStripView; mSuggestionsStrip = suggestionsStrip; mVoiceKey = voiceKey; mAddToDictionaryStrip = addToDictionaryStrip; mImportantNoticeStrip = importantNoticeStrip; showSuggestionsStrip(false /* voiceKeyEnabled */); showSuggestionsStrip(); } public void setLayoutDirection(final boolean isRtlLanguage) { Loading @@ -113,23 +112,20 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick ViewCompat.setLayoutDirection(mImportantNoticeStrip, layoutDirection); } public void showSuggestionsStrip(final boolean enableVoiceKey) { public void showSuggestionsStrip() { mSuggestionsStrip.setVisibility(VISIBLE); mVoiceKey.setVisibility(enableVoiceKey ? VISIBLE : INVISIBLE); mAddToDictionaryStrip.setVisibility(INVISIBLE); mImportantNoticeStrip.setVisibility(INVISIBLE); } public void showAddToDictionaryStrip() { mSuggestionsStrip.setVisibility(INVISIBLE); mVoiceKey.setVisibility(INVISIBLE); mAddToDictionaryStrip.setVisibility(VISIBLE); mImportantNoticeStrip.setVisibility(INVISIBLE); } public void showImportantNoticeStrip(final boolean enableVoiceKey) { public void showImportantNoticeStrip() { mSuggestionsStrip.setVisibility(INVISIBLE); mVoiceKey.setVisibility(enableVoiceKey ? VISIBLE : INVISIBLE); mAddToDictionaryStrip.setVisibility(INVISIBLE); mImportantNoticeStrip.setVisibility(VISIBLE); } Loading Loading @@ -159,7 +155,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mVoiceKey = (ImageButton)findViewById(R.id.suggestions_strip_voice_key); mAddToDictionaryStrip = (ViewGroup)findViewById(R.id.add_to_dictionary_strip); mImportantNoticeStrip = findViewById(R.id.important_notice_strip); mStripVisibilityGroup = new StripVisibilityGroup(this, mSuggestionsStrip, mVoiceKey, mStripVisibilityGroup = new StripVisibilityGroup(this, mSuggestionsStrip, mAddToDictionaryStrip, mImportantNoticeStrip); for (int pos = 0; pos < SuggestedWords.MAX_SUGGESTIONS; pos++) { Loading Loading @@ -207,15 +203,13 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mMainKeyboardView = (MainKeyboardView)inputView.findViewById(R.id.keyboard_view); } private boolean isVoiceKeyEnabled() { if (mMainKeyboardView == null) { return false; } final Keyboard keyboard = mMainKeyboardView.getKeyboard(); if (keyboard == null) { return false; } return keyboard.mId.mHasShortcutKey; public void updateVisibility(final boolean shouldBeVisible, final boolean isFullscreenMode) { final int visibility = shouldBeVisible ? VISIBLE : (isFullscreenMode ? GONE : INVISIBLE); setVisibility(visibility); final SettingsValues currentSettingsValues = Settings.getInstance().getCurrent(); final boolean shouldShowVoiceKey = (currentSettingsValues != null) && currentSettingsValues.mShowsVoiceInputKey; mVoiceKey.setVisibility(shouldShowVoiceKey ? VISIBLE : INVISIBLE); } public void setSuggestions(final SuggestedWords suggestedWords, final boolean isRtlLanguage) { Loading @@ -224,7 +218,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mSuggestedWords = suggestedWords; mSuggestionsCountInStrip = mLayoutHelper.layoutAndReturnSuggestionCountInStrip( mSuggestedWords, mSuggestionsStrip, this); mStripVisibilityGroup.showSuggestionsStrip(isVoiceKeyEnabled()); mStripVisibilityGroup.showSuggestionsStrip(); } public int setMoreSuggestionsHeight(final int remainingHeight) { Loading Loading @@ -271,7 +265,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick dismissMoreSuggestionsPanel(); } mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, importantNoticeTitle); mStripVisibilityGroup.showImportantNoticeStrip(isVoiceKeyEnabled()); mStripVisibilityGroup.showImportantNoticeStrip(); mImportantNoticeStrip.setOnClickListener(this); return true; } Loading @@ -279,7 +273,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick public void clear() { mSuggestionsStrip.removeAllViews(); removeAllDebugInfoViews(); mStripVisibilityGroup.showSuggestionsStrip(false /* enableVoiceKey */); mStripVisibilityGroup.showSuggestionsStrip(); dismissMoreSuggestionsPanel(); } Loading Loading
java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +1 −3 Original line number Diff line number Diff line Loading @@ -115,9 +115,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { final int keyboardHeight = ResourceUtils.getDefaultKeyboardHeight(res); builder.setKeyboardGeometry(keyboardWidth, keyboardHeight); builder.setSubtype(mSubtypeSwitcher.getCurrentSubtype()); builder.setVoiceInputKeyEnabled(mSubtypeSwitcher.isShortcutImeEnabled() && settingsValues.mShowsVoiceInputKey && !settingsValues.mInputAttributes.hasNoMicrophoneKeyOption()); builder.setVoiceInputKeyEnabled(settingsValues.mShowsVoiceInputKey); builder.setLanguageSwitchKeyEnabled(mLatinIME.shouldShowLanguageSwitchKey()); mKeyboardLayoutSet = builder.build(); mCurrentSettingsValues = settingsValues; Loading
java/src/com/android/inputmethod/latin/LatinIME.java +3 −2 Original line number Diff line number Diff line Loading @@ -747,6 +747,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } Log.i(TAG, "Starting input. Cursor position = " + editorInfo.initialSelStart + "," + editorInfo.initialSelEnd); // TODO: Consolidate these checks with {@link InputAttributes}. if (InputAttributes.inPrivateImeOptions(null, NO_MICROPHONE_COMPAT, editorInfo)) { Log.w(TAG, "Deprecated private IME option specified: " + editorInfo.privateImeOptions); Log.w(TAG, "Use " + getPackageName() + "." + NO_MICROPHONE + " instead"); Loading Loading @@ -1352,11 +1353,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (!onEvaluateInputViewShown()) { return; } mSuggestionStripView.updateVisibility(isSuggestionStripVisible, isFullscreenMode()); if (!isSuggestionStripVisible) { mSuggestionStripView.setVisibility(isFullscreenMode() ? View.GONE : View.INVISIBLE); return; } mSuggestionStripView.setVisibility(View.VISIBLE); final SettingsValues currentSettings = mSettings.getCurrent(); final boolean showSuggestions; Loading
java/src/com/android/inputmethod/latin/settings/SettingsValues.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.inputmethod.compat.AppWorkaroundsUtils; import com.android.inputmethod.latin.InputAttributes; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.RichInputMethodManager; import com.android.inputmethod.latin.SubtypeSwitcher; import com.android.inputmethod.latin.utils.AsyncResultHolder; import com.android.inputmethod.latin.utils.ResourceUtils; import com.android.inputmethod.latin.utils.TargetPackageInfoGetterTask; Loading Loading @@ -122,7 +123,10 @@ public final class SettingsValues { mKeyPreviewPopupOn = Settings.readKeyPreviewPopupEnabled(prefs, res); mSlidingKeyInputPreviewEnabled = prefs.getBoolean( DebugSettings.PREF_SLIDING_KEY_INPUT_PREVIEW, true); mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res); mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res) && !mInputAttributes.mIsPasswordField && !mInputAttributes.hasNoMicrophoneKeyOption() && SubtypeSwitcher.getInstance().isShortcutImeEnabled(); final String autoCorrectionThresholdRawValue = prefs.getString( Settings.PREF_AUTO_CORRECTION_THRESHOLD, res.getString(R.string.auto_correction_threshold_mode_index_modest)); Loading
java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +17 −23 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.Settings; import com.android.inputmethod.latin.settings.SettingsValues; import com.android.inputmethod.latin.suggestions.MoreSuggestionsView.MoreSuggestionsListener; import com.android.inputmethod.latin.utils.ImportantNoticeUtils; Loading Loading @@ -89,19 +90,17 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick private static class StripVisibilityGroup { private final View mSuggestionStripView; private final View mSuggestionsStrip; private final View mVoiceKey; private final View mAddToDictionaryStrip; private final View mImportantNoticeStrip; public StripVisibilityGroup(final View suggestionStripView, final ViewGroup suggestionsStrip, final ImageButton voiceKey, final ViewGroup addToDictionaryStrip, final View importantNoticeStrip) { final ViewGroup suggestionsStrip, final ViewGroup addToDictionaryStrip, final View importantNoticeStrip) { mSuggestionStripView = suggestionStripView; mSuggestionsStrip = suggestionsStrip; mVoiceKey = voiceKey; mAddToDictionaryStrip = addToDictionaryStrip; mImportantNoticeStrip = importantNoticeStrip; showSuggestionsStrip(false /* voiceKeyEnabled */); showSuggestionsStrip(); } public void setLayoutDirection(final boolean isRtlLanguage) { Loading @@ -113,23 +112,20 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick ViewCompat.setLayoutDirection(mImportantNoticeStrip, layoutDirection); } public void showSuggestionsStrip(final boolean enableVoiceKey) { public void showSuggestionsStrip() { mSuggestionsStrip.setVisibility(VISIBLE); mVoiceKey.setVisibility(enableVoiceKey ? VISIBLE : INVISIBLE); mAddToDictionaryStrip.setVisibility(INVISIBLE); mImportantNoticeStrip.setVisibility(INVISIBLE); } public void showAddToDictionaryStrip() { mSuggestionsStrip.setVisibility(INVISIBLE); mVoiceKey.setVisibility(INVISIBLE); mAddToDictionaryStrip.setVisibility(VISIBLE); mImportantNoticeStrip.setVisibility(INVISIBLE); } public void showImportantNoticeStrip(final boolean enableVoiceKey) { public void showImportantNoticeStrip() { mSuggestionsStrip.setVisibility(INVISIBLE); mVoiceKey.setVisibility(enableVoiceKey ? VISIBLE : INVISIBLE); mAddToDictionaryStrip.setVisibility(INVISIBLE); mImportantNoticeStrip.setVisibility(VISIBLE); } Loading Loading @@ -159,7 +155,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mVoiceKey = (ImageButton)findViewById(R.id.suggestions_strip_voice_key); mAddToDictionaryStrip = (ViewGroup)findViewById(R.id.add_to_dictionary_strip); mImportantNoticeStrip = findViewById(R.id.important_notice_strip); mStripVisibilityGroup = new StripVisibilityGroup(this, mSuggestionsStrip, mVoiceKey, mStripVisibilityGroup = new StripVisibilityGroup(this, mSuggestionsStrip, mAddToDictionaryStrip, mImportantNoticeStrip); for (int pos = 0; pos < SuggestedWords.MAX_SUGGESTIONS; pos++) { Loading Loading @@ -207,15 +203,13 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mMainKeyboardView = (MainKeyboardView)inputView.findViewById(R.id.keyboard_view); } private boolean isVoiceKeyEnabled() { if (mMainKeyboardView == null) { return false; } final Keyboard keyboard = mMainKeyboardView.getKeyboard(); if (keyboard == null) { return false; } return keyboard.mId.mHasShortcutKey; public void updateVisibility(final boolean shouldBeVisible, final boolean isFullscreenMode) { final int visibility = shouldBeVisible ? VISIBLE : (isFullscreenMode ? GONE : INVISIBLE); setVisibility(visibility); final SettingsValues currentSettingsValues = Settings.getInstance().getCurrent(); final boolean shouldShowVoiceKey = (currentSettingsValues != null) && currentSettingsValues.mShowsVoiceInputKey; mVoiceKey.setVisibility(shouldShowVoiceKey ? VISIBLE : INVISIBLE); } public void setSuggestions(final SuggestedWords suggestedWords, final boolean isRtlLanguage) { Loading @@ -224,7 +218,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mSuggestedWords = suggestedWords; mSuggestionsCountInStrip = mLayoutHelper.layoutAndReturnSuggestionCountInStrip( mSuggestedWords, mSuggestionsStrip, this); mStripVisibilityGroup.showSuggestionsStrip(isVoiceKeyEnabled()); mStripVisibilityGroup.showSuggestionsStrip(); } public int setMoreSuggestionsHeight(final int remainingHeight) { Loading Loading @@ -271,7 +265,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick dismissMoreSuggestionsPanel(); } mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, importantNoticeTitle); mStripVisibilityGroup.showImportantNoticeStrip(isVoiceKeyEnabled()); mStripVisibilityGroup.showImportantNoticeStrip(); mImportantNoticeStrip.setOnClickListener(this); return true; } Loading @@ -279,7 +273,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick public void clear() { mSuggestionsStrip.removeAllViews(); removeAllDebugInfoViews(); mStripVisibilityGroup.showSuggestionsStrip(false /* enableVoiceKey */); mStripVisibilityGroup.showSuggestionsStrip(); dismissMoreSuggestionsPanel(); } Loading