Loading core/java/com/android/internal/inputmethod/InputMethodUtils.java +29 −10 Original line number Diff line number Diff line Loading @@ -22,9 +22,10 @@ import android.app.AppOpsManager; import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.os.RemoteException; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.text.TextUtils; Loading Loading @@ -646,7 +647,8 @@ public class InputMethodUtils { } public static void setNonSelectedSystemImesDisabledUntilUsed( PackageManager packageManager, List<InputMethodInfo> enabledImis) { IPackageManager packageManager, List<InputMethodInfo> enabledImis, int userId, String callingPackage) { if (DEBUG) { Slog.d(TAG, "setNonSelectedSystemImesDisabledUntilUsed"); } Loading Loading @@ -685,9 +687,11 @@ public class InputMethodUtils { ApplicationInfo ai = null; try { ai = packageManager.getApplicationInfo(packageName, PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS); } catch (NameNotFoundException e) { Slog.w(TAG, "NameNotFoundException: " + packageName, e); PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS, userId); } catch (RemoteException e) { Slog.w(TAG, "getApplicationInfo failed. packageName=" + packageName + " userId=" + userId, e); continue; } if (ai == null) { // No app found for packageName Loading @@ -697,19 +701,34 @@ public class InputMethodUtils { if (!isSystemPackage) { continue; } setDisabledUntilUsed(packageManager, packageName); setDisabledUntilUsed(packageManager, packageName, userId, callingPackage); } } private static void setDisabledUntilUsed(PackageManager packageManager, String packageName) { final int state = packageManager.getApplicationEnabledSetting(packageName); private static void setDisabledUntilUsed(IPackageManager packageManager, String packageName, int userId, String callingPackage) { final int state; try { state = packageManager.getApplicationEnabledSetting(packageName, userId); } catch (RemoteException e) { Slog.w(TAG, "getApplicationEnabledSetting failed. packageName=" + packageName + " userId=" + userId, e); return; } if (state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { if (DEBUG) { Slog.d(TAG, "Update state(" + packageName + "): DISABLED_UNTIL_USED"); } try { packageManager.setApplicationEnabledSetting(packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED, 0); PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED, 0 /* newState */, userId, callingPackage); } catch (RemoteException e) { Slog.w(TAG, "setApplicationEnabledSetting failed. packageName=" + packageName + " userId=" + userId + " callingPackage=" + callingPackage, e); return; } } else { if (DEBUG) { Slog.d(TAG, packageName + " is already DISABLED_UNTIL_USED"); Loading services/core/java/com/android/server/InputMethodManagerService.java +6 −5 Original line number Diff line number Diff line Loading @@ -1043,8 +1043,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub resetAllInternalStateLocked(false /* updateOnlyWhenLocaleChanged */, initialUserSwitch /* needsToResetDefaultIme */); if (initialUserSwitch) { InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mContext.getPackageManager(), mSettings.getEnabledInputMethodListLocked()); InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mIPackageManager, mSettings.getEnabledInputMethodListLocked(), newUserId, mContext.getBasePackageName()); } if (DEBUG) Slog.d(TAG, "Switching user stage 3/3. newUserId=" + newUserId Loading Loading @@ -1101,9 +1102,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub if (!mImeSelectedOnBoot) { Slog.w(TAG, "Reset the default IME as \"Resource\" is ready here."); resetStateIfCurrentLocaleChangedLocked(); InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed( mContext.getPackageManager(), mSettings.getEnabledInputMethodListLocked()); InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mIPackageManager, mSettings.getEnabledInputMethodListLocked(), mSettings.getCurrentUserId(), mContext.getBasePackageName()); } mLastSystemLocale = mRes.getConfiguration().locale; try { Loading Loading
core/java/com/android/internal/inputmethod/InputMethodUtils.java +29 −10 Original line number Diff line number Diff line Loading @@ -22,9 +22,10 @@ import android.app.AppOpsManager; import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.os.RemoteException; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.text.TextUtils; Loading Loading @@ -646,7 +647,8 @@ public class InputMethodUtils { } public static void setNonSelectedSystemImesDisabledUntilUsed( PackageManager packageManager, List<InputMethodInfo> enabledImis) { IPackageManager packageManager, List<InputMethodInfo> enabledImis, int userId, String callingPackage) { if (DEBUG) { Slog.d(TAG, "setNonSelectedSystemImesDisabledUntilUsed"); } Loading Loading @@ -685,9 +687,11 @@ public class InputMethodUtils { ApplicationInfo ai = null; try { ai = packageManager.getApplicationInfo(packageName, PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS); } catch (NameNotFoundException e) { Slog.w(TAG, "NameNotFoundException: " + packageName, e); PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS, userId); } catch (RemoteException e) { Slog.w(TAG, "getApplicationInfo failed. packageName=" + packageName + " userId=" + userId, e); continue; } if (ai == null) { // No app found for packageName Loading @@ -697,19 +701,34 @@ public class InputMethodUtils { if (!isSystemPackage) { continue; } setDisabledUntilUsed(packageManager, packageName); setDisabledUntilUsed(packageManager, packageName, userId, callingPackage); } } private static void setDisabledUntilUsed(PackageManager packageManager, String packageName) { final int state = packageManager.getApplicationEnabledSetting(packageName); private static void setDisabledUntilUsed(IPackageManager packageManager, String packageName, int userId, String callingPackage) { final int state; try { state = packageManager.getApplicationEnabledSetting(packageName, userId); } catch (RemoteException e) { Slog.w(TAG, "getApplicationEnabledSetting failed. packageName=" + packageName + " userId=" + userId, e); return; } if (state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { if (DEBUG) { Slog.d(TAG, "Update state(" + packageName + "): DISABLED_UNTIL_USED"); } try { packageManager.setApplicationEnabledSetting(packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED, 0); PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED, 0 /* newState */, userId, callingPackage); } catch (RemoteException e) { Slog.w(TAG, "setApplicationEnabledSetting failed. packageName=" + packageName + " userId=" + userId + " callingPackage=" + callingPackage, e); return; } } else { if (DEBUG) { Slog.d(TAG, packageName + " is already DISABLED_UNTIL_USED"); Loading
services/core/java/com/android/server/InputMethodManagerService.java +6 −5 Original line number Diff line number Diff line Loading @@ -1043,8 +1043,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub resetAllInternalStateLocked(false /* updateOnlyWhenLocaleChanged */, initialUserSwitch /* needsToResetDefaultIme */); if (initialUserSwitch) { InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mContext.getPackageManager(), mSettings.getEnabledInputMethodListLocked()); InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mIPackageManager, mSettings.getEnabledInputMethodListLocked(), newUserId, mContext.getBasePackageName()); } if (DEBUG) Slog.d(TAG, "Switching user stage 3/3. newUserId=" + newUserId Loading Loading @@ -1101,9 +1102,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub if (!mImeSelectedOnBoot) { Slog.w(TAG, "Reset the default IME as \"Resource\" is ready here."); resetStateIfCurrentLocaleChangedLocked(); InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed( mContext.getPackageManager(), mSettings.getEnabledInputMethodListLocked()); InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mIPackageManager, mSettings.getEnabledInputMethodListLocked(), mSettings.getCurrentUserId(), mContext.getBasePackageName()); } mLastSystemLocale = mRes.getConfiguration().locale; try { Loading