Skip to content
Snippets Groups Projects
Commit a840c328 authored by Winson Chung's avatar Winson Chung
Browse files

Expose API to hide the IME during a recents animation

Bug: 73285089
Test: Swipe up from app with IME open, ensure that it closes
Change-Id: I95ce59291f11285c853e8b3029638119c21f7e38
parent 3f8dd1ca
No related branches found
No related tags found
No related merge requests found
......@@ -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();
}
......@@ -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);
......
......@@ -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);
}
}
};
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment