Commit Graph

227 Commits

Author SHA1 Message Date
Winson c0b52fefbc Refactoring to ensure item deletion always removes from the DB.
- Routing the various places where we call through to delete from
  LauncherModel through Launcher, which will delegate the removal
  of the icon from the workspace, and properly handle the removal
  of all items and their contents from the db.

Bug: 23944119

Change-Id: I022fe2b3e79da16b5af87505c4362490b8422686
2015-09-10 14:55:17 -07:00
Sunny Goyal 41cdc8d20a Removing items which are on invalid screen
Bug: 23804751
Change-Id: If26a6b201aa6127cfd2a08fc4b408a27d6329bad
2015-09-04 15:26:17 -07:00
Sunny Goyal 639e906a0f Fixing work folder addition logic
> Showing animation when folder is added
  > Not showing animation while cling is visible
  > Checking is loader completed from UI thread
  > Running bind complete runnables when bind is completed

Bug: 21772992
Bug: 23181585
Change-Id: I50742850da8294a877478ce02b107a026f68b563
2015-08-20 11:25:02 -07:00
Sunny Goyal d21f9404da Merge "Disabling auto restore of widgets. > Always show "Setup" button for a widget which has a config activity." into ub-launcher3-burnaby 2015-08-14 19:23:57 +00:00
Sunny Goyal 84b4adc3fb Disabling auto restore of widgets.
> Always show "Setup" button for a widget which has a config activity.

Bug: 23155863
Change-Id: I60683889e76be830a76ac1245e079574aaf0ad10
2015-08-14 11:42:01 -07:00
Sunny Goyal 81056da1de Merge "Refreshing widget list when a package containing a widget changes" into ub-launcher3-burnaby 2015-08-13 20:05:11 +00:00
Sunny Goyal 2d648b057f Refreshing widget list when a package containing a widget changes
Bug: 20698931
Change-Id: I50bafac1fc0a855edb1ace633a8a6f87a5c3040e
2015-08-11 21:25:19 -07:00
Sunny Goyal 6579e1eee8 Disabling home screen migration logic
Change-Id: I506948852945bfb8ebd7a95fc951880ffe9a3e17
2015-08-11 12:10:34 -07:00
Sunny Goyal 823fd50902 Creating a cache of users to avoid multiple calls to UserManager
Bug: 22805101
Change-Id: I9cd270efd74fdd34a7eb738fc25797e6f1bf2487
2015-08-04 12:37:05 -07:00
Sunny Goyal 317698bd01 Loading high resolution icons for first 3 items in a folder
> Sometimes a folder gets rearranged, without updating the model,
   like when an app in uninstalled. In that case, we need to update
   the icons for folder items, which were previously hidden

Bug: 22813360
Change-Id: I99754911c969bf2153efb2948c226c1c69219b88
2015-08-04 11:05:15 -07:00
Winson Chung 153b02a5e6 Merge "Remove handler for searchables changed broadcast." into ub-launcher3-burnaby 2015-08-03 22:14:53 +00:00
Winson Chung 88fa741e50 Remove handler for searchables changed broadcast.
Bug: 22515084
2015-08-03 14:25:28 -07:00
Sunny Goyal d934e0b0b7 Enabling logging for migration task
Bug: 22353460
Change-Id: I8a9a8ea0d5523acb6d2376920535a9f4f519525d
2015-07-31 13:03:11 -07:00
Sunny Goyal e5bb705fb7 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
2015-07-31 12:03:33 -07:00
Sunny Goyal 53f9672b30 Fixing widget restore
> Widget restore active flag was not cleared when the app was downloaded
> Icon from session info was not getting cached

Bug: 22413379
Change-Id: Ie096b929252200675a76dadd8c25cc3aa433671b
2015-07-20 12:00:22 -07:00
Sunny Goyal ab7a4fe206 Fixing AppWidgetInfo not initialized with proper user
Bug: 21673750
Change-Id: I1e03c3cb10a87e394e963cc2001c9c1c293eb2ca
2015-07-15 17:39:33 -07:00
Sunny Goyal c22841bfd1 Fixing shortcuts not getting migrated to app icons
Bug: 22410445
Change-Id: I939c59270529daf51638aa30b30763c18a2ce6a5
2015-07-13 20:15:37 -07:00
Sunny Goyal 4e5cc64eaf Fixing backup restore
> Not deleting icons from cache, which have not been restored yet
> Not checking if activity exists during DB migration. Missing
components are removed during loader anyway
> Backing up and restoring bitmaps even when iconType is resource.
This allows us to show a proper bitmap icon, until the correct
resource is available.
> Loading proper shortcutResource icon for promiseIcons
> Checking against promise intent when verifying duplicates
> A launcher App intent can contain EXTRA_PROFILE

Bug: 22094970
Change-Id: I982971338846733833ec133119393af0bea0eb08
2015-06-25 17:41:06 -07:00
Sunny Goyal 2003c75ac4 Cancelling launcher reload on mcc change
Bug: 21022833
Change-Id: Iccd477e7b1638d162e1a500cdb7a52b8d359c657
2015-06-18 14:04:00 -07:00
Hyunyoung Song c1d53ef81c Merge "Widgets model should respect AppFilter." into ub-launcher3-burnaby 2015-06-18 04:29:52 +00:00
Hyunyoung Song eaf291b9fe Widgets model should respect AppFilter.
> This pattern is already used in AllAppsList
> mBgWidgetsModel variable cleanup inside LauncherModel.

b/21739736

Change-Id: I03a05064ce3c3e5effb09055af9f4d4de2811c95
2015-06-17 21:12:44 -07:00
Sunny Goyal b1622cc30f Deleting empty folders based on DB state
> Previously folders were getting deleted based on in-memory
loader state. If for some reason, an item failed to load, we would
delete the folder from DB as well.

Bug: 21354058
Change-Id: I5318ee8a99afa9cafd93ed2b9ef0e155f502a41b
2015-06-12 12:38:16 -07:00
Hyunyoung Song 3abd5488cc Catch TransactionTooLargeException when loading widget provider list
b/19904873

Change-Id: Ic0d13ee7513731706bc0f9fde8502acba0899cb3
Note: fix for almonte will be separate due to diff btw the branches..
2015-06-08 18:41:04 -07:00
Sunny Goyal 4f3e9383eb Code cleanup
> Removing obsolete logging
> Removing unused methods
> Removing resource leak warning due to non-static handler class in launcher

Change-Id: Ic38cc8aea82899b0b5ee3235f04e5964e49245fb
2015-06-05 00:34:06 -07:00
Sunny Goyal 091f0ffd92 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
2015-06-04 15:21:23 -07:00
Sunny Goyal 53d7ee4285 Fixing different bitmap sizes in different orientations
> Using a single bitmap icon size
> Picking up appropriate density for satisfy the required icon size
> Fixing some icon size assumptions during icon animations

Bug: 19514688
Change-Id: Ia7a1d0d2c03a9d39ccc241fa4ae3eb8a0f374585
2015-06-03 19:07:44 -07:00
Sunny Goyal 316490e636 Removing some synthetic method creation
> Make package-private and @Thunk all private methods and constructors accessed from inner classes.

Change-Id: Ie5913860a0c33e48e9bf68f9b5b1699f64c2f174
2015-06-02 10:04:59 -07:00
Hyunyoung Song 8f10dc21a0 Merge "Fix widget tray crash on screen rotation introduced by ag/694693" into ub-launcher3-burnaby 2015-05-22 21:51:57 +00:00
Hyunyoung Song 9110d485fa Fix widget tray crash on screen rotation introduced by
ag/694693

b/21402209

Change-Id: Idae97fca971d90f5fbba658411491147cb023c8d
2015-05-22 14:49:23 -07:00
Adam Cohen 2e6da1539b Refactoring DeviceProfile
-> Pulling out the parts of device profile which can (and need to be)
   initialized and accessed without access to an Activity context,
   ie. the invariant bits.
-> The invariant bits are stored in InvariantDeviceProfile which is
   initialized statically from LauncherAppState.
-> The DeviceProfile contains the Activity context-dependent bits,
   and we will create one of these for each Activity instance, and
   this instance is accessed through the Launcher activity.
-> It's possible that we can continue to refactor this such that
   all appropriate dimensions can be computed without an Activity
   context (by only specifying orientation). This would be an
   extension of this CL and allow us to know exactly how launcher
   will look in both orientations from any context.

Sets the stage for some improvements around b/19514688

Change-Id: Ia7daccf14d8ca2b9cb340b8780b684769e9f1892
2015-05-21 16:16:40 -07:00
Sunny Goyal 5c97f51fd9 Icons are not updated to TYPE_APPLICATION during restore
> Use low res only for app shortcuts
> Running icon migration after restore
> Running icon migration again for all users
> Deduping shortcuts added from widget tray

