• Home
  • History
  • Annotate
  • only in /packages/apps/Launcher3/src/com/android/launcher3/model/
History log of /packages/apps/Launcher3/src/com/android/launcher3/model/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a7e1c1c08854930ddb4366698d5bf079ae0536f3 14-Apr-2017 Tony Wickham <twickham@google.com> Only add widgets system shortcut if widgets exist

Before we were adding it in a disabled state, and then enabling it once
widgets were bound (if widgets existed for that app). Now we load all
widgets when launcher starts so that we can use the values for the
purpose of animating the popup container. Then, as the container opens,
we reload widgets/shortcuts for that particular app and add/remove the
widgets shortcut if necessary.

Bug: 34940468
Change-Id: I64bd009442d10d3d1f9a977bdedfdb639a7dd193
ackageUpdatedTask.java
0aa685bb6f17b7438b82123b358e66cf27312734 07-Apr-2017 Hyunyoung Song <hyunyoungs@google.com> Merge "Launcher dump proto that will be used for:" into ub-launcher3-dorval
e295acaeb34c474430e68cbfb069a6a6bfea4041 06-Feb-2017 Hyunyoung Song <hyunyoungs@google.com> Launcher dump proto that will be used for:

$ adb shell dumpsys activity provider com.android.launcher3/com.android.launcher3.LauncherProvider
To see how the proto is filled: go/launcher-proto-dump

b/31772480

Change-Id: I8e0f1e5e38148a3dfeabd2fc057392193b2625dd
(cherry picked from commit 6aa3729e98502d4cffc40a7e602628b85d558edd)
gDataModel.java
86222d23e28a09a7a26e7a0d4b4830ded2efb384 30-Mar-2017 Tony Wickham <twickham@google.com> Add support for getting widgets/shortucts for a particular package/user

Bug: 34940468
Bug: 33553066
Change-Id: I5d0131df206c6a13d4227ad28c5b094bbf1343df
idgetsModel.java
46103242610be2bab2c6f1c8277555750b003fce 21-Mar-2017 Sunny Goyal <sunnygoyal@google.com> Revert "Adding some logging around launcher grid when device profile changes"

Bug: 35425060
This reverts commit c29de857807680bf72ebd386cbec716b33d64780.

Change-Id: I4320be3473f914289f88c8cbb376a68af006d7de
ridSizeMigrationTask.java
ad2e91a216edae0f25bce83a2b058c81953981af 01-Mar-2017 Sunny Goyal <sunnygoyal@google.com> Fixing SDCard and package enabled state checks in PackageManagerHeler

Bug: 32365540
Change-Id: Iaac3e08ce55457ebbfb3633514ebc8ade6d200c5
dCardAvailableReceiver.java
93bc3c1e41b45d0a331db2589fd4c6a731cb591d 16-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Separating methods for updating the model to a sepatate class." into ub-launcher3-master
43bf11d9c95f76c2dfeb625b23cb458df81252b3 02-Feb-2017 Sunny Goyal <sunnygoyal@google.com> Separating methods for updating the model to a sepatate class.

Removing static access to model update methods, to allow for better
access control and testing

Change-Id: I9afe004dbf1b2fe50df422fd28bceea9230a4704
ddWorkspaceItemsTask.java
odelWriter.java
ackageUpdatedTask.java
hortcutsChangedTask.java
serLockStateChangedTask.java
eb04b8415368ce28bacd100b8bffa85fede734a0 16-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fixing wrong check for grid migration" into ub-launcher3-master
f3a13e15843110dd740ce0a6abdf336ea2cd5d80 15-Feb-2017 Sunny Goyal <sunnygoyal@google.com> Fixing wrong check for grid migration

Change-Id: I0475512302fd185fcd984d032cf19b34df3f8840
ridSizeMigrationTask.java
c29de857807680bf72ebd386cbec716b33d64780 15-Feb-2017 Sunny Goyal <sunnygoyal@google.com> Adding some logging around launcher grid when device profile changes

Bug: 35349518
Change-Id: Ia71504cd37749f8eaa5e038ac2867bcd9749a4bb
ridSizeMigrationTask.java
ee544c5d243698e64990e07917df1de804ffbe44 10-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Making methods in PaackageManagerHelper non-static" into ub-launcher3-master
342e4667392294fec99461c3b55095c15578ea22 03-Feb-2017 Sunny Goyal <sunnygoyal@google.com> Making methods in PaackageManagerHelper non-static

Bug: 34112546
Change-Id: Ia3db3e2f56d26e314000e302b51e6d38607c525d
dCardAvailableReceiver.java
3c7d9cbb209107a8c8d41211beff7bf5af6fe285 31-Jan-2017 Hyunyoung Song <hyunyoungs@google.com> Clean up around 1) Log.VERBOSE and 2) dump
b/31772480

Note: in the follow up CL, I will add the dump result of the bgDataModel
to a proto

Change-Id: I5261cff0fb29cedd1dd772b8b15f67095ad5b967
gDataModel.java
81e44914500c7cc6204d25390f5999fa53559044 15-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Fixing loadWorkspace

> Adding checks on legacy shortcuts
> Checking restore status based on package and not componentName

Bug: 34123342
Change-Id: I442699e4ebb34ae66aa25c512bfcdc1b4fd5ae2a
oaderCursor.java
782f0c9a896db58aeaa60d15f291831b8d7b4c93 19-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Adding support for new APIs in O related to configurable shortcuts

> Config activities can now return PinItemRequest which can be used to pin
deep shortcuts

Bug: 33584624
Change-Id: Ic0df436bd79e069615b9d60d24eb7594b824b2da
idgetItem.java
idgetsModel.java
278359539c02ca160caf1df54ce96053a2a2ef59 13-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Adding support for requesting addition of shortcut/widget
on the workspace.

Bug: 33584624
Change-Id: I664366822fe8088742faff2cce006239ab0771bc
ddWorkspaceItemsTask.java
1b0726359b5157db8d3d96c52a37f05fce065618 18-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Moving icon generation out of ShortcutInfo constructor so that it
can be created on the UI thread

Change-Id: If84e52041eb4ab20807f5cfd4b7f31d7b5f381ed
hortcutsChangedTask.java
serLockStateChangedTask.java
c1ad0ce8aebb76794fdd8b44a0bf50435f0cf39a 11-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Only marking items not already restored as restore

> Moving the restore property to LoaderCursor

Bug: 34123089
Change-Id: I1f992ef086d65e0b3cf18d3b2cf37a4f254c97d2
oaderCursor.java
e6e7200791c28472c9335a187a85dbeda1a77d24 13-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Removing promiseIntent property from ShortuctInfo

> 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
ddWorkspaceItemsTask.java
oaderCursor.java
ackageUpdatedTask.java
3e9be43b6ea75c8b82b57aa58508a0c3e8e1d721 06-Jan-2017 Sunny Goyal <sunnygoyal@google.com> No more LauncherActivityInfoCompat

Bug: 32745285
Change-Id: I00f13794d5dc0a2b1fe03ec74de36018f22eb386
oaderCursor.java
87f784c285fdeed9091a4de8b9b44db3eca677d8 11-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Removing static Context access using LauncherAppState

> This ensures that LauncherAppState is only accessed in the presence of
a valid context

Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750
gDataModel.java
ridSizeMigrationTask.java
oaderCursor.java
idgetItem.java
idgetsModel.java
aaf86fe9a0406720cca7cfe204f28e2d2de085eb 06-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Refactoring some loadWorkspace logic in a separate class

Bug: 34112546
Change-Id: I8a43ed1646056aa1957ac3d6ea82018691df6386
oaderCursor.java
2d7cca1e052b982a1fd1d28c0174ad4e6f2d22d3 04-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Updating PendingAppWidgetHostView to load icon on the background thread

Bug: 21325319
Change-Id: I0886eec5a3f36f5e1ac18020c54891a56bdb5ed2
ackageItemInfo.java
3fe4a146cf774261ab3552dd8ab392439c771e54 16-Dec-2016 Sunny Goyal <sunnygoyal@google.com> Simplifying IconCache access code

Providing a way to access icon cache without LauncherAcitivtiyInfo.
This allows fetching LauncherActivityInfo only when required, thus
avoiding system RPC when the icon is already in cache.

Change-Id: I92918c7a0d0d0796e5f7b70d4ecb6787c52c6600
gDataModel.java
acheDataUpdatedTask.java
ackageItemInfo.java
ackageUpdatedTask.java
hortcutsChangedTask.java
serLockStateChangedTask.java
a52ecb0390c85afb385371bb844bb496c59ddf87 17-Dec-2016 Sunny Goyal <sunnygoyal@google.com> Removing all compatibility code below Lollipop

Bug: 32745285
Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
idgetItem.java
idgetsModel.java
7c74e4ae641e76f73d74348e293c244a157f6585 16-Dec-2016 Sunny Goyal <sunnygoyal@google.com> No more UserHandleCompat

Bug: 32745285
Change-Id: I762fb4e268c1afe48a1860ab12a4ccb3f626aa95
ddWorkspaceItemsTask.java
gDataModel.java
acheDataUpdatedTask.java
xtendedModelTask.java
ackageUpdatedTask.java
dCardAvailableReceiver.java
hortcutsChangedTask.java
serLockStateChangedTask.java
idgetItem.java
idgetsModel.java
1cd01b023acc123b771765b7297d8aaedac224e0 09-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Ensuring that ShortcutInfo always has an icon

> 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
acheDataUpdatedTask.java
ackageUpdatedTask.java
1d896b011d0fb371fbefaa036aecbb319535d259 12-Dec-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Adding a generic method to initiate overridable objects" into ub-launcher3-master
ab121c17159a7f655b772fa78c04a6d2479e2a8e 02-Dec-2016 Sunny Goyal <sunnygoyal@google.com> Adding a generic method to initiate overridable objects

