This CL adds a layer of OnBackPressedHanlderRouter to Launcher:
1. 4 OnBackPressedHandler(s) are added in such order: auto cancel action mode handler, drag handler, view handler and state handler
2. first handler who can handle back will handle the entire back gesture
3. Let WidgetsFullSheet to handle widget to all apps transition
Bug: b/260956481
Test: manual
Change-Id: Idbce3dcec746226dd68aaabaddc8fe01334e9673
The LauncherPrefs INSTANCE variable needs to be registered with the
sandbox context used by the LauncherPreview. This will stop the crash
from occuring.
Bug: 266164372
Test: Verified that crash no longer occurs.
Change-Id: I12ef12d082b7afdb08b38321527d13c637e84f2f
This is eventually allow us to move all register to background thread
Also creating a single ScreenOn tracked which is used at multiple places
Bug: 264465756
Test: Verified on device
Change-Id: Ibadf9ca43218e578954420d97a733adfa0a94fc7
Merged-In: Ib410e5bf02773cefde5bf0a0a1f2f1c108718d24
Since this tooltip looks and behaves differently than the existing EDU
sheet, it has its own view and controller implementations (I also may
have wanted to write some Kotlin).
To keep transient taskbar open while on the second EDU step, another
autohide suspend flag is defined. Additionally, special casing is added
to avoid hiding transient taskbar if autohiding is currently suspended.
Tooltips use the same assets as the bottom sheet for now, and are scaled
down to fit the tooltip dimensions.
Reset `Taskbar Education` in Developer Options to try EDU again.
[Demos]
- First: https://screenshot.googleplex.com/ASBeGvrb2EA5wEF.png
- Second: https://screenshot.googleplex.com/7fnfcTh9bMYezDc.png
Test: Manual
Test: Open app, see swipe-up tooltip.
Test: Swipe up to show transient taskbar, see features tooltip.
Bug: 263157739
Fix: 258460203
Change-Id: I473f5fccbae279db0614763b640da0a120b6b7f7
Launcher was not accounting for all-apps-nav-bar-scrim when
computing sysui-flags
Bug: 194486821
Test: Verified on device
Change-Id: I692977fba5999bbab9737bac4b27c15c2912e6af
When reading the status bar inset on devices with
multiple displays after switching the displays
the inset is not updated immediately (SystemUI
should update the height of the window first by
reacting to the display switch in it's own process).
Due to this race condition Launcher is very likely
to calculate DeviceProfile with incorrect inset
of the previous display first and update it to
the correct one only after SystemUI finished the
window update.
To avoid this adding calculation of the StatusBar
height to Launcher locally using the same utility
method that is used by SystemUI.
Bug: 264656380
Test: manual test that the statusbar height is calculated
correctly in Launcher on a device with two displays, both on
the inner and outer display and different rotations
Change-Id: Ia16ecadd8fcac29082d27ca693ab7740ce6161c4
In order to match upcoming designs. We will keep the icon size when downloading at 0.7 scale
Test: download an app with ENABLE_DOWNLOAD_APP_UX_V2 on
Bug: 254858049
Change-Id: I7f22eb3a5c6f1e75f19e033ff11a70aa4010ea10
This is needed to easily spot unwanted DeviceProfile changes in perfetto traces, as each one causes many new inflation and slows down the ui thread considerably.
Test: recorded trace with this log
Bug: 258214245
Change-Id: I805d56d4dfe1c08d7f28215c0462d01fcaece84e
- DeviceProfileTest should use persistent taskbar in 3-button mode
Fix: 260596114
Test: DeviceProfileTest
Change-Id: Iadcca218dab2bc2eedc006c86dbbe3f9a0fa5e51
LauncherPrefs will contain Launcher's shared preference functionality.
It controls optimizations and classifications such as restorable vs
non-restorable data, bootaware vs non-bootaware data, and configurations
such as default values so the calling code doesn't need to and our code
base can have a single source of truth for items that are used in
multiple places.
The old APIs remain in place, but are deprecated and will be removed
after all Shared Preference usage has been gated by LauncherPrefs in
future CLs.
Bug: 261635315
Test: Manually tested themed icon, Workspace configuration, and app
install functionality.
Change-Id: I29fd516468bc93fda393062e95be26b6d55c816e
The maximum center scale of All Apps to Home is 90%. It means we should add 5% height to All Apps's RecyclerView to render extra app icons.
Test: manual
bug: b/264906511
Change-Id: I2e970580810220e25d7fc3a86c19abaf87ba2c6e
We add an animation when we finish downloading an app where the scale of the icon increases to from scale 0.867 to scale 1
Bug: 254858049
Test: Download an app and visualize finish download animation
Change-Id: I67912f86b0e35091a5fe1b39c3463a1ff203bd3b
Bug: 188081026
Test: no op change, should compile
Test: ReorderWidgets
Change-Id: I20367974e5a4cead406e18eb66dafd4d59651b2a
Merged-In: I20367974e5a4cead406e18eb66dafd4d59651b2a
Here we improve the pagination visuals to follow the new design specs. We also polish and fix some issues with dot pagination in workspace.
Bug: 262741688
Test: Turn on flag SHOW_DOT_PAGINATION, and test pagination on workspace. Verify that it follows the specs linked in the bug
Change-Id: I626cdcf1f7392bcc88e9b4d6fd1df65246861445
If freeform tasks are shown, skip applying depth effect and scrim
changes. These cause the background to flicker while showing freeform
tasks and for example showing the transient taskbar.
Bug: 263264985
Test: swipe up to show transient taskbar, observe launcher background
does not blur or flicker to black
Change-Id: I5b10d0f0c7065e903cb761488367c02d7e31d8b2
LoaderResults implies a data object, not binding code specific to
Launcher UX containers. This CL merely renames this class and its
usages. It also adds a comment that explains why the functionality is
split into a base class and an implementing class.
Bug: 251502424
Test: Compilation worked correctly.
Change-Id: I01b5ac2f717e9b20612538d5c1e0ca947beb593f
into its own class.
Bug: 251502424
Test: Compilation threw no errors and user unlock behavior worked
correctly.
Change-Id: Ifa42dc32f90dfa4fda8df0e52811ddfe20cc5a9b