Merge "Merge "Fix Keyboard stays on while startSeamlessRotation" into rvc-dev am: 641c8844ba" into rvc-dev-plus-aosp

This commit is contained in:
Automerger Merge Worker
2020-07-03 12:02:51 +00:00
committed by Android (Google) Code Review

View File

@@ -26,6 +26,7 @@ import static android.app.WindowConfiguration.isSplitScreenWindowingMode;
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE; import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
import static android.os.PowerManager.DRAW_WAKE_LOCK; import static android.os.PowerManager.DRAW_WAKE_LOCK;
import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
import static android.view.InsetsState.ITYPE_IME;
import static android.view.SurfaceControl.Transaction; import static android.view.SurfaceControl.Transaction;
import static android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; import static android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
import static android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; import static android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
@@ -757,6 +758,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
oldRotation = mPendingSeamlessRotate.getOldRotation(); oldRotation = mPendingSeamlessRotate.getOldRotation();
} }
// Skip performing seamless rotation when the controlled insets is IME with visible state.
if (mControllableInsetProvider != null
&& mControllableInsetProvider.getSource().getType() == ITYPE_IME) {
return;
}
if (mForceSeamlesslyRotate || requested) { if (mForceSeamlesslyRotate || requested) {
if (mControllableInsetProvider != null) { if (mControllableInsetProvider != null) {
mControllableInsetProvider.startSeamlessRotation(); mControllableInsetProvider.startSeamlessRotation();