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

Commit 40055cde authored by Wilson Wu's avatar Wilson Wu Committed by Android (Google) Code Review
Browse files

Merge "Make IInputMethodPrivilegedOperations to async (2/N)" into sc-dev

parents 5600015e 738468ba
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -718,7 +718,7 @@ public class InputMethodService extends AbstractInputMethodService {
        public final void dispatchStartInputWithToken(@Nullable InputConnection inputConnection,
        public final void dispatchStartInputWithToken(@Nullable InputConnection inputConnection,
                @NonNull EditorInfo editorInfo, boolean restarting,
                @NonNull EditorInfo editorInfo, boolean restarting,
                @NonNull IBinder startInputToken) {
                @NonNull IBinder startInputToken) {
            mPrivOps.reportStartInput(startInputToken);
            mPrivOps.reportStartInputAsync(startInputToken);


            if (restarting) {
            if (restarting) {
                restartInput(inputConnection, editorInfo);
                restartInput(inputConnection, editorInfo);
+1 −1
Original line number Original line Diff line number Diff line
@@ -30,7 +30,7 @@ import com.android.internal.inputmethod.IVoidResultCallback;
 */
 */
oneway interface IInputMethodPrivilegedOperations {
oneway interface IInputMethodPrivilegedOperations {
    void setImeWindowStatusAsync(int vis, int backDisposition);
    void setImeWindowStatusAsync(int vis, int backDisposition);
    void reportStartInput(in IBinder startInputToken, in IVoidResultCallback resultCallback);
    void reportStartInputAsync(in IBinder startInputToken);
    void createInputContentUriToken(in Uri contentUri, in String packageName,
    void createInputContentUriToken(in Uri contentUri, in String packageName,
            in IIInputContentUriTokenResultCallback resultCallback);
            in IIInputContentUriTokenResultCallback resultCallback);
    void reportFullscreenMode(boolean fullscreen, in IVoidResultCallback resultCallback);
    void reportFullscreenMode(boolean fullscreen, in IVoidResultCallback resultCallback);
+3 −6
Original line number Original line Diff line number Diff line
@@ -123,21 +123,18 @@ public final class InputMethodPrivilegedOperations {
    }
    }


    /**
    /**
     * Calls {@link IInputMethodPrivilegedOperations#reportStartInput(IBinder,
     * Calls {@link IInputMethodPrivilegedOperations#reportStartInputAsync(IBinder)}.
     * IVoidResultCallback)}.
     *
     *
     * @param startInputToken {@link IBinder} token to distinguish startInput session
     * @param startInputToken {@link IBinder} token to distinguish startInput session
     */
     */
    @AnyThread
    @AnyThread
    public void reportStartInput(IBinder startInputToken) {
    public void reportStartInputAsync(IBinder startInputToken) {
        final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull();
        final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull();
        if (ops == null) {
        if (ops == null) {
            return;
            return;
        }
        }
        try {
        try {
            final Completable.Void value = Completable.createVoid();
            ops.reportStartInputAsync(startInputToken);
            ops.reportStartInput(startInputToken, ResultCallbacks.of(value));
            Completable.getResult(value);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
+2 −3
Original line number Original line Diff line number Diff line
@@ -5992,9 +5992,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub


        @BinderThread
        @BinderThread
        @Override
        @Override
        public void reportStartInput(IBinder startInputToken, IVoidResultCallback resultCallback) {
        public void reportStartInputAsync(IBinder startInputToken) {
            CallbackUtils.onResult(resultCallback,
            mImms.reportStartInput(mToken, startInputToken);
                    () -> mImms.reportStartInput(mToken, startInputToken));
        }
        }


        @BinderThread
        @BinderThread