summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-07-03 12:14:13 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-07-03 12:14:13 +0000
commit13d03e0450ab7ddd48a261601902b88ad4f30f04 (patch)
tree3e34472a1659a29742e1c2a20b002afec04b778c
parent87bcf321a908fb6dec3fd824b552f103ba8d1b4b (diff)
parent49a272a506e346b1f4a81362ea40e39c435ecdf7 (diff)
Merge "Fix Keyboard stays on while startSeamlessRotation" into rvc-dev am: 641c8844ba am: 49a272a506
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12066148 Change-Id: I8d58afe762b27f730743d8f60ed3a0d0d62bb5a5
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index b65020d7eaa6..837fafec1634 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -26,6 +26,7 @@ import static android.app.WindowConfiguration.isSplitScreenWindowingMode;
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
import static android.os.PowerManager.DRAW_WAKE_LOCK;
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.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
import static android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
@@ -757,6 +758,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
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 (mControllableInsetProvider != null) {
mControllableInsetProvider.startSeamlessRotation();