Bug: 20945600
Change-Id: I3bb47545fdd9832510069026fbae8966d2311cc1
2015-05-21 13:34:07 -07:00
Sunny Goyal 324d78358c Merge "Breaking icon update task so that it doesn't block worker thread" into ub-launcher3-burnaby 2015-05-21 20:31:37 +00:00
Hyunyoung Song edc9c05644 Merge "Load PackageItemInfo in background thread to prevent ANR" into ub-launcher3-burnaby 2015-05-21 20:25:16 +00:00
Hyunyoung Song 2bd3d7d1cb 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
2015-05-21 13:04:53 -07:00
Sunny Goyal a508e4f804 Do not trim folder title
Bug: 21297281
Change-Id: I633780f8207aabc8362f016e6b5a6e720cee1b86
2015-05-21 09:33:57 -07:00
Sunny Goyal 75b0f552ae Breaking icon update task so that it doesn't block worker thread
Bug: 20945600
Change-Id: Iaf516577898b51ad6e8a813d7f018ecad969c100
2015-05-21 09:18:27 -07:00
Sunny Goyal f3a21c8ca2 Merge "Moving LauncherAccessibilityDelegate to accessibility package" into ub-launcher3-burnaby 2015-05-20 04:15:34 +00:00
Hyunyoung Song 0b493c86c5 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
2015-05-19 13:39:44 -07:00
Sunny Goyal 83a8f042ad Moving LauncherAccessibilityDelegate to accessibility package
Change-Id: I510204a5a12abf2da2757f3e3f8b0e8869a6b04a
2015-05-19 12:52:30 -07:00
Sunny Goyal 2bba4c37c6 Removing some thread priority management logic
> Not saving folder id in onSaveInstance as it is not used.

Change-Id: I176beb77cafe27ec4b7500d65dc86287d2f2e0cb
2015-05-18 15:57:14 -07:00
Sunny Goyal f5cd998c25 Starting the loader if the previous loader is not complete, instead of binding page synchronously
Bug: 21107637
Change-Id: If04952c7d5c8a38a739ce5536ecac394011ab61a
2015-05-18 15:22:47 -07:00
Sunny Goyal a214a63bfe Preventing homscreen getting filled with secondary user apps, when launcher
starts for the first time

> Sorting the apps in the work folder by install time

Change-Id: Ia475b4ff3197d90e6dffe070c12c0aa16be9e292
2015-05-15 11:53:10 -07:00
Sunny Goyal 1936ec048c Removing empty folders in loader
Bug: 21050720
Change-Id: Id174bb1e18b070e32273d66649f0e286e3546f89
2015-05-12 11:03:24 -07:00
Winson Chung 82b016cb56 Trim all whitespace from titles and labels.
Bug: 20953160

Change-Id: I1610df5e445a4139522226f68fa6439926bc70c6
2015-05-08 22:22:39 -07:00
Hyunyoung Song 219d048711 Widgets should also be bound when binding all apps.
b/20915830

Change-Id: I772156f8a8d361f485fb4d7edc447c2cee2edf23
2015-05-07 12:51:42 -07:00
Sunny Goyal 8a8f03d10a Merge "Skipping package update tasks if loader has not yet run." into ub-launcher3-burnaby 2015-05-07 17:08:24 +00:00
Sunny Goyal c905efc89c Skipping package update tasks if loader has not yet run.
Bug: 20754508
Change-Id: Id2ddcff42cd41e4f9875ad6ef95f648365502b75
2015-05-06 16:59:02 -07:00
Sunny Goyal 77919b93b9 Updating the icon cache after all apps has been bound.
> Updating the cache DB version to reset existing cache.

Bug: 20834835
Change-Id: I298ca9ddcc4dd270b25b767447ecde01ef41a916
2015-05-06 16:54:08 -07:00
Sunny Goyal deb189fd10 Merge "Adding workprofile shortcuts after the loader has completed" into ub-launcher3-burnaby 2015-05-06 16:48:47 +00:00
Hyunyoung Song 9892e58740 Use valid context inside LauncherModel when calling loadAndBindXXX
b/20851075

Change-Id: Ie3feb387a142d4e11a0a18bbcc4fd4932cfe4439
2015-05-05 10:08:29 -07:00