Change-Id: Ia433427c65ad38804f2eed9c6bc209df232758c0
idgetsModel.java
3be633b82fc87f429bd92c9a8e1e7a6d5241418e 08-Dec-2016 Sunny Goyal <sunnygoyal@google.com> Adding support for app widgets in the InstallQueue

Bug: 32904959
Change-Id: I0d07a0c59d266493ae30a42579c1fa69b805009e
ddWorkspaceItemsTask.java
f75baa9f4023c0cf728360806891fd344aa8f3cd 21-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Adding support for deep shortcuts in Install queue

Bug: 32904959
Change-Id: Ida43bcf78da716defdf95eb704c31973bc390ea1
gDataModel.java
b7f5431232f8f22ccb0d9f3d4ec5992d6776fd0d 30-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Moving ShortcutInfo creation in InstallShortcutReceiver to background thread" into ub-launcher3-master
2bcbe13c642efa4c94df570441c700b7aa8e353d 16-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Moving ShortcutInfo creation in InstallShortcutReceiver to background thread

> Creating shortcut info requires iconCache access

Bug: 21325319
Change-Id: I3317d8b6824aa05b836f3ed3626f169d4d34f783
ddWorkspaceItemsTask.java
d423a8b86807d85dff2437cdb968dd730b1e5593 21-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Changing DeepShortcutManager to have a singleton contructor instead of getting it from LauncherAppState" into ub-launcher3-master
0993a378385c8bedd4badd775bc73f498854a9ff 21-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Adding a utility class to enforce that icons are always flattened on the background thread." into ub-launcher3-master
dde4fd971e825749686e7aa77379c65e410eea54 21-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Changing DeepShortcutManager to have a singleton contructor instead
of getting it from LauncherAppState

This follows the design of other managers and makes it easier to access it
from other processes and non-ui thread.

Bug: 33032833
Change-Id: I8ad82ae5b6cc47bae885f9896985675c7dd0d5b8
gDataModel.java
hortcutsChangedTask.java
serLockStateChangedTask.java
32f3dda80240e707ad4467b6b65fb589f539c58e 11-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Adding a utility class to enforce that icons are always flattened on
the background thread.

Bug: 21325319
Change-Id: I4d0f02557cdbf70cfa86750ac047faf2917e39bf
ackageUpdatedTask.java
4f9611a87c204649f43dd30a41718e7ba7aa7f2c 16-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Fixing item check when user is enabled/disabled

Bug: 32747950
Change-Id: I278cbd7626ee30be6b803d617cf05f8359e5d940
ackageUpdatedTask.java
f8d5370a9f74127c20e1ecd371a68918fe1f14ce 15-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Catching TransactionTooLargeException when binding widget." into ub-launcher3-master
f0ba8b7ca1dc8fd53451d3d16e9f4fc306cddcd4 10-Sep-2016 Sunny Goyal <sunnygoyal@google.com> Moving various runnables in LauncherModel to individual tasks

> Adding tests for some of the runnable

Change-Id: I1a315d38878857df3371f0e69d622a41fc3b081a
ddWorkspaceItemsTask.java
acheDataUpdatedTask.java
xtendedModelTask.java
ackageInstallStateChangedTask.java
ackageUpdatedTask.java
hortcutsChangedTask.java
serLockStateChangedTask.java
712ee53c67bbfb5ad4735217f3a9b063d9c60ad9 04-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Catching TransactionTooLargeException when binding widget.

A widget can potentially bypass binder size limit with remote views when
using partual updates (as the merging happens on the system service). In
such a case, show the widget in error state.

Bug: 32365088
Change-Id: Id1c4425958a06463273731464e31f05908c35ec7
idgetsModel.java
f5e3744637db1598c389e62450627b2548f8f517 02-Nov-2016 Sunny Goyal <sunnygoyal@google.com> Updating version check method names

Change-Id: If98851677545a9bbb9de308c23ff5c155a61a8bf
ridSizeMigrationTask.java
d164b7f4abcba6cc965c2264257569f88ad5e4a5 13-Oct-2016 Sunny Goyal <sunnygoyal@google.com> Fixing static instance of Indexer being created in the model

Indexer depends on the locale and should be created when ever the config
changes. Moving the widget indexing to the adapter (similar to allApps)
which gets created whenever the activity is recreated.
This fixes the bug where widgets indexing breaks if locale changes while launcher
process is alive
Also fixing the bug in widget model cloning where the HashMap was not cloning
the underlying ArrayList

Change-Id: I7dbe6290e73299c4c07aa7fa564077a2649e1a4c
bstractUserComparator.java
ppNameComparator.java
ackageItemInfo.java
idgetsModel.java
8e0e1d76095badc58a3178917c43642065ace37c 10-Oct-2016 Sunny Goyal <sunnygoyal@google.com> Moving come helper methods to corresponding classes

> Moving isPackageEnabled to InstallShortcutReceiver
> Moving the deep shortcut map to the data model
> Removing appInfo.flags. Instead fetching the flags when needed

