Updating various static objects to use a standard pattern so that
it is easier to track and cleanup those objects
Bug: 141376165
Change-Id: Ia539cbfa338d544dddad771c5027b6748762768b
Since we made the change to treat all auto added workspace items as promise
icons, the initial shortcutExists check breaks since its comparing the promise
intent to the actual app intent. This additional shortcutExists check can
compare the proper intents.
Bug: 143803446
Change-Id: Ifa27b15205d6e17f83a4437ac175d51815688c84
Caused by mainline updates where Files app session commit is broadcasted.
Launcher workaround is to not auto-add system apps to the workspace.
Bug: 139663018
Change-Id: Id61532bd0df2cd5f3bdfc28a3616ba5e5ff3d18a
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
- 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
Instead of maintaining a workspace screen array, calculating it from
the current set of items as needed.
Bug: 122262946
Bug: 119500058
Change-Id: I85bb0e55a4442ab9bcac390a601da0cb2583c26a
Removing a separate table for workspace screens. List of screens are
automatically parsed using the items in the favorites DB. Order of the
screen based on the screen id and rearranging screens is no longer
supported. In case the screens need to be rearranged, all the items
in the favorites db will need to be updated with new screen ids.
This makes backing up the DB (in the same database) easier as only
one table needs to be duplicates.
Change-Id: I8ba947a898f637d780e2f49925e78604263126e8
> Items ids were already being typecasted to int when being bound on the UI
> Using a consistent type allow better use of platform data-structures
> Adding IntArray and IntSet as a replacement for various Collection classes
Change-Id: Id3c650ed2420c2bfca3bd7671d2b705b56112371
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
> LoadWorkspace can be called with a LoaderResult which does not bind anything.
> Synchronous bind does not look for a valid page id, and will fallback to the
current pageId similar to full load flow
Bug: 37616877
Change-Id: If14491dc79c5b85ae1019cc93e4e08759df3387d
> 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
> Instead of checking promiseIntent != null, using isPromise() for consistency
> Fixing bug where clicking a pending icon does not launch anything
> Fixing bug where draging an icon on Info target, permanently hides the icon
Change-Id: Ic8f6b56042dba42d5ed9aedb0f5947186e1a4208