From 736ceb0198d33752e81b562dbbe572362dc4b8fd Mon Sep 17 00:00:00 2001 From: Jason Chang Date: Wed, 23 Sep 2020 20:18:26 +0800 Subject: [PATCH] Fix to support talkback function for tutorial message 1) Enable tutorial's touchable WindowManager.LayoutParams 2) Set window container transaction to align the latest windows bounds information Bug: 168178198 Test: manual Test: atest SystemUITests Change-Id: I48720bb3b344d984421b591876a503ce59d1f4c2 --- .../shell/onehanded/OneHandedDisplayAreaOrganizer.java | 9 +++++++-- .../wm/shell/onehanded/OneHandedTutorialHandler.java | 5 ++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java index 9954618134e83..6bc838fcc8be0 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java @@ -239,9 +239,14 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer { throw new RuntimeException("Callers should call scheduleOffset() instead of this " + "directly"); } + final WindowContainerTransaction wct = new WindowContainerTransaction(); mDisplayAreaMap.forEach( - (key, leash) -> animateWindows(leash, fromBounds, toBounds, direction, - durationMs)); + (key, leash) -> { + animateWindows(leash, fromBounds, toBounds, direction, + durationMs); + wct.setBounds(key.token, toBounds); + }); + applyTransaction(wct); } private void resetWindowsOffset() { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedTutorialHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedTutorialHandler.java index 7c0c738644b7c..b6b518d69c55b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedTutorialHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedTutorialHandler.java @@ -184,9 +184,8 @@ public class OneHandedTutorialHandler implements OneHandedTransitionCallback { mDisplaySize.x, mTutorialAreaHeight, 0, 0, WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN - | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE - | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, - PixelFormat.TRANSLUCENT); + | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, + PixelFormat.TRANSLUCENT); lp.gravity = Gravity.TOP | Gravity.LEFT; lp.privateFlags |= WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS; lp.setFitInsetsTypes(0 /* types */);