Change-Id: I654dd8acefa7b7d183b0419afbe112bef001d536
gDataModel.java
e9956a76c94f2669e92598df0edd3120b85b3be6 02-Sep-2016 Sunny Goyal <sunnygoyal@google.com> Separating all the static data in a separate class, BgDataModel.

This will allow moving all the Tasks defined in LauncherModel as
separate intependent classes

Change-Id: I0b2f82b90dc22590eb1cc360a5690e2e7f857b5c
gDataModel.java
c2936bcbdbdfbf3b499b39c65ce1942694f35676 02-Sep-2016 Sunny Goyal <sunnygoyal@google.com> Moving AppsAvailabilityCheck into a separate class

Change-Id: Ieea1b5100d63752d928049ad9b1d3b4f84234f0d
dCardAvailableReceiver.java
1edab71d010f3efdde212b96aa1a44ab7a5b4ee5 01-Sep-2016 Sunny Goyal <sunnygoyal@google.com> Unifying toString() method for various ItemInfo subclasses

Change-Id: I7cde42f0df412e2877fb93c77e74ee56a25edead
ackageItemInfo.java
d56b157004c32becdc73ea69625b98c959a34745 25-Aug-2016 Sunny Goyal <sunnygoyal@google.com> Fixing the hotseat import logic
am: d70ef24233

Change-Id: I1be426419d7a7f044dfd81207c3ee3b1df43b404
d70ef242332e766b2c23e3b8bb537dc2d584e9ec 24-Aug-2016 Sunny Goyal <sunnygoyal@google.com> Fixing the hotseat import logic

The import logic following the behavior: Improt everything and force
run GridMigrationTask to automatically remove broken icons.
This logic would fail for hotseat as the replacement happens before
the GridMigrationTask, which will not replace the broken targets
appropriately

The cl changes some logic only for hotseat import
> After import remove any broken icons/empty folders
> When adding default icons, only add as much icons as required. Since
GridMigrationTask uses weights, it sometimes removes imported icon, if
the hotseat size becomes too large.

Bug: 30909630
Change-Id: I6ca1f25dac81649794d81aaf82c3c38d1c918d91
ridSizeMigrationTask.java
a1503f47aa2fe140a5e83a4ea5d6478955ba97af 19-Aug-2016 Sunny Goyal <sunnygoyal@google.com> Comparing widget sizes when sorting if the labels are same

Bug: 21441837
Change-Id: Ib0e6d3b84389f900264a0d696d22057426973719
idgetItem.java
a5c8a9eb666da16bc4c9ea4412868e22ace8d1f0 08-Jul-2016 Sunny Goyal <sunnygoyal@google.com> Adding logic to pull in workspace data from another Launcher3 based
provider. This allows OEMs to keep the user's homescreen intact while
changing the default home app package.

Bug: 28536314
Change-Id: Ibebfd7dd33aa2cbd9ca28d2d611dd0a4a5971444
ridSizeMigrationTask.java
f03bd4f5470eed9808a0e6f345de94f4e578ae85 10-Jul-2016 Sunny Goyal <sunnygoyal@google.com> Build fix.

Missed some traces of key-value backup

Change-Id: Ifda94aa27aa53625bfb7ca173c6750c1b2433669
ridSizeMigrationTask.java
eb77aaea8990ede3ba774c7b92d48d098bda0f24 24-May-2016 Sunny Goyal <sunnygoyal@google.com> Removing Key-Value pair backup logic as Launcher now uses full-data backup

Change-Id: I3bbaec2b33afe8c1da3ca1468c7c733cc3194604
ridSizeMigrationTask.java
ec1b1c542ca0648747b3b0bc3fd45922caa8ddaa 22-Jun-2016 Tony Wickham <twickham@google.com> Merge "Add support for launcher shortcuts." into ub-launcher3-calgary
803896767b37e447bcdff7be6b9872612e93b7bf 22-Jun-2016 Sunny Goyal <sunnygoyal@google.com> Fixing bug in GridSizeMigrationTask, where it was not accounting for
an extra space when there is no all-apps icon

Bug: 29569843
Change-Id: Ib768f0d069aed413bd8f4c2aa86ab1d3d657680e
ridSizeMigrationTask.java
bfbf7f9f4a0b300613f0ff27a4eb592d88c08325 19-May-2016 Tony Wickham <twickham@google.com> Add support for launcher shortcuts.

- This CL has no UI but provides the necessary backing for one.
- Adds new item type: ITEM_TYPE_DEEP_SHORTCUT, to distinguish from
ITEM_TYPE_SHORTCUT. We can reconsider these names.
- Adds ShortcutCache, using LruCache for up to 30 dynamic shortcuts
(pinned shortcuts are always cached in a HashMap).
- DeepShortcutManager queries for shortcuts and other things like
pin them. In a future CL it will use the cache, but for now it
simply makes an RPC for all queries.
- LauncherModel maintains counts for pinned shortcuts, pinning and
unpinning when counts reach 1 or 0, respectively.
- LauncherModel maintains a map of components to lists of shortcut ids,
which Launcher gets a copy of after it is changed in the background.
This will allow us to know how many shortcuts an app has immediately,
and query for details as the UI is animating.

