Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c8b4f31 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Let getEnabledInputMethodSubtypeList() take userId"

parents 6623d54a 19e18b6c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -90,10 +90,10 @@ final class IInputMethodManagerInvoker {
    @AnyThread
    @NonNull
    List<InputMethodSubtype> getEnabledInputMethodSubtypeList(@Nullable String imiId,
            boolean allowsImplicitlySelectedSubtypes) {
            boolean allowsImplicitlySelectedSubtypes, @UserIdInt int userId) {
        try {
            return mTarget.getEnabledInputMethodSubtypeList(imiId,
                    allowsImplicitlySelectedSubtypes);
                    allowsImplicitlySelectedSubtypes, userId);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+4 −2
Original line number Diff line number Diff line
@@ -1514,7 +1514,8 @@ public final class InputMethodManager {
            boolean allowsImplicitlySelectedSubtypes) {
        return mServiceInvoker.getEnabledInputMethodSubtypeList(
                imi == null ? null : imi.getId(),
                allowsImplicitlySelectedSubtypes);
                allowsImplicitlySelectedSubtypes,
                UserHandle.myUserId());
    }

    /**
@@ -3320,7 +3321,8 @@ public final class InputMethodManager {
            return false;
        }
        final List<InputMethodSubtype> enabledSubtypes =
                mServiceInvoker.getEnabledInputMethodSubtypeList(imeId, true);
                mServiceInvoker.getEnabledInputMethodSubtypeList(imeId, true,
                        UserHandle.myUserId());
        final int numSubtypes = enabledSubtypes.size();
        for (int i = 0; i < numSubtypes; ++i) {
            final InputMethodSubtype enabledSubtype = enabledSubtypes.get(i);
+4 −1
Original line number Diff line number Diff line
@@ -45,8 +45,11 @@ interface IInputMethodManager {
            + "android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true)")
    List<InputMethodInfo> getEnabledInputMethodList(int userId);

    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
            + "android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true)")
    List<InputMethodSubtype> getEnabledInputMethodSubtypeList(in @nullable String imiId,
            boolean allowsImplicitlySelectedSubtypes);
            boolean allowsImplicitlySelectedSubtypes, int userId);

    @nullable InputMethodSubtype getLastInputMethodSubtype();

    boolean showSoftInput(in IInputMethodClient client, @nullable IBinder windowToken, int flags,
+7 −3
Original line number Diff line number Diff line
@@ -2202,16 +2202,20 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
     * @param imiId if null, returns enabled subtypes for the current {@link InputMethodInfo}.
     * @param allowsImplicitlySelectedSubtypes {@code true} to return the implicitly selected
     *                                         subtypes.
     * @param userId the user ID to be queried about.
     */
    @Override
    public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(String imiId,
            boolean allowsImplicitlySelectedSubtypes) {
        final int callingUserId = UserHandle.getCallingUserId();
            boolean allowsImplicitlySelectedSubtypes, @UserIdInt int userId) {
        if (UserHandle.getCallingUserId() != userId) {
            mContext.enforceCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, null);
        }

        synchronized (ImfLock.class) {
            final long ident = Binder.clearCallingIdentity();
            try {
                return getEnabledInputMethodSubtypeListLocked(imiId,
                        allowsImplicitlySelectedSubtypes, callingUserId);
                        allowsImplicitlySelectedSubtypes, userId);
            } finally {
                Binder.restoreCallingIdentity(ident);
            }