From cf33f1c5c2e12d6257d9579b9a9e33c9d954d183 Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Mon, 18 Feb 2019 21:20:51 +0800 Subject: [PATCH] Add restart button for size compatibility mode activity - The floating restart button will show when an size compatibility mode activity shown with non-native screen configuration. e.g. display size changed, move to another display. - Consolidate onDisplayRemoved into CommandQueue.Callback so the components which implement CommandQueue.Callbacks don't need to register display listener individually. The leakage of AutoHideController when removing display is also fixed by the way. Bug: 112288258 Test: runtest systemui -c \ com.android.systemui.SizeCompatModeActivityControllerTest Change-Id: Ib04efe983ae0d8d21b33fb9fd9c60e7f6f0dc92e --- .../SystemUI/res/drawable/btn_restart.xml | 28 ++ .../res/layout/size_compat_mode_hint.xml | 48 +++ packages/SystemUI/res/values/config.xml | 1 + packages/SystemUI/res/values/strings.xml | 3 + .../system/TaskStackChangeListener.java | 2 + .../system/TaskStackChangeListeners.java | 15 + .../SizeCompatModeActivityController.java | 285 ++++++++++++++++++ .../systemui/statusbar/CommandQueue.java | 13 +- .../statusbar/NavigationBarController.java | 10 +- .../statusbar/phone/AutoHideController.java | 7 + .../SizeCompatModeActivityControllerTest.java | 102 +++++++ 11 files changed, 503 insertions(+), 11 deletions(-) create mode 100644 packages/SystemUI/res/drawable/btn_restart.xml create mode 100644 packages/SystemUI/res/layout/size_compat_mode_hint.xml create mode 100644 packages/SystemUI/src/com/android/systemui/SizeCompatModeActivityController.java create mode 100644 packages/SystemUI/tests/src/com/android/systemui/SizeCompatModeActivityControllerTest.java diff --git a/packages/SystemUI/res/drawable/btn_restart.xml b/packages/SystemUI/res/drawable/btn_restart.xml new file mode 100644 index 0000000000000..73a48d31a8149 --- /dev/null +++ b/packages/SystemUI/res/drawable/btn_restart.xml @@ -0,0 +1,28 @@ + + + + + + diff --git a/packages/SystemUI/res/layout/size_compat_mode_hint.xml b/packages/SystemUI/res/layout/size_compat_mode_hint.xml new file mode 100644 index 0000000000000..347c2b47767e1 --- /dev/null +++ b/packages/SystemUI/res/layout/size_compat_mode_hint.xml @@ -0,0 +1,48 @@ + + + + + + +