Change-Id: Ic526f374dd10d72a261bae67f07f098fca8d8bca
ridSizeMigrationTask.java
bb011dad4e69bec027be1e00d573a3095b318b43 16-Jun-2016 Sunny Goyal <sunnygoyal@google.com> Adding a flag (enabled by default) to remove the all-apps button.

All apps can still be opened by clicking the caret.

Bug: 29398447
Change-Id: I61f1b05cea83a0a49d7cc16c518c5419618ba779
ridSizeMigrationTask.java
a9e2f5abb3c21d9721939c625ffb0caabb34e8d9 10-Jun-2016 Sunny Goyal <sunnygoyal@google.com> Adding a DB update path to handle the QSB position change

> Renamed the id of 1st screen to 0 and making space for the QSB
by running the grid migration task.
> Added a feature flag to easily disable the QSB-in-workspace behavior

Change-Id: Ie3369f0d4433d916e9d6215d414770d4333f3e26
ridSizeMigrationTask.java
da4fe1a6244457f144e0a331cada3ada17157809 27-May-2016 Sunny Goyal <sunnygoyal@google.com> Moving the QSB to the workspace grid.

The QSB will only be resent on the first screen of the workspace
covering the full width of the first row. If will not be movable.
The first screen of the workspace will not be movable.
The searchDropTargetBar no longer contains the QSB (it can be
renamed in aseparate cl).

Refactoring all QSB related logic by moving it to a custom view
inflated only using xml.
Change-Id: Icb4fd6eb855df1af15f685961c38351bf4fd4f4a
ridSizeMigrationTask.java
ff4ba2d99593ed84963b3f71c555b529dd905835 02-Apr-2016 Sunny Goyal <sunnygoyal@google.com> Refactoring out grid occupancy management in a separate class

Change-Id: I37a830c0f2eb0a0dd4f5fc78fa29127cb18cb3c2
ridSizeMigrationTask.java
6388b2c61b17bd6988f4243ad206c193a1e567c1 16-Apr-2016 Sunny Goyal <sunnygoyal@google.com> Adding some utility methods for thread verification

Change-Id: I3fb6a1b860bba8a6efe413dd2698f972dc3e2506
idgetsModel.java
1ab22630a0c1e16873eb49d0021e0f3dbec4b0ba 06-Apr-2016 Sunny Goyal <sunnygoyal@google.com> Fixing wrong grid size definitions

Bug: 27958565
Change-Id: Icabc651552bbf6483fedbaeb52745c48d418f9ea
ridSizeMigrationTask.java
4ddc40130aa0460924364eab3557088421eebe0c 10-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Creating WidgetCellItem to wrap LauncherAppWidgetProviderInfo and resolveInfo
In PackageItemInfo,, using the user of the first item in the sub-list

Bug: 27585511
Change-Id: I8243f0e5c831af65661ae815489e53e9fcade837
idgetItem.java
idgetsAndShortcutNameComparator.java
idgetsModel.java
2e1efb480a9b77a97cb623d4f5faf6802a417422 04-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Changing the widget loading strategy

Widget is loaded only when the user enters the overview mode and we keep
the list updated as long as the user is in the overview mode. Once the user
leaves the overview mode, we stop responding to widget updates

Bug: 26077457
Change-Id: I9e4904b8f1300bfe0d77e2bc5f59aa6963fad8d1
ridSizeMigrationTask.java
idgetsModel.java
dfaeff757d6cefb2ed360e0f588117021b06b3f4 23-Feb-2016 Hyunyoung Song <hyunyoungs@google.com> Manual revert due to conflict:
am: d31dcbcc7c

* commit 'd31dcbcc7c7901959c65c4e635e59274a1d4c334':
Manual revert due to conflict:
d31dcbcc7c7901959c65c4e635e59274a1d4c334 23-Feb-2016 Hyunyoung Song <hyunyoungs@google.com> Manual revert due to conflict:

Revert "Load label in bg thread to prevent ANR b/27238970"

This reverts commit b62fd0957607ae54c7bca7ce64eed288a11f0f2f.

Change-Id: Ia751e3414fb24a18bb8bb9ca09dcd93d0e4249f6
idgetsModel.java
b62fd0957607ae54c7bca7ce64eed288a11f0f2f 23-Feb-2016 Hyunyoung Song <hyunyoungs@google.com> Load label in bg thread to prevent ANR
b/27238970

Change-Id: Ic5d77df7d5276cee07861d59427a94fb19691d9c
(cherry picked from commit 72a9953cf463e0e7a8d24903f1692828ffe5b017)
idgetsModel.java
72a9953cf463e0e7a8d24903f1692828ffe5b017 23-Feb-2016 Hyunyoung Song <hyunyoungs@google.com> Load label in bg thread to prevent ANR
b/27238970

