Collisions should be handled prior to binding in the ui layer.
The following change adds extra logging to help identify cases
where this might occur.
Bug: 417021465
Flag: EXEMPT Bug fix
Test: manual
Change-Id: I5549c94fe81eb13088f8c56a5ff797d46d4bedb2
> Moving some latency logic out of Launcher and into logger
> This makes it easier to move the logger completely out of Launcher
Bug: 390572144
Test: atest StartupLatencyLoggerTest
Flag: EXEMPT refactor
Change-Id: I6f6d99e7ed6c77610534c64461ec34200780225f
BgDataModel holds a mutable handle of the data, which ensures that all edits go through this class and there is a single place to keep the repository updated
Bug: 390572144
Test: Updated existing model tests
Flag: EXEMPT refactor
Change-Id: I991b707dd21801d1abd00510f676549947285012
> This allows the whole workspace model to be contained in itemIdMap instead of spread across multiple data containers
> Deprecating extraItems, all non-workspace data should use separate repositories
> Design: http://go/launchermodel-re-arch?#heading=h.5y8n4r164d5s
Bug: 390572144
Test: atest PredictionUpdateTaskTest
Flag: EXEMPT refactor
Change-Id: I886d0a8d5bbbf9f5c2054d4a2442bf03f9c4eab5
1. BlurFallbackStyle/BlurStyle will now be applied in Launcher startup.
When "updateBlurStyle" is called, individual element style's swap
happens as per blur style.
2. "hasOpaqueBg" background will now be checked in "applyDepthAndBlur"
for setting the "currentBlur" value.
Bug: 409758306
Test: Manual. go to overview, enable/disable battery saver mode.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: Ic9030c2b267867b9124705426dd51deb1b30ca55
When updating hotseat qsb alpha in response to assistant visiblity
changes, use Hotseat.setQsbAlpha with a designated alpha channel instead
of updating the view alpha directly. QSB alpha can be changed for
different reasons - e.g. because taskbar is shown, so the calling
View.setAlpha directly may overrride visibility set from other sources.
Using setQsbAlpha ensures that the final qsb alpha aggregates all alpha
inputs.
Bug: 413500588
Flag: EXEMPT bugfix
Test: On desktop device (where taskbar is shown on home), connect a
display while on home, and verify the inline hotseat qsb does not
become visible on the primary display.
Change-Id: Ida2325aa630c0c2d2c324d5e3001207cf661f2e9
This brings the BgCallbacks closer to a repository pattern making is easier to switch eventually
Bug: 390572144
Flag: EXEMPT refactor
Test: Updated AsyncBindingTest to use real ModelCalbacks
Change-Id: I9c932b00ea8ac7330473b9c0f5d778453fe7a390
Instead of the dispatcher specifying the type, the UI checks th diff. This
ensures that the UI is updated correctly in all paths
Bug: 390572144
Flag: EXEMPT refactor
Test: Manually verified folder edit path where these callbacks were getting dispatched
Change-Id: Ib73eed5da87a847753a78453a48ab4fc495c1199
I had previously hidden workspace with All Apps blur because the
approaches I had tried looked poor. However, I found that this
approach is both simple and relatively performant! Essentially,
wallpaper is still pushed back and blurred by the DepthController.
When the DepthController applies blur, we also apply it to the
Workspace and Hotseat. In addition, we scale these at the same
rate as the depth when swiping to all apps. Perhaps we can have
the DepthController control this scale too, but for now we just
use the same Interpolator. The result looks pretty cohesive.
Demo: https://drive.google.com/file/d/1KyKc0c5BsAEOrT3K4buOW3U9-Gk0e7vE/view?usp=sharing&resourcekey=0-MI1gdQMul0cro9IEkQDEng
App exit demo (slightly outdated): https://drive.google.com/file/d/1r-VhzGhlI0300_6IUXthty3Tm1cgw9aI/view?usp=sharing&resourcekey=0-nxZ2BHW2UN34lr567I0RdA
Bug: 400827727
Bug: 371343636
Test: Manual
Flag: com.android.launcher3.all_apps_blur
Change-Id: I5dc66619a001ccd32f37272cf77966cbe1bf8ef6
With the dagger update the initialization happens in constructor which
we would avoid once we work on refactor and move it into a repository
class. The list will also be fetched from a different data source, so,
makes sense to delete it at the moment.
Bug: 406324964
Flag: EXEMPT BUGFIX
Test: Not applicable as code is removed
Change-Id: Iab8bb1e94677abf9b5b882f4d3485b002faf3e0f
This would allow customizing the widget holder in LauncherPreview
Bug: 361850561
Test: Updated tests and presubmit
Flag: EXEMPT dagger
Change-Id: I32491169188992453693048986c57cb780fdf1d8
Folder and FolderIcon are UI objects and can talk to each other directly.
FolderInfo changes are already propogated via model callbacks, and doesn't need a separate listener pattern.
Bug: 398791288
Flag: EXEMPT bugfix
Test: atest FolderTest
Change-Id: Iefd47b8ea12a8ecaf34211a3d908220a0e999187
Moving widget filtering to UI layer as it changes with surface
Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I9d9377540ca36873659cea4ecc91fb162d82cd44
If taskbar is shown on home screen, have the taskbar all apps button
toggle the launcher activity version of all apps UI. This makes the
behavior consistent with how all apps system action (keyboard shortcut)
works, and addresses a gap in functionality where users are unable to
drag apps from the taskbar all apps UI to the workspace.
Bug: 392118517
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: On desktop device, toggle all apps from taskbar on home screen,
drag and app from all apps to workspace.
Change-Id: Ida0f230bf38c6e1e35041556f33de1be85daf785
This reverts commit ce9ad064d6.
Reason for revert: <Potential culprit for b/395855288 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted>
Change-Id: I12d1eb66ae03e2638a503c103d0b1fa8a863b6b5
> Using callback patter for various change events instead of routing it
via TIS
Bug: 386288280
Test: Presubmit
Flag: EXEMPT refactor
Change-Id: I95577d6a1c17103cb947ef1200c1c22b68fd1d9c
The reasson is due to shortcut flow not having sent an accessibility
event. Shortcuts adding to home can use the same flow of how apps are
added to home by using bindInflatedItems() with an animation
endCallback(). This change should be fine since addInScreen() is called
in bindInflatedItems() too.
Bug:383461209
Test:Manually video- https://drive.google.com/file/d/1y3CslaIvRQMsODlQCYnGtG0Im4t7p4rR/view?usp=sharing
Flag: EXEMPT bug fix
Change-Id: I3b88b5ee40b4bcd43a83d362b6cbb0925120b700
detectActivityLeaks() will identify any cases where subclasses
of Activity are leaking.
Bug: 392635961
Test: EXEMPT debug code
Flag: EXEMPT debug code
Change-Id: I28057738a7bb8951a39152f4a4e6954bd2b97706
> Merging come methods to BaseActivtiy
> Separating wallpaper theme implementation to an independent class
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: I8cdb6d1520beff3f8226b62c5b7eafd48b2c674f
.toList() was only introduced to android in api level 34, which is newer than
this module's min_sdk_version. Replace it with .collect().
This was found while updating android lint.
Flag: EXEMPT refactor
Bug: 394096385
Test: Presubmits
Change-Id: Id8d1de1531b67a7daf448e45592b7ef78f685fc2
Revert submission 31445615-model-callbacks
Reason for revert: <Droidmonitor crested revert due to b/393222548. Will be verified through ABTD for stanadard investigation.>
Reverted changes: /q/submissionid:31445615-model-callbacks
Change-Id: If6893a125756e5abfbb215af377576429bb1c91b