background thread. Added a feature flag to toggle on/off this
feature.
Bug: 140242324
Test:
1. (Custom Shortcut) Long click on google maps -> widgets -> drag
driving mode to workspace.
2. Open chrome -> add to home screen -> add -> add automatically.
3. InstallShortcutReceiver
In Launcher.completeAddShortcut, commend out the code that
calls PinRequestHelper.createWorkspaceItemFromPinItemRequest,
then open chrome -> add to home screen -> add -> add
automatically.
4. ShortcutDragPreviewProvider
qdb -> long press on suggested app that has deep shortcut
-> drag to workspace.
Change-Id: If7babe4eddf5434909bf686b4e9bde15e444d9fd
This will allow subclassing BitmapInfo to support custom icon/dynamic
icons which can be loaded on the background thread instead of going
through IconFactory which runs on UiThread
Change-Id: Ieced6e91330bdff1b505826d097a8df711dfe967
- We were not getting callbacks for sessions created under work profile.
- We did not pass in the user when creating the workspace item infos.
- Added check for if app is installed before adding item to workspace
to prevent any stale promise icons. This seems to happen when uninstalling
and then immediately reinstalling an application.
Bug: 141556707
Change-Id: Ie0320f3ede70b6c7543cb60c3b95a2fe398eecb5
Merged-In: I2db2d8da449c37eb248a59fbc9e7b517f50855c1
- We did not pass in the user when creating the workspace item infos.
- Added check for if app is installed before adding item to workspace
to prevent any stale promise icons. This seems to happen when uninstalling
and then immediately reinstalling an application.
Bug: 141556707
Change-Id: I2db2d8da449c37eb248a59fbc9e7b517f50855c1
This reverts commit 4ec390e490.
Reason for revert: the code change introduces significant delay when saving deep shortcut icons in cache.
Bug: 142514365
Change-Id: If7a69844aba7f32690ff347f2db11f0a8041b9e4
Bug: 141568904
Test: Manually verified use cases from following call-site (with and
without delay)
LauncherAppsCompatVO
1. (Custom Shortcut) Long click on google maps -> widgets ->
drag driving mode to workspace.
2. Open chrome -> add to home screen -> add -> add automatically.
InstallShortcutReceiver
Removed the line that trigger above flow for android O and above,
then open chrome -> add to home screen -> add -> add automatically.
ShortcutDragPreviewProvider
qdb -> long press on suggested app that has deep shortcut -> drag
to workspace.
Change-Id: I59a4d004913a8df697af1fcfe0a080b6da01eefd
We change the way we parse the install queue; so this seems to be a rare case
when trying to flush an install queue from an old apk with a launcher apk
with the new parsing changes.
Bug: 140935140
Change-Id: I14db4c3f70ed2e1bc5ad31dec7e6473cd6f8f13c
- Added flag PROMISE_APPS_NEW_INSTALLS
- Promise icons only added if flag (above) is on, as well as the setting
for "Add icon to Home screen"
- Maintains a list of session ids of promise icons that have been added to the
home screen, so that if the user manually removes the icon, we do not add
it back to the home screen when the install is completed.
- Queues all applications as promise icons, and replaces with actual
app info when its being added to the workspace.
Bug: 135633159
Change-Id: Idf2fc9033f890afef924628b76b89ad4692f529c
Merged-In: I411db59f9bd1b346d98b9bb73f5376a5983b8de5
- Added flag PROMISE_APPS_NEW_INSTALLS
- Promise icons only added if flag (above) is on, as well as the setting
for "Add icon to Home screen"
- Maintains a list of session ids of promise icons that have been added to the
home screen, so that if the user manually removes the icon, we do not add
it back to the home screen when the install is completed.
- Queues all applications as promise icons, and replaces with actual
app info when its being added to the workspace.
Bug: 135633159
Change-Id: I411db59f9bd1b346d98b9bb73f5376a5983b8de5
This removes some crass dependency on Launcher compat implementation
making it easier to move iconCache to a separate library
Change-Id: If5fab0c82d98089cde6f54b6a374fb7bb2db5ae8
Bug: 115891474
Test: make -j10 icon-loader
Next step: Launcher will depend on icon-loader in next CL
Change-Id: I797ddb857cf8be79f3be6ca2f174c593ca3713a5
Bug: 115891474
Sending out the package name changing CL first before I make
LauncherIconsHandler and tests around it.
Change-Id: Ic10479a06333e1435b392a7072cd08782e710cbd
> Calculating extracted color during icon generation and storing it in model and DB
> Removing unused logic avoid various types of badge rendering
> Icons are badged with extracted colors, while folder is badged with theme color
Bug: 35428783
Change-Id: I93e30c52fbded7515c3ae1778422e84672eafb56
This avoids acquiring a lock for upating the sharedPrefs during onResume
as all the logic runs on a single thread.
Bug: 67305604
Change-Id: I1bbea382da9fafb403b4e9508f393f78db28478d
> 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
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
> 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
> This ensures that LauncherAppState is only accessed in the presence of
a valid context
Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750
> Moving any icon cache access to background thread
> Updating Apps list to avoid loading icons for ignored apps
Bug: 21325319
Change-Id: Id72755100f1176ccfcc99249c5e02873cc249a13
> Making iconBitmap public instead of a getter (similar to AppInfo)
> Removing getIcon() which can lead to IO on UI thread
> Removing updateIcon and handling the update at the caller
Bug: 21325319
Change-Id: I6a49b9043f974e9629ea25e77012d97cc04c0594