Change-Id: Ic5d77df7d5276cee07861d59427a94fb19691d9c
idgetsModel.java
f076eae0cab10f035f7b187c72a680cd220acf1b 11-Jan-2016 Sunny Goyal <sunnygoyal@google.com> Adding support for migrating the grid between any two valid screens sizes.

The grid is migrated in steps where each step consists of at max one column change and at max one row change.
Adding some unit tests for GridMigrationLogic

Bug: 25958224
Change-Id: Ie54e872ea0925cc4c463edbba0a7201d62b373a0
ridSizeMigrationTask.java
f862a26347b583bd84be22a8ceff4bc13158ec7e 14-Dec-2015 Sunny Goyal <sunnygoyal@google.com> Extending the grid migration logic to handle density changes

For hotseat migratino, we simply drop the items with least weight
If the workspace row/column decreases by 2 or more, we clear the whole workspace

Bug: 25958224
Change-Id: I7131b955023d185ed10955f593184b9238546dc8
ridSizeMigrationTask.java
igrateFromRestoreTask.java
d249748abf357925b326d57ab68eb6c2b23c4ef6 23-Sep-2015 Sunny Goyal <sunnygoyal@google.com> Making all provider calls using content resolver.

This will allow us to easily move db creation out of onCreate

Change-Id: Idd949624b0a9c95e4451e48db7764b7b7922c40a
igrateFromRestoreTask.java
f912beb2ee4b75af1fe8c710d6948b9737fed531 20-Oct-2015 Sunny Goyal <sunnygoyal@google.com> resolve merge conflicts of fe3db428ab to ub-launcher3-master.

Change-Id: Icc60a61f621fefe9db67b178921e62f7d72d7e5a
f725824fa2091cab44cf1bcbfe5b5b8d06475560 20-Oct-2015 Sunny Goyal <sunnygoyal@google.com> Refactoring getPreferenceKey method

This method was returnning a constant and getting inlined by proguard.

Change-Id: I87348e25b21483adc1b27d16f99dec4b73205701
igrateFromRestoreTask.java
c2d77a5bb0eabf3ed4b33cac1f9e67e3cb66296d 16-Oct-2015 Tony Wickham <twickham@google.com> am fb062c63: Close some Cursors and call super.onFinishInflate().

* commit 'fb062c63355f65e6df9e99cbf4cce49cee2900d1':
Close some Cursors and call super.onFinishInflate().
fb062c63355f65e6df9e99cbf4cce49cee2900d1 16-Oct-2015 Tony Wickham <twickham@google.com> Close some Cursors and call super.onFinishInflate().

Android Studio gave these warnings, and they seem like good ideas.

Change-Id: I9a4d3997fd18e86e007e4511e1ac9e8a75509265
igrateFromRestoreTask.java
2924080923189c1ec125ca877f6cc75982f215ba 23-Sep-2015 Sunny Goyal <sunnygoyal@google.com> am 4c67dce4: am ce0a8946: Merge "Preventing nullpointer exception when cloning rawList" into ub-launcher3-burnaby

* commit '4c67dce43f6e4f535bfe9c6d804db0822ac6db9d':
Preventing nullpointer exception when cloning rawList
6a706b1dd72a03fe6c6b4c2a5a6df0e782c70936 23-Sep-2015 Sunny Goyal <sunnygoyal@google.com> Preventing nullpointer exception when cloning rawList

Bug: 24299525
Change-Id: I92018a3da7d75afc2c6997302f8e0492eb78e62f
idgetsModel.java
a410e992050d10bc3478eafa19dd76b0a1768254 11-Aug-2015 Sunny Goyal <sunnygoyal@google.com> am 6579e1ee: Disabling home screen migration logic

* commit '6579e1eee8a6fce44f020d40c3bbdbf245d6c12c':
Disabling home screen migration logic
6579e1eee8a6fce44f020d40c3bbdbf245d6c12c 11-Aug-2015 Sunny Goyal <sunnygoyal@google.com> Disabling home screen migration logic

Change-Id: I506948852945bfb8ebd7a95fc951880ffe9a3e17
igrateFromRestoreTask.java
f85602b00ea8e6431d59582964f85d5c2779473c 07-Aug-2015 Sunny Goyal <sunnygoyal@google.com> am 7ca3250a: Merge "Creating a cache of users to avoid multiple calls to UserManager" into ub-launcher3-burnaby

* commit '7ca3250a10d608c06a733a92cd61a2feadb9007f':
Creating a cache of users to avoid multiple calls to UserManager
823fd5090209017a029460e7dbd8ab9d51d013dd 04-Aug-2015 Sunny Goyal <sunnygoyal@google.com> Creating a cache of users to avoid multiple calls to UserManager

Bug: 22805101
Change-Id: I9cd270efd74fdd34a7eb738fc25797e6f1bf2487
bstractUserComparator.java
ppNameComparator.java
3c938a7e0dfa6289bba557164f629873a230bd5c 04-Aug-2015 Sunny Goyal <sunnygoyal@google.com> resolved conflicts for merge of 3f7550c1 to ub-launcher3-master

