From 1fb9a87bdb55e4d9bd1ac9f2b0e3e6a70acac7f3 Mon Sep 17 00:00:00 2001 From: Yohei Yukawa Date: Tue, 19 Jul 2022 11:56:30 -0700 Subject: [PATCH] Merge IInputMethodManager#get{,AwareLocked}InputMethodList This is a follow up CL to our previous CL [1], which introduced IInputMethodManager#getAwareLockedInputMethodList as a variant of IInputMethodManager#getInputMethodList. This CL mechanically merges those two IPC entries into one entry as specifying DirectBootAwareness.AUTO is something we can do in the IME client side, without changing any observable semantics. [1]: I54d5dbec7e76d6a68935007ed3af0641f717a7c5 04a226334d4f2d6296d2837fa4ae165ef98e10e9 Bug: 210083408 Bug: 234882948 Test: presubmit Change-Id: Ic02484fcbb9c1bbd8e964bb7a2f7acff904e2a33 --- .../inputmethod/IInputMethodManagerInvoker.java | 14 ++------------ .../view/inputmethod/InputMethodManager.java | 6 +++--- .../internal/view/IInputMethodManager.aidl | 6 +----- .../inputmethod/InputMethodManagerService.java | 16 ++++------------ 4 files changed, 10 insertions(+), 32 deletions(-) diff --git a/core/java/android/view/inputmethod/IInputMethodManagerInvoker.java b/core/java/android/view/inputmethod/IInputMethodManagerInvoker.java index 46ca79d6ff37e..fc1ede0948259 100644 --- a/core/java/android/view/inputmethod/IInputMethodManagerInvoker.java +++ b/core/java/android/view/inputmethod/IInputMethodManagerInvoker.java @@ -68,20 +68,10 @@ final class IInputMethodManagerInvoker { @AnyThread @NonNull - List getInputMethodList(@UserIdInt int userId) { - try { - return mTarget.getInputMethodList(userId); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - - @AnyThread - @NonNull - List getAwareLockedInputMethodList(@UserIdInt int userId, + List getInputMethodList(@UserIdInt int userId, @DirectBootAwareness int directBootAwareness) { try { - return mTarget.getAwareLockedInputMethodList(userId, directBootAwareness); + return mTarget.getInputMethodList(userId, directBootAwareness); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index a75e92d96f507..654713be416da 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -1404,7 +1404,7 @@ public final class InputMethodManager { // We intentionally do not use UserHandle.getCallingUserId() here because for system // services InputMethodManagerInternal.getInputMethodListAsUser() should be used // instead. - return mServiceInvoker.getInputMethodList(UserHandle.myUserId()); + return mServiceInvoker.getInputMethodList(UserHandle.myUserId(), DirectBootAwareness.AUTO); } /** @@ -1452,7 +1452,7 @@ public final class InputMethodManager { @RequiresPermission(INTERACT_ACROSS_USERS_FULL) @NonNull public List getInputMethodListAsUser(@UserIdInt int userId) { - return mServiceInvoker.getInputMethodList(userId); + return mServiceInvoker.getInputMethodList(userId, DirectBootAwareness.AUTO); } /** @@ -1468,7 +1468,7 @@ public final class InputMethodManager { @NonNull public List getInputMethodListAsUser(@UserIdInt int userId, @DirectBootAwareness int directBootAwareness) { - return mServiceInvoker.getAwareLockedInputMethodList(userId, directBootAwareness); + return mServiceInvoker.getInputMethodList(userId, directBootAwareness); } /** diff --git a/core/java/com/android/internal/view/IInputMethodManager.aidl b/core/java/com/android/internal/view/IInputMethodManager.aidl index 2c56842d8ee21..9e0b2495969e0 100644 --- a/core/java/com/android/internal/view/IInputMethodManager.aidl +++ b/core/java/com/android/internal/view/IInputMethodManager.aidl @@ -38,11 +38,7 @@ interface IInputMethodManager { // TODO: Use ParceledListSlice instead @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " + "android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true)") - List getInputMethodList(int userId); - - @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " - + "android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true)") - List getAwareLockedInputMethodList(int userId, int directBootAwareness); + List getInputMethodList(int userId, int directBootAwareness); // TODO: Use ParceledListSlice instead @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index b373a30792a15..8d0114d41a12f 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -2065,7 +2065,10 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub return true; } - private List getInputMethodListInternal(@UserIdInt int userId, + @BinderThread + @NonNull + @Override + public List getInputMethodList(@UserIdInt int userId, @DirectBootAwareness int directBootAwareness) { if (UserHandle.getCallingUserId() != userId) { mContext.enforceCallingPermission( @@ -2086,17 +2089,6 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } } - @Override - public List getInputMethodList(@UserIdInt int userId) { - return getInputMethodListInternal(userId, DirectBootAwareness.AUTO); - } - - @Override - public List getAwareLockedInputMethodList(@UserIdInt int userId, - @DirectBootAwareness int directBootAwareness) { - return getInputMethodListInternal(userId, directBootAwareness); - } - @Override public List getEnabledInputMethodList(@UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) {