SystemUiController manages various system UI flags in priorty order and merges
all the states before applying the syste flags.
Fixing WallpaperColors when it was not handing wallpaper change properly in
some cases
Change-Id: I915442818e7888c97c81f63c8ea9f3c13053eb2c
> Removing workspace state change listener. State change happens with hardware layer,
so children should not be calling invalidatge() during the animation
> Moving QSB inside the QSB and removing a floating layout
Bug: 37616877
Change-Id: I9af3522a05dafa5796586bb64f512d98688caf79
> Removing the code for LIGHT_STATUS_BAR as that will be controlled by the theme
> Updating icon cache to always use transparent background for low-res, as the
theme can change the bg color
Change-Id: Iab64ec29cab629ee515af22ec15b95d3f40a9df5
> Checking for duplicate icons before adding new icons
For O and above, icon addition is controlled using
SessionCommitReceiver.
As long as the Launcher is the default app, it will keep adding
icons on the homescreen. Apps installed while launcher was
not the default homescreen, no icons will be added.
For below O, icons are added based on package event. As long as
the Launcher process is running, it will keep adding icons on the
homescreen. Apps installed while the launcher app was dead, no
icons will be added.
Bug: 37528649
Bug: 37082950
Bug: 34112546
Change-Id: Ic99501fa476c00474a479f2a36c24614bfa3f4bf
Adding a schema file for handling DB downgrade. This schema file is part of
the backup/restore set, and hence is available on a device with lower app version.
Bug: 37257575
Change-Id: I69c8ef5f28d5209be6e6679412c7459d4eeda5d0
This will allow derivative projects to easily change the search behavior
by simply overriding the xml file
Bug: 37616877
Change-Id: Ib8d6a2dab06819a52611e9a3d97c70c5a49bbf97
> This would allow developers to verify their icon designs on different
device configurations
> This settings is only visible when developer settings is enabled
Change-Id: I7e32abfede001c134f23390734dcd39c93b68b9a
- Currently the system shortcuts are just widgets and app info
- As shortcuts, they live in ShortcutsItemView
- They are populated either as icons only (if there are deep
shortcuts) or as icons + text
- Widgets are disabled until binding them is complete (we request for
them to be bound on long-press now). We should revisit this.
Bug: 34940468
Change-Id: Ia51d002c3b3ede87658bdab57abfc3eeca1ed242
The intent extra is not always correct as the profile id can change during backup restore.
This allows us to use a consistant behavior everywhere.
Change-Id: I004bd244204ca91758b1d42488e1fc13b0ccb998
apps build with older sdk
> Also fixing the bug where legacy icon with primary user gets
created when managed user failed to provide the new icon
Bug: 34392403
Change-Id: I1d56962e9520742781df6cbeb03be2b9767a8c0b
> Disabling Install shortcut broadcast for O and above
> Adding a preference to control automatic icon addition on homescreen
> Adding icons on homescreen for new installs based on the above preference
Bug: 32920609
Bug: 27967412
Change-Id: I92e5cb7c841fb445dc8bc058d975f212ee54f8d1
DeferredHandler was added when we were posting each icon separately,
to prevent starvation. But since then we have moved to binding batct
items during bind.
Also fixing waitForIdle not waiting the second time. waitForIdle was
using a global variable to maintain state, and was not waiting properly
when its called the second time before binding deep shortcuts
Original Change-Id: I9c1289cb3bfb74f86e53ec7ac6dd76bb39666b2d
Change-Id: I9e6b3ae65fbd3aec3a46092efc5249c4525efedf
- Add static method to ShadowGenerator to generate a
circle Bitmap with a shadow.
- Move setColorScale() from DragView to Themes, and
use it to apply color to the shadowed Bitmap.
Bug: 35744066
Change-Id: I8d1da528bbf94dc83851f0b4016361ed9f8d5349
- DeepShortcutViews are added to ShortcutsItemView, which
is in PopupContainerWithArrow
- Moved some shortcut-specific logic to ShortcutsItemView
(namely, touch/long-click handling for draggin shortcuts)
- Moved round-rect clipping to PopupItemView
- Removed collapseToIcon() logic, including
PillWidthRevealOutlineProvider, which was only used for
that purpose. It isn't necessary now that the deep
shortcuts have no background themselves.
- Replaced focus pill drawable with ripple effect on
shortcuts and notification view.
Bug: 35766387
Change-Id: I6bc09f1851cfbb806df4bf75a6e435b0f1900c9c
We already close the Folder when Work Profile apps are
auto added to the Work Profile Folder. This change extends that
functionality to when apps are being auto removed from the
Work Profile Folder.
Bug: 35845161
Change-Id: I2aa6a6a0ed28a95f6a59a549430f91482583548b
This can happen when items (as part of a Work Profile) are auto added
to the Work profile Folder.
Bug: 35628160
Change-Id: I29d3b277b0e9cd4bb238fb5aff9a52c6b9e764f8
This CL fixes app shortcuts for suspended packages.
1) When DO/PO suspends an app, its pinned shortcuts are instantly grayed
out, but this is not persisted after the launcher restarts (e.g. device
reboot). We now enforce the launcher to check the suspended state when
loading the workspace, and gray out pinned shortcut icons accordingly.
2) When DO/PO suspends an app, its app shortcut popup is still
available. We now temporarily disable the popup when the app is
suspended, and persist the state across restarts.
Bug: 32365540
Test: manual, by following the steps in the bug above
Test: manual, by restarting the launcher package
Change-Id: I983d7c17fa198beca23b66459b50bd67b447bdd2
> Replacing some colors with theme attributes
> Simplifying styles definition by removing unnecessary inheritance and inlining some definitions
Change-Id: Ifa167515cae6a7fd3720f1a52ff9ce11abb4495f
PackageUserKey is only meant to be used for items that support
notifications, so when trying to update it for an item that
doesn't, we don't use it to check if the item has notifications.
This fixes a crash that happens when trying to update notifications
for a legacy shortcut, as such a shortcut doesn't have a component
on its intent, which we were trying to use to populate PackageUserKey.
Bug: 34842278
Change-Id: I8c69ccebbf9d93505d5b29ecd25d76c65610ddc4
This CL will bake the legacy icons inside a grey background
Note: There will be follow up CL to change the color and shadow of the
legacy icon. The idea of this CL is to first test if MaskableIconDrawable
methods and class work properly.
Bug: 32063838
Bug: 33553066
Change-Id: I3d02e619fcb0cd9879baa22a025b5d95c829f26c
- Next secondary icon animates up to replace dismissed main notification
- Add padding around main notification so it always aligns with the
straight edges of the view (not the rounded corners); looks more
dismissable
- Notification view collapses as notifications are dismissed
- To mimic system notification behavior, we copy SwipeHelper,
FlingAnimationUtils, and Interpolators. We also apply elevation
to notifications and reveal a darker color beneath when dismissing.
Bug: 32410600
Change-Id: I9fbf10e73bb4996f17ef061c856efb013967d972
- NotificationListener extends NotificationListenerService, and is
added to the manifest.
- Added PopupDataProvider, which contains logic for storing and
interacting with data that goes into the long-press popup menu
(shortcuts and notifications). A follow-up CL will rename
DeepShortcutsContainer to a generic PopupContainerWithArrow.
- If Launcher has notification access, NotificationListener will
get callbacks when notifications are posted and removed; upon
receiving these callbacks, NotificationListener passes them to
PopupDataProvider via a NotificationsChangedListener interface.
- Upon receiving the changed notifications, PopupDataProvider maps
them to the corresponding package/user and tells launcher to
update relevant icons on the workspace and all apps.
This is guarded by FeatureFlags.BADGE_ICONS.
Bug: 32410600
Change-Id: I59aeb31a7f92399c9c4b831ab551e51e13f44f5c
> Added two dummy widget providers: with config and without config
> Added tests for verify widget config flow
Change-Id: I4577f085abe8f8b82047b644c71cc9065358153a
This will allow us to override the implementation and provide custom
logic for widget addition.
Bug: 33584624
Change-Id: I310bf39e301c7e1c8de4f62456594535e2fe5bbc
> This ensures that LauncherAppState is only accessed in the presence of
a valid context
Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750