Merge "Expose API to hide the IME during a recents animation" into pi-dev
am: 6fab40d82c
Change-Id: I8e70b7ae5d74d3dd85461bb13fcbff16f718d2c0
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user