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

Commit bd41ceda authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

Merge "Expose API to hide the IME during a recents animation" into pi-dev

am: 6fab40d8

Change-Id: I8e70b7ae5d74d3dd85461bb13fcbff16f718d2c0
parents 4e363222 6fab40d8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -64,4 +64,9 @@ interface IRecentsAnimationController {
     * Informs the system that the primary split-screen stack should be minimized.
     */
    void setSplitScreenMinimized(boolean minimized);

    /**
     * Hides the current input method if one is showing.
     */
    void hideCurrentInputMethod();
}
+8 −0
Original line number Diff line number Diff line
@@ -69,6 +69,14 @@ public class RecentsAnimationControllerCompat {
        }
    }

    public void hideCurrentInputMethod() {
        try {
            mAnimationController.hideCurrentInputMethod();
        } catch (RemoteException e) {
            Log.e(TAG, "Failed to set hide input method", e);
        }
    }

    public void finish(boolean toHome) {
        try {
            mAnimationController.finish(toHome);
+16 −0
Original line number Diff line number Diff line
@@ -47,7 +47,9 @@ import android.view.IRecentsAnimationRunner;
import android.view.RemoteAnimationTarget;
import android.view.SurfaceControl;
import android.view.SurfaceControl.Transaction;
import android.view.inputmethod.InputMethodManagerInternal;
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.LocalServices;
import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import com.android.server.wm.utils.InsetUtils;
import com.google.android.collect.Sets;
@@ -220,6 +222,20 @@ public class RecentsAnimationController implements DeathRecipient {
                Binder.restoreCallingIdentity(token);
            }
        }

        @Override
        public void hideCurrentInputMethod() {
            final long token = Binder.clearCallingIdentity();
            try {
                final InputMethodManagerInternal inputMethodManagerInternal =
                        LocalServices.getService(InputMethodManagerInternal.class);
                if (inputMethodManagerInternal != null) {
                    inputMethodManagerInternal.hideCurrentInputMethod();
                }
            } finally {
                Binder.restoreCallingIdentity(token);
            }
        }
    };

    /**