diff --git a/core/java/com/android/internal/view/IInputMethodManager.aidl b/core/java/com/android/internal/view/IInputMethodManager.aidl index dd9fcb07283a4..25c00c2226659 100644 --- a/core/java/com/android/internal/view/IInputMethodManager.aidl +++ b/core/java/com/android/internal/view/IInputMethodManager.aidl @@ -76,6 +76,7 @@ interface IInputMethodManager { void showInputMethodPickerFromClient(in IInputMethodClient client, int auxiliarySubtypeMode); + @EnforcePermission("WRITE_SECURE_SETTINGS") @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " + "android.Manifest.permission.WRITE_SECURE_SETTINGS)") void showInputMethodPickerFromSystem(in IInputMethodClient client, diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 2e8729363ce97..4a9ac70c7ef71 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -3993,15 +3993,10 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } } + @EnforcePermission(Manifest.permission.WRITE_SECURE_SETTINGS) @Override public void showInputMethodPickerFromSystem(IInputMethodClient client, int auxiliarySubtypeMode, int displayId) { - if (mContext.checkCallingPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) - != PackageManager.PERMISSION_GRANTED) { - throw new SecurityException( - "showInputMethodPickerFromSystem requires WRITE_SECURE_SETTINGS " - + "permission"); - } // Always call subtype picker, because subtype picker is a superset of input method // picker. mHandler.obtainMessage(MSG_SHOW_IM_SUBTYPE_PICKER, auxiliarySubtypeMode, displayId)