Change-Id: I3bb155473d48832e496a8983f84c20e6e935fa41
233ee964a9ecf419a3e8330a67456d422879132d 03-Aug-2015 Sunny Goyal <sunnygoyal@google.com> Calculating widget minSpans and spans statically/independent of orientation
> Filtering the widget list and excluding widgets which dont fit the grid
> setting minSpans for the widget item when binding.

Bug: 22541314
Bug: 22559137
Change-Id: Ieda48b56c95bee0c7ec71dd691af7e23e2d43db6
idgetsModel.java
7808e273637340344a28c1552fa7ca825409cf53 01-Aug-2015 Sunny Goyal <sunnygoyal@google.com> am 8f375d1e: Merge "Enabling logging for migration task" into ub-launcher3-burnaby

* commit '8f375d1e68cdc67ce693a7693a2175ef5cb3b4eb':
Enabling logging for migration task
8f375d1e68cdc67ce693a7693a2175ef5cb3b4eb 01-Aug-2015 Sunny Goyal <sunnygoyal@google.com> Merge "Enabling logging for migration task" into ub-launcher3-burnaby
149366284918692c6dc05b7a1deb19a4e7585070 31-Jul-2015 Winson Chung <winsonc@google.com> am e990d495: Merge "Fixing minor memory leak with name comparator." into ub-launcher3-burnaby

* commit 'e990d49534bb61606bcf3e61fa3c26e088d1b854':
Fixing minor memory leak with name comparator.
e990d49534bb61606bcf3e61fa3c26e088d1b854 31-Jul-2015 Winson Chung <winsonc@google.com> Merge "Fixing minor memory leak with name comparator." into ub-launcher3-burnaby
d934e0b0b7b60c9457fd0eb615355c16bac1a285 31-Jul-2015 Sunny Goyal <sunnygoyal@google.com> Enabling logging for migration task

Bug: 22353460
Change-Id: I8a9a8ea0d5523acb6d2376920535a9f4f519525d
igrateFromRestoreTask.java
c1729a4d154f28c32175823e0cb9448a9c58a4e4 31-Jul-2015 Sunny Goyal <sunnygoyal@google.com> resolved conflicts for merge of e5bb705f to ub-launcher3-master

Change-Id: Id7ec170a3c4b1415b18ad46a18d7ea69595a8992
e5bb705fb79f18df8680958dcf2c5460e16c90b6 27-Jul-2015 Sunny Goyal <sunnygoyal@google.com> Homescreen migration from a larger grid to a smaller grid.

Adding support for restoring from a larger device, if the grid size
difference is not more that 1.
During restore add all the items in the DB, and run a one-time migration
the next time launcher starts.

The migration strategy is defined in ShrinkWorkspaceTask.java which involves
resizing, moving and removing some items.

Change-Id: I6ee411f6db5bf0152b527e16146a88c56dec2d97
igrateFromRestoreTask.java
eea022530496bb5f53f9ae01fdef0cd9d0e8147d 28-Jul-2015 Winson Chung <winsonc@google.com> Fixing minor memory leak with name comparator.

- WidgetsAndShortcutNameComparator was using the actual widget and shortcut resolve
infos as the key to the label cache. Neither of these classes override hashCode()
and we were retrieving a new set of widgets and shortcuts whenever packages changed
so we would end up creating more and more entries in the cache. This isn't a huge
leak, but could lead to problems if Launcher is used for long periods without being
killed.
- Now, we use a ComponentKey as the key, so that we don't keep a reference to the
widget/shortcut infos and also ensures that they should hash to the same labels.

Change-Id: I91347ee72363adbc2b075b67dba331e35ab1fe34
idgetsAndShortcutNameComparator.java
idgetsModel.java
11bebbc463984177c48887d6607bd13f21fafca1 17-Jul-2015 Hyunyoung Song <hyunyoungs@google.com> am f63dda5e: Query the title and icon for app using correct user handle.

* commit 'f63dda5e153febf0b5163ac41d927129ec822314':
Query the title and icon for app using correct user handle.
f63dda5e153febf0b5163ac41d927129ec822314 17-Jul-2015 Hyunyoung Song <hyunyoungs@google.com> Query the title and icon for app using correct user handle.

> Note: when there are corp and regular user profile widget providers,
it is guaranteed that regular user profile widget provider is always
queried first. Thsi is guaranteed because inside AppWidgetManagerCompat.getProviders(),
regular user always takes prescedence when iterating thru different providers
associated to different users.

Change-Id: I5e38e1fb30925ccba7e1e2925fd3e77c44a14901
idgetsModel.java
3155e348565736e480174bf46e1a06a0fcdda609 14-Jul-2015 Hyunyoung Song <hyunyoungs@google.com> am cbab1cb4: Merge "Hide spammy WidgetModel log behind a DEBUG flag" into ub-launcher3-burnaby

* commit 'cbab1cb44f4fca4ea80ec2aeb63b55b9ea5d9e2e':
Hide spammy WidgetModel log behind a DEBUG flag
f56513f6bae56eb96147dc1783a214326c1b43c3 13-Jul-2015 Hyunyoung Song <hyunyoungs@google.com> Hide spammy WidgetModel log behind a DEBUG flag

Change-Id: I0119855655516d9fdc114334a974b8766aabf674
idgetsModel.java
aa8ef119f18864f4ab41c12f9c2ad6d7f643a0a9 13-Jun-2015 Sunny Goyal <sunnygoyal@google.com> Refactoring ItemInfo

> Changing dragObject to ItemInfo
> Removing dropPos which is always null
> Removing requiresDbUpdate which is only used in CellLayout

Change-Id: I753ddaae0880c8a9bfee5a1266095ff34610284a
ackageItemInfo.java
2a1d4ed54feb26405c0c6253df5431303cedefa8 25-Jun-2015 Winson Chung <winsonc@google.com> Fixing crash when using app name comparator with empty titles.

Bug: 22065752
Change-Id: I4160f5e1728e46ce85fd2579889e7952de01a752
ppNameComparator.java
eaf291b9feba4e332d258b6d53ff119c88dc0d39 18-Jun-2015 Hyunyoung Song <hyunyoungs@google.com> Widgets model should respect AppFilter.

> This pattern is already used in AllAppsList
> mBgWidgetsModel variable cleanup inside LauncherModel.

b/21739736

Change-Id: I03a05064ce3c3e5effb09055af9f4d4de2811c95
idgetsModel.java
091f0ffd929f7a0a9a6af7d202eae13c48c07daa 05-Jun-2015 Sunny Goyal <sunnygoyal@google.com> Updating widget list when iconCache updates

> Fixing bug where items were not getting removed from the memcache
> Fixing bug where package entries were not getting removing because
of component mismatch.

Bug: 21612532
Change-Id: Ie56f3272f7fb7e1a37c5ff9bfa523d814edc1a02
idgetsModel.java
7b3bdcd6bbed929ac9492230afe8bc650a936107 04-Jun-2015 Hyunyoung Song <hyunyoungs@google.com> Merge "Consistent scrolling experience for All apps and widget tray" into ub-launcher3-burnaby
ec84728b270004494dc483c141628ec6417175fb 04-Jun-2015 Hyunyoung Song <hyunyoungs@google.com> Consistent scrolling experience for All apps and widget tray

b/21375339

Change-Id: I8362b3ca94b7c4e75932d42cd09a989e0e3919c0
ackageItemInfo.java
idgetsModel.java
316490e636aad788fcfbfc2e04dd4f0e145bdd00 02-Jun-2015 Sunny Goyal <sunnygoyal@google.com> Removing some synthetic method creation

> Make package-private and @Thunk all private methods and constructors accessed from inner classes.

Change-Id: Ie5913860a0c33e48e9bf68f9b5b1699f64c2f174
ppNameComparator.java
5683f871722254e4e357cf3fb77cd28156278e51 29-May-2015 Sunny Goyal <sunnygoyal@google.com> Adding an asynchronous search interface for apps search

Change-Id: Ib09df0a3d587dc60ed888ddbd0edf058e4a1cc3e
bstractUserComparator.java
ppNameComparator.java
9110d485fa12c03df3061278717efb342f1142cf 22-May-2015 Hyunyoung Song <hyunyoungs@google.com> Fix widget tray crash on screen rotation introduced by
ag/694693

b/21402209

Change-Id: Idae97fca971d90f5fbba658411491147cb023c8d
idgetsModel.java
2bd3d7d1cb5e4d8d826982d11b456739fed6b817 21-May-2015 Hyunyoung Song <hyunyoungs@google.com> Load PackageItemInfo in background thread to prevent ANR

- Decoupled widget model from widget view, and placed the
creation to LauncherModel.
- As a result packagemanager operation, iconcache retrieval is all done inside
LauncherModel on background thread
b/21311085
b/21325319

Change-Id: I294698527db58b89f3da558090a367530c058776
ackageItemInfo.java
idgetsModel.java
0230c3a87f89afcfb61f80310d5b896986e23118 20-May-2015 Hyunyoung Song <hyunyoungs@google.com> List work profile widgets to the end of the row of the widget tray, then sort

b/20339403

Change-Id: I7cd824e47eba1121c9053a4064a51750bed587e7
idgetsAndShortcutNameComparator.java
0b493c86c5d0803f11095b71396ffac0097d26ef 19-May-2015 Hyunyoung Song <hyunyoungs@google.com> Unify sorting between all apps and widget tray

- selected locale names are shown before latin
- case independent sorting
- main app > enterprise app

Future possible refactoring:
- Move all the *ItemInfo data structures to model package
- Rename the comparator based on NOT what data structure it supports
but what functionality it supports (locale? case independent?
main app > enterprise app?)

b/21271658
b/20339403

Change-Id: I8a776467392e21d5014e85cd3f51931a3ef89724
ppNameComparator.java
idgetsAndShortcutNameComparator.java