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

Commit b3c21ac7 authored by Satoshi Kataoka's avatar Satoshi Kataoka
Browse files

Reduce the transaction fee of getEnabledInputMethodSubtypeList

Bug: 8467480
Change-Id: If18cce8fbe567df51f29adcdcedff3f743460b8b
parent 26d4adf3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -613,7 +613,8 @@ public final class InputMethodManager {
    public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo imi,
            boolean allowsImplicitlySelectedSubtypes) {
        try {
            return mService.getEnabledInputMethodSubtypeList(imi, allowsImplicitlySelectedSubtypes);
            return mService.getEnabledInputMethodSubtypeList(
                    imi == null ? null : imi.getId(), allowsImplicitlySelectedSubtypes);
        } catch (RemoteException e) {
            throw new RuntimeException(e);
        }
+3 −1
Original line number Diff line number Diff line
@@ -28,11 +28,13 @@ import com.android.internal.view.IInputMethodClient;
/**
 * Public interface to the global input method manager, used by all client
 * applications.
 * You need to update BridgeIInputMethodManager.java as well when changing
 * this file.
 */
interface IInputMethodManager {
    List<InputMethodInfo> getInputMethodList();
    List<InputMethodInfo> getEnabledInputMethodList();
    List<InputMethodSubtype> getEnabledInputMethodSubtypeList(in InputMethodInfo imi,
    List<InputMethodSubtype> getEnabledInputMethodSubtypeList(in String imiId,
            boolean allowsImplicitlySelectedSubtypes);
    InputMethodSubtype getLastInputMethodSubtype();
    // TODO: We should change the return type from List to List<Parcelable>
+10 −4
Original line number Diff line number Diff line
@@ -969,19 +969,25 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
    }

    /**
     * @param imi if null, returns enabled subtypes for the current imi
     * @param imiId if null, returns enabled subtypes for the current imi
     * @return enabled subtypes of the specified imi
     */
    @Override
    public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo imi,
    public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(String imiId,
            boolean allowsImplicitlySelectedSubtypes) {
        // TODO: Make this work even for non-current users?
        if (!calledFromValidUser()) {
            return Collections.emptyList();
            return Collections.<InputMethodSubtype>emptyList();
        }
        synchronized (mMethodMap) {
            if (imi == null && mCurMethodId != null) {
            final InputMethodInfo imi;
            if (imiId == null && mCurMethodId != null) {
                imi = mMethodMap.get(mCurMethodId);
            } else {
                imi = mMethodMap.get(imiId);
            }
            if (imi == null) {
                return Collections.<InputMethodSubtype>emptyList();
            }
            return mSettings.getEnabledInputMethodSubtypeListLocked(
                    mContext, imi, allowsImplicitlySelectedSubtypes);
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ public class BridgeIInputMethodManager implements IInputMethodManager {
    }

    @Override
    public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo arg0,
    public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(String arg0,
            boolean arg1) throws RemoteException {
        // TODO Auto-generated method stub
        return null;