From 8f5b9dd8334f8156aacd31a4e90841a84158d252 Mon Sep 17 00:00:00 2001 From: Ats Jenk Date: Fri, 2 Dec 2022 11:42:17 -0800 Subject: [PATCH 1/2] Check for both proto flags for common logic Desktop mode has prototype 1 and prototype 2. Check for both flags when logic is shared. Bug: 260645044 Test: manual, check desktop mode 1 works Change-Id: I40e84440222a9d5f007c2450606cd7c8f9628da2 --- .../statehandlers/DesktopVisibilityController.java | 3 ++- .../src/com/android/quickstep/TaskShortcutFactory.java | 3 ++- .../src/com/android/quickstep/views/DesktopTaskView.java | 7 ++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java b/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java index 0c8952d705..a205d19f3c 100644 --- a/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java +++ b/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java @@ -42,7 +42,8 @@ public class DesktopVisibilityController { * Whether desktop mode is supported. */ private boolean isDesktopModeSupported() { - return SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false); + return SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false) + || SystemProperties.getBoolean("persist.wm.debug.desktop_mode_2", false); } /** diff --git a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java index eae79dfa19..663525d0c5 100644 --- a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java +++ b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java @@ -303,7 +303,8 @@ public interface TaskShortcutFactory { private boolean isAvailable(BaseDraggingActivity activity, int displayId) { return ActivityManagerWrapper.getInstance().supportsFreeformMultiWindow(activity) - && !SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false); + && !SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false) + && !SystemProperties.getBoolean("persist.wm.debug.desktop_mode_2", false); } }; diff --git a/quickstep/src/com/android/quickstep/views/DesktopTaskView.java b/quickstep/src/com/android/quickstep/views/DesktopTaskView.java index 8c43fd108f..308249cb1e 100644 --- a/quickstep/src/com/android/quickstep/views/DesktopTaskView.java +++ b/quickstep/src/com/android/quickstep/views/DesktopTaskView.java @@ -59,9 +59,10 @@ import java.util.function.Consumer; // TODO(b/249371338): TaskView needs to be refactored to have better support for N tasks. public class DesktopTaskView extends TaskView { - /** Flag to indicate whether desktop mode is available on the device */ - public static final boolean DESKTOP_MODE_SUPPORTED = SystemProperties.getBoolean( - "persist.wm.debug.desktop_mode", false); + /** Flags to indicate whether desktop mode is available on the device */ + public static final boolean DESKTOP_MODE_SUPPORTED = + SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false) + || SystemProperties.getBoolean("persist.wm.debug.desktop_mode_2", false); private static final String TAG = DesktopTaskView.class.getSimpleName(); From 77de0d5a28a73d56d5aa4f1d0b99b310f3426a69 Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Thu, 8 Dec 2022 01:11:31 +0000 Subject: [PATCH 2/2] Add EDU lottie animations for persistent and transient. This CL introduces separate lottie assets for light and dark themes, as well as each step. Each asset contains all of the steps currently but is constrained to a min and max frame. In future CLs, we will optimize the storage these take up by using the global assets and controlling min and max frames programmatically, or trimming each individual asset. Additionally, we should only be importing one theme variant and then converting to the opposite programmatically, but the color mappings are not ready yet. Future polish to the EDU sheet, such as better handling the stashed taskbar, will be introduced in future CLs. Test: Manual in transient and persistent modes. Bug: 217261955 Change-Id: I5b219ea02e25de0c5c887b5b5640f909e1219287 --- .../res/drawable/taskbar_edu_splitscreen.png | Bin 5640 -> 0 bytes .../res/drawable/taskbar_edu_stashing.png | Bin 5640 -> 0 bytes .../res/drawable/taskbar_edu_switch_apps.png | Bin 5640 -> 0 bytes quickstep/res/layout/taskbar_edu.xml | 63 +------------- .../layout/taskbar_edu_pages_persistent.xml | 58 +++++++++++++ .../layout/taskbar_edu_pages_transient.xml | 78 ++++++++++++++++++ .../taskbar_edu_splitscreen_persistent.json | 1 + .../taskbar_edu_splitscreen_transient.json | 1 + .../taskbar_edu_stashing_transient.json | 1 + .../taskbar_edu_suggestions_persistent.json | 1 + .../taskbar_edu_suggestions_transient.json | 1 + .../taskbar_edu_splitscreen_persistent.json | 1 + .../taskbar_edu_splitscreen_transient.json | 1 + .../raw/taskbar_edu_stashing_transient.json | 1 + .../taskbar_edu_suggestions_persistent.json | 1 + .../taskbar_edu_suggestions_transient.json | 1 + quickstep/res/values/strings.xml | 15 ++-- .../taskbar/TaskbarEduController.java | 35 ++++++-- .../taskbar/TaskbarEduPagedView.java | 4 +- 19 files changed, 185 insertions(+), 78 deletions(-) delete mode 100644 quickstep/res/drawable/taskbar_edu_splitscreen.png delete mode 100644 quickstep/res/drawable/taskbar_edu_stashing.png delete mode 100644 quickstep/res/drawable/taskbar_edu_switch_apps.png create mode 100644 quickstep/res/layout/taskbar_edu_pages_persistent.xml create mode 100644 quickstep/res/layout/taskbar_edu_pages_transient.xml create mode 100644 quickstep/res/raw-night/taskbar_edu_splitscreen_persistent.json create mode 100644 quickstep/res/raw-night/taskbar_edu_splitscreen_transient.json create mode 100644 quickstep/res/raw-night/taskbar_edu_stashing_transient.json create mode 100644 quickstep/res/raw-night/taskbar_edu_suggestions_persistent.json create mode 100644 quickstep/res/raw-night/taskbar_edu_suggestions_transient.json create mode 100644 quickstep/res/raw/taskbar_edu_splitscreen_persistent.json create mode 100644 quickstep/res/raw/taskbar_edu_splitscreen_transient.json create mode 100644 quickstep/res/raw/taskbar_edu_stashing_transient.json create mode 100644 quickstep/res/raw/taskbar_edu_suggestions_persistent.json create mode 100644 quickstep/res/raw/taskbar_edu_suggestions_transient.json diff --git a/quickstep/res/drawable/taskbar_edu_splitscreen.png b/quickstep/res/drawable/taskbar_edu_splitscreen.png deleted file mode 100644 index f9d2a63a0eb3862cb49f26d23ca6bef4f43cf831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5640 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 - - - - - - - - - - - - - - - - - - - - - - + launcher:pageIndicator="@+id/content_page_indicator" />