Loading java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ public class AdditionalFeaturesSettingUtils { // do nothing. } public static RichInputMethodSubtype getRichInputMethodSubtype( public static RichInputMethodSubtype createRichInputMethodSubtype( @Nonnull final RichInputMethodManager imm, @Nonnull final InputMethodSubtype subtype) { return new RichInputMethodSubtype(subtype); Loading java/src/com/android/inputmethod/latin/LatinIME.java +2 −2 Original line number Diff line number Diff line Loading @@ -568,6 +568,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // TODO: Resolve mutual dependencies of {@link #loadSettings()} and // {@link #resetDictionaryFacilitatorIfNecessary()}. loadSettings(); mSubtypeSwitcher.onSubtypeChanged(mRichImm.getCurrentRawSubtype()); resetDictionaryFacilitatorIfNecessary(); // Register to receive ringer mode change and network state change. Loading Loading @@ -837,8 +838,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen public void onCurrentInputMethodSubtypeChanged(final InputMethodSubtype subtype) { // Note that the calling sequence of onCreate() and onCurrentInputMethodSubtypeChanged() // is not guaranteed. It may even be called at the same time on a different thread. final RichInputMethodSubtype richSubtype = new RichInputMethodSubtype(subtype); mSubtypeSwitcher.onSubtypeChanged(richSubtype); mSubtypeSwitcher.onSubtypeChanged(subtype); mInputLogic.onSubtypeChanged(SubtypeLocaleUtils.getCombiningRulesExtraValue(subtype), mSettings.getCurrent()); loadKeyboard(); Loading java/src/com/android/inputmethod/latin/RichInputMethodManager.java +7 −7 Original line number Diff line number Diff line Loading @@ -299,13 +299,13 @@ public class RichInputMethodManager { return INDEX_NOT_FOUND; } public RichInputMethodSubtype getCurrentInputMethodSubtype( final RichInputMethodSubtype defaultSubtype) { final InputMethodSubtype currentSubtype = mImmWrapper.mImm.getCurrentInputMethodSubtype(); if (currentSubtype == null) { return defaultSubtype; public InputMethodSubtype getCurrentRawSubtype() { return mImmWrapper.mImm.getCurrentInputMethodSubtype(); } return AdditionalFeaturesSettingUtils.getRichInputMethodSubtype(this, currentSubtype); public RichInputMethodSubtype createCurrentRichInputMethodSubtype( final InputMethodSubtype rawSubtype) { return AdditionalFeaturesSettingUtils.createRichInputMethodSubtype(this, rawSubtype); } public boolean hasMultipleEnabledIMEsOrSubtypes(final boolean shouldIncludeAuxiliarySubtypes) { Loading java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +10 −7 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ public final class SubtypeSwitcher { new LanguageOnSpacebarHelper(); private InputMethodInfo mShortcutInputMethodInfo; private InputMethodSubtype mShortcutSubtype; private RichInputMethodSubtype mCurrentRichInputMethodSubtype; private RichInputMethodSubtype mNoLanguageSubtype; private RichInputMethodSubtype mEmojiSubtype; private boolean mIsNetworkConnected; Loading Loading @@ -117,7 +118,7 @@ public final class SubtypeSwitcher { final NetworkInfo info = connectivityManager.getActiveNetworkInfo(); mIsNetworkConnected = (info != null && info.isConnected()); onSubtypeChanged(getCurrentSubtype()); onSubtypeChanged(mRichImm.getCurrentRawSubtype()); updateParametersOnStartInputView(); } Loading Loading @@ -165,12 +166,14 @@ public final class SubtypeSwitcher { } // Update the current subtype. LatinIME.onCurrentInputMethodSubtypeChanged calls this function. public void onSubtypeChanged(final RichInputMethodSubtype newSubtype) { public void onSubtypeChanged(final InputMethodSubtype newSubtype) { final RichInputMethodSubtype richSubtype = mRichImm.createCurrentRichInputMethodSubtype(newSubtype); if (DBG) { Log.w(TAG, "onSubtypeChanged: " + newSubtype.getNameForLogging()); Log.w(TAG, "onSubtypeChanged: " + richSubtype.getNameForLogging()); } final Locale[] newLocales = newSubtype.getLocales(); mCurrentRichInputMethodSubtype = richSubtype; final Locale[] newLocales = richSubtype.getLocales(); if (newLocales.length > 1) { // In multi-locales mode, the system language is never the same as the input language // because there is no single input language. Loading @@ -181,7 +184,7 @@ public final class SubtypeSwitcher { final boolean sameLocale = systemLocale.equals(newLocale); final boolean sameLanguage = systemLocale.getLanguage().equals(newLocale.getLanguage()); final boolean implicitlyEnabled = mRichImm .checkIfSubtypeBelongsToThisImeAndImplicitlyEnabled(newSubtype.getRawSubtype()); .checkIfSubtypeBelongsToThisImeAndImplicitlyEnabled(newSubtype); mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage( sameLocale || (sameLanguage && implicitlyEnabled)); } Loading Loading @@ -301,7 +304,7 @@ public final class SubtypeSwitcher { if (null != sForcedSubtypeForTesting) { return sForcedSubtypeForTesting; } return mRichImm.getCurrentInputMethodSubtype(getNoLanguageSubtype()); return mCurrentRichInputMethodSubtype; } public RichInputMethodSubtype getNoLanguageSubtype() { Loading Loading
java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ public class AdditionalFeaturesSettingUtils { // do nothing. } public static RichInputMethodSubtype getRichInputMethodSubtype( public static RichInputMethodSubtype createRichInputMethodSubtype( @Nonnull final RichInputMethodManager imm, @Nonnull final InputMethodSubtype subtype) { return new RichInputMethodSubtype(subtype); Loading
java/src/com/android/inputmethod/latin/LatinIME.java +2 −2 Original line number Diff line number Diff line Loading @@ -568,6 +568,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // TODO: Resolve mutual dependencies of {@link #loadSettings()} and // {@link #resetDictionaryFacilitatorIfNecessary()}. loadSettings(); mSubtypeSwitcher.onSubtypeChanged(mRichImm.getCurrentRawSubtype()); resetDictionaryFacilitatorIfNecessary(); // Register to receive ringer mode change and network state change. Loading Loading @@ -837,8 +838,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen public void onCurrentInputMethodSubtypeChanged(final InputMethodSubtype subtype) { // Note that the calling sequence of onCreate() and onCurrentInputMethodSubtypeChanged() // is not guaranteed. It may even be called at the same time on a different thread. final RichInputMethodSubtype richSubtype = new RichInputMethodSubtype(subtype); mSubtypeSwitcher.onSubtypeChanged(richSubtype); mSubtypeSwitcher.onSubtypeChanged(subtype); mInputLogic.onSubtypeChanged(SubtypeLocaleUtils.getCombiningRulesExtraValue(subtype), mSettings.getCurrent()); loadKeyboard(); Loading
java/src/com/android/inputmethod/latin/RichInputMethodManager.java +7 −7 Original line number Diff line number Diff line Loading @@ -299,13 +299,13 @@ public class RichInputMethodManager { return INDEX_NOT_FOUND; } public RichInputMethodSubtype getCurrentInputMethodSubtype( final RichInputMethodSubtype defaultSubtype) { final InputMethodSubtype currentSubtype = mImmWrapper.mImm.getCurrentInputMethodSubtype(); if (currentSubtype == null) { return defaultSubtype; public InputMethodSubtype getCurrentRawSubtype() { return mImmWrapper.mImm.getCurrentInputMethodSubtype(); } return AdditionalFeaturesSettingUtils.getRichInputMethodSubtype(this, currentSubtype); public RichInputMethodSubtype createCurrentRichInputMethodSubtype( final InputMethodSubtype rawSubtype) { return AdditionalFeaturesSettingUtils.createRichInputMethodSubtype(this, rawSubtype); } public boolean hasMultipleEnabledIMEsOrSubtypes(final boolean shouldIncludeAuxiliarySubtypes) { Loading
java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +10 −7 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ public final class SubtypeSwitcher { new LanguageOnSpacebarHelper(); private InputMethodInfo mShortcutInputMethodInfo; private InputMethodSubtype mShortcutSubtype; private RichInputMethodSubtype mCurrentRichInputMethodSubtype; private RichInputMethodSubtype mNoLanguageSubtype; private RichInputMethodSubtype mEmojiSubtype; private boolean mIsNetworkConnected; Loading Loading @@ -117,7 +118,7 @@ public final class SubtypeSwitcher { final NetworkInfo info = connectivityManager.getActiveNetworkInfo(); mIsNetworkConnected = (info != null && info.isConnected()); onSubtypeChanged(getCurrentSubtype()); onSubtypeChanged(mRichImm.getCurrentRawSubtype()); updateParametersOnStartInputView(); } Loading Loading @@ -165,12 +166,14 @@ public final class SubtypeSwitcher { } // Update the current subtype. LatinIME.onCurrentInputMethodSubtypeChanged calls this function. public void onSubtypeChanged(final RichInputMethodSubtype newSubtype) { public void onSubtypeChanged(final InputMethodSubtype newSubtype) { final RichInputMethodSubtype richSubtype = mRichImm.createCurrentRichInputMethodSubtype(newSubtype); if (DBG) { Log.w(TAG, "onSubtypeChanged: " + newSubtype.getNameForLogging()); Log.w(TAG, "onSubtypeChanged: " + richSubtype.getNameForLogging()); } final Locale[] newLocales = newSubtype.getLocales(); mCurrentRichInputMethodSubtype = richSubtype; final Locale[] newLocales = richSubtype.getLocales(); if (newLocales.length > 1) { // In multi-locales mode, the system language is never the same as the input language // because there is no single input language. Loading @@ -181,7 +184,7 @@ public final class SubtypeSwitcher { final boolean sameLocale = systemLocale.equals(newLocale); final boolean sameLanguage = systemLocale.getLanguage().equals(newLocale.getLanguage()); final boolean implicitlyEnabled = mRichImm .checkIfSubtypeBelongsToThisImeAndImplicitlyEnabled(newSubtype.getRawSubtype()); .checkIfSubtypeBelongsToThisImeAndImplicitlyEnabled(newSubtype); mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage( sameLocale || (sameLanguage && implicitlyEnabled)); } Loading Loading @@ -301,7 +304,7 @@ public final class SubtypeSwitcher { if (null != sForcedSubtypeForTesting) { return sForcedSubtypeForTesting; } return mRichImm.getCurrentInputMethodSubtype(getNoLanguageSubtype()); return mCurrentRichInputMethodSubtype; } public RichInputMethodSubtype getNoLanguageSubtype() { Loading