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

Commit 92de4636 authored by Wilson Wu's avatar Wilson Wu Committed by Automerger Merge Worker
Browse files

Merge "Make IInputMethodPrivilegedOperations to async (1/N)" into sc-dev am: 889e3d63

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13982587

Change-Id: I22ec69e750da947d529ffc69971966bf965413b6
parents 5d17ab83 889e3d63
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -941,7 +941,7 @@ public class InputMethodService extends AbstractInputMethodService {
    }
    }


    private void setImeWindowStatus(int visibilityFlags, int backDisposition) {
    private void setImeWindowStatus(int visibilityFlags, int backDisposition) {
        mPrivOps.setImeWindowStatus(visibilityFlags, backDisposition);
        mPrivOps.setImeWindowStatusAsync(visibilityFlags, backDisposition);
    }
    }


    /** Set region of the keyboard to be avoided from back gesture */
    /** Set region of the keyboard to be avoided from back gesture */
+1 −1
Original line number Original line Diff line number Diff line
@@ -29,7 +29,7 @@ import com.android.internal.inputmethod.IVoidResultCallback;
 * Actual operations are implemented and handled by InputMethodManagerService.
 * Actual operations are implemented and handled by InputMethodManagerService.
 */
 */
oneway interface IInputMethodPrivilegedOperations {
oneway interface IInputMethodPrivilegedOperations {
    void setImeWindowStatus(int vis, int backDisposition, in IVoidResultCallback resultCallback);
    void setImeWindowStatusAsync(int vis, int backDisposition);
    void reportStartInput(in IBinder startInputToken, in IVoidResultCallback resultCallback);
    void reportStartInput(in IBinder startInputToken, in IVoidResultCallback resultCallback);
    void createInputContentUriToken(in Uri contentUri, in String packageName,
    void createInputContentUriToken(in Uri contentUri, in String packageName,
            in IIInputContentUriTokenResultCallback resultCallback);
            in IIInputContentUriTokenResultCallback resultCallback);
+3 −6
Original line number Original line Diff line number Diff line
@@ -95,8 +95,7 @@ public final class InputMethodPrivilegedOperations {
    }
    }


    /**
    /**
     * Calls {@link IInputMethodPrivilegedOperations#setImeWindowStatus(int, int,
     * Calls {@link IInputMethodPrivilegedOperations#setImeWindowStatusAsync(int, int}.
     * IVoidResultCallback)}.
     *
     *
     * @param vis visibility flags
     * @param vis visibility flags
     * @param backDisposition disposition flags
     * @param backDisposition disposition flags
@@ -107,15 +106,13 @@ public final class InputMethodPrivilegedOperations {
     * @see android.inputmethodservice.InputMethodService#BACK_DISPOSITION_ADJUST_NOTHING
     * @see android.inputmethodservice.InputMethodService#BACK_DISPOSITION_ADJUST_NOTHING
     */
     */
    @AnyThread
    @AnyThread
    public void setImeWindowStatus(int vis, int backDisposition) {
    public void setImeWindowStatusAsync(int vis, int backDisposition) {
        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.setImeWindowStatusAsync(vis, backDisposition);
            ops.setImeWindowStatus(vis, backDisposition, ResultCallbacks.of(value));
            Completable.getResult(value);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
+2 −4
Original line number Original line Diff line number Diff line
@@ -5975,10 +5975,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub


        @BinderThread
        @BinderThread
        @Override
        @Override
        public void setImeWindowStatus(int vis, int backDisposition,
        public void setImeWindowStatusAsync(int vis, int backDisposition) {
                IVoidResultCallback resultCallback) {
            mImms.setImeWindowStatus(mToken, vis, backDisposition);
            CallbackUtils.onResult(resultCallback,
                    () -> mImms.setImeWindowStatus(mToken, vis, backDisposition));
        }
        }


        @BinderThread
        @BinderThread