From 443f7a87dcbba6ddd9582de06dacccece55f42fa Mon Sep 17 00:00:00 2001 From: Massimo Carli Date: Mon, 20 Mar 2023 16:48:43 +0000 Subject: [PATCH] Force restart button creation after full rotation When ending in size compat mode after a 180 degree rotation we need to recreate the restart button to avoid a wrong output. Bug: 270033823 Test: Run existing `atest WMShellUnitTests:CompatUIControllerTest` Change-Id: Ibbf29000830070458e0d054abd5f0b88ca0ed1d4 --- .../com/android/wm/shell/compatui/CompatUILayout.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUILayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUILayout.java index d44b4d8f63b6f..f65c26ada04dc 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUILayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUILayout.java @@ -21,6 +21,7 @@ import android.app.TaskInfo; import android.app.TaskInfo.CameraCompatControlState; import android.content.Context; import android.util.AttributeSet; +import android.view.MotionEvent; import android.view.View; import android.widget.ImageButton; import android.widget.LinearLayout; @@ -111,6 +112,14 @@ class CompatUILayout extends LinearLayout { mWindowManager.relayout(); } + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + if (ev.getAction() == MotionEvent.ACTION_DOWN) { + mWindowManager.relayout(); + } + return super.onInterceptTouchEvent(ev); + } + @Override protected void onFinishInflate() { super.onFinishInflate();