Commit Graph

107 Commits

Author SHA1 Message Date
Sunny Goyal 01088543c9 Fixing GridMigrationTask tests
Bug: 62907570
Change-Id: Id165e70930025ccf13a1a105acbdc0fb59ee7e32
2017-06-22 15:26:05 -07:00
Tony 887bd1fe1a Show more shortcuts when last notification is dimissed
We currently only show 2 shortcuts when notifications are
present, but support up to 4 otherwise. With this change,
the hidden shortcuts are added back after dismissing the
notifications, instead of only after closing and reopening
the container.

To ensure the transition is as elegant as possible, we also
separated the shortcuts header from the rest of the shortcuts.
That way we can reveal the new shortcuts without removing the
header (the shortcuts come out from behind the header).

Bug: 38036250
Change-Id: Ie9ab35f9be57cec1d5345e9e70e84e09ea52c9fc
2017-06-15 16:21:34 -07:00
Sunny Goyal e86f11fa38 Adding support for loading workspace in the absence of Launcher.
> 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
2017-06-08 09:39:34 -07:00
Sunny Goyal a474a9bcf5 Simplifying logic for managed for icon addition
> 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
2017-05-22 13:31:04 -07:00
Sunny Goyal 05f30889d6 Adding support for DB downgrade
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
2017-05-09 12:59:04 -07:00
Sunny Goyal 161f96bc77 Moving apps search related logic into a custom layout file
This will allow derivative projects to easily change the search behavior
by simply overriding the xml file

Bug: 37616877
Change-Id: Ib8d6a2dab06819a52611e9a3d97c70c5a49bbf97
2017-05-08 14:43:32 -07:00
Tony ca4e6b4b59 resolve merge conflicts of 26b174659 to ub-launcher3-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ifb24f291b096b979044e5c87ec58c24e9c479728
2017-03-30 18:10:05 -07:00
Tony Wickham 26b1746593 Add support for system shortcuts in popup container
- 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
2017-03-30 16:35:56 -07:00
Tony Wickham c455293fa3 Merge "De-dupe shortcuts with the same id as the main notification." into ub-launcher3-dorval
am: c3dfed43eb

Change-Id: I60bbede53d61f117596e90eb3363a4cb5eac7245
2017-03-27 17:56:55 +00:00
Tony Wickham 2f5bb16915 De-dupe shortcuts with the same id as the main notification.
- Pass NotificationKeyData, which includes the shortcut id, instead of
  just the notification key from NotificationListener
- Remove the shortcut with the same shortcut id as the first
  notification, if it has one, in PopupPopulator#sortAndFilterShorcuts()
- Add some unit tests

Bug: 36571718
Change-Id: I308941b34c525b34686583476e3f82ccb8b7e2d8
2017-03-24 14:18:53 -07:00
Sunny Goyal afc3f09240 Adding support for showing the widget preview based on the provided RemoteViews
am: c65a0085d7

Change-Id: Iabea96bb74294e2775a08427c17e154020d9bc40
2017-03-17 18:41:31 +00:00
Sunny Goyal c65a0085d7 Adding support for showing the widget preview based on the provided RemoteViews
Bug: 35811129
Change-Id: I336e48cd00cfec2e617ac73bd8a81419b0944aa7
2017-03-17 11:25:29 -07:00
Mario Bertschler 817afa3447 Show promise app icon in All Apps while installation process.
This CL only modifies the model and is behind a feature flag
which per default is set to false.
The app icon will appear as a promise icon, it reacts on icon
or label changes and the icon will be remove on finishing the
installation process. With this CL the progress of the installation
process is not visible.

Bug: 23952570

Change-Id: I510825d0b0b1b01eb14f7e50f0a2358b0d8b99b5
2017-03-17 09:21:35 -07:00
Sunny Goyal 88c07e5b81 Updating test as per API changes
Change-Id: I746bf48254ebfcad18426d47c61a54f8a11f5cf8
2017-03-07 23:36:06 +00:00
Sunny Goyal f410ca77c7 Updating test as per API changes
Change-Id: I746bf48254ebfcad18426d47c61a54f8a11f5cf8
2017-03-07 15:27:13 -08:00
TreeHugger Robot 93ce56fdb2 Merge "Separating the config and flags in different directories so that it is easier to override one or the other" into ub-launcher3-master 2017-03-07 22:42:14 +00:00
Sunny Goyal b265ba7449 Removing DeferredHandler and using a simple Handler to post callbacks
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
2017-03-07 13:44:52 -08:00
Sunny Goyal 3d706ad703 Separating the config and flags in different directories so that
it is easier to override one or the other

Bug: 36001650
Change-Id: I713f4f5dbcf902614ce9f6c7a73bdace7bdf1ea0
2017-03-07 09:30:51 -08:00
TreeHugger Robot f55ad3d411 Merge "Adding some tests for request pin shortcut/widget flow" into ub-launcher3-dorval 2017-02-22 23:53:26 +00:00
Sunny Goyal d9843357d0 Adding some tests for request pin shortcut/widget flow
Bug: 33584624
Change-Id: I49df36f60d2ae071b9d2c77c9c3300e010cd3bb9
2017-02-22 15:46:40 -08:00
Sunny Goyal dd96a5e4fd Simplifying Model data load state management
Instead of maintaining 3 different states, each tied to a subset of data,
maintaing a single state that represents all the data. Individual subset
data is invalidated in rare cases and these invalidates are tightly tied
to the UI. This also allows us to add new data to the model, without worring
about classifying the data into a subset.

Bug: 34112546
Change-Id: Id9cb273de35b79e84a2ef8d6556fcf1e72fb4b75
2017-02-22 15:45:14 -08:00
TreeHugger Robot 93bc3c1e41 Merge "Separating methods for updating the model to a sepatate class." into ub-launcher3-master 2017-02-16 21:56:39 +00:00
Sunny Goyal 43bf11d9c9 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
2017-02-16 13:50:14 -08:00
Sunny Goyal c9a489c75c Adding minSDK for test targets
Bug: 35079440
Change-Id: Ie27eebe7afaed6a80efc43cb41f651e8acabc835
2017-02-15 10:39:35 -08:00
Tony Wickham f3d02e4716 Merge "Refactor DeepShortcutsContainer to PopupContainerWithArrow" into ub-launcher3-master 2017-01-25 22:23:53 +00:00
Tony Wickham 540913eadf Refactor DeepShortcutsContainer to PopupContainerWithArrow
- Also added PopupItemView, which takes animation logic from
  DeepShortcutView, and which DeepShortcutView now extends.
- Renamed ShortcutFilter to PopupPopulator, which has support
  for new item types (not yet used). Also moved populating
  logic (e.g. UpdateShortcutChild Runnable) to PopupPopulator.

Bug: 32410600
Change-Id: Ib6e444ac7ca99c80ba438801c26e62d9542e0ad9
2017-01-25 11:21:47 -08:00
Sunny Goyal 81e4491450 Fixing loadWorkspace
> Adding checks on legacy shortcuts
> Checking restore status based on package and not componentName

Bug: 34123342
Change-Id: I442699e4ebb34ae66aa25c512bfcdc1b4fd5ae2a
2017-01-24 22:55:36 -08:00
Sunny Goyal 658058b960 Adding some widget addition flow tests
> Added two dummy widget providers: with config and without config
> Added tests for verify widget config flow

Change-Id: I4577f085abe8f8b82047b644c71cc9065358153a
2017-01-23 15:28:25 -08:00
Sunny Goyal c1ad0ce8ae Only marking items not already restored as restore
> Moving the restore property to LoaderCursor

Bug: 34123089
Change-Id: I1f992ef086d65e0b3cf18d3b2cf37a4f254c97d2
2017-01-13 10:38:41 -08:00
Sunny Goyal 3e9be43b6e No more LauncherActivityInfoCompat
Bug: 32745285
Change-Id: I00f13794d5dc0a2b1fe03ec74de36018f22eb386
2017-01-11 13:06:50 -08:00
Sunny Goyal 87f784c285 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
2017-01-11 12:52:03 -08:00
Sunny Goyal 1cc1c9ad83 Enforcing background thread when accessing iconCacheDb.
> Moving any icon cache access to background thread
> Updating Apps list to avoid loading icons for ignored apps

Bug: 21325319
Change-Id: Id72755100f1176ccfcc99249c5e02873cc249a13
2017-01-10 23:42:49 -08:00
Sunny Goyal aaf86fe9a0 Refactoring some loadWorkspace logic in a separate class
Bug: 34112546
Change-Id: I8a43ed1646056aa1957ac3d6ea82018691df6386
2017-01-10 13:53:50 -08:00
Hyunyoung Song b0d77fe35f Revert "Build empty test apk until junit dependency issue is sorted out."
This reverts commit 4c82c33a64.

Change-Id: I39c142e2b0e882245a6928264465578e4ddc12c9
2017-01-05 10:55:42 -08:00
Sunny Goyal a52ecb0390 Removing all compatibility code below Lollipop
Bug: 32745285
Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
2016-12-16 15:05:09 -08:00
Sunny Goyal 7c74e4ae64 No more UserHandleCompat
Bug: 32745285
Change-Id: I762fb4e268c1afe48a1860ab12a4ccb3f626aa95
2016-12-15 22:06:10 -08:00
Sunny Goyal 1cd01b023a 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
2016-12-13 10:31:12 -08:00
Hyunyoung Song 4c82c33a64 Build empty test apk until junit dependency issue is sorted out.
Change-Id: Ib63a654139e43c433011d0f7b761905426aff24d
2016-12-08 14:58:44 -08:00
Sunny Goyal b7f5431232 Merge "Moving ShortcutInfo creation in InstallShortcutReceiver to background thread" into ub-launcher3-master 2016-11-30 16:42:31 +00:00
Sunny Goyal 2bcbe13c64 Moving ShortcutInfo creation in InstallShortcutReceiver to background thread
> Creating shortcut info requires iconCache access

Bug: 21325319
Change-Id: I3317d8b6824aa05b836f3ed3626f169d4d34f783
2016-11-30 05:47:57 +05:30
Sunny Goyal 0993a37838 Merge "Adding a utility class to enforce that icons are always flattened on the background thread." into ub-launcher3-master 2016-11-21 17:02:10 +00:00
Sunny Goyal 32f3dda802 Adding a utility class to enforce that icons are always flattened on
the background thread.

Bug: 21325319
Change-Id: I4d0f02557cdbf70cfa86750ac047faf2917e39bf
2016-11-19 23:40:07 +05:30
Tony Wickham f38d8593bd Add ShortcutsLaunchTest and ShortcutsToHomeTest.
- ShortcutsLaunchTest verifies that launching shortcut
  from the deep shortcuts container works.
- ShortcutsToHomeTest verifies that shortcuts can be
  dragged from the deep shortcuts container.

Change-Id: I6919b69d4ea1c9e0f13a8f236266745c12ef0715
2016-11-14 15:29:10 -08:00
Tony Wickham 05b20b0712 Fix drag and drop test by moving a bit if there are shortcuts.
Change-Id: Icd023f5d095610b6d1aadbf455d068ce7d700768
2016-11-14 14:14:19 -08:00
Sunny Goyal f0ba8b7ca1 Moving various runnables in LauncherModel to individual tasks
> Adding tests for some of the runnable

Change-Id: I1a315d38878857df3371f0e69d622a41fc3b081a
2016-11-09 15:50:08 -08:00
Sunny Goyal fcb0928256 Fixing text search where a word starting with lower case was not being matched
am: 28a64381b6

Change-Id: Ib5158d42219478c97d6bec5049e3354ee1087094
2016-10-20 09:29:57 +00:00
Sunny Goyal 28a64381b6 Fixing text search where a word starting with lower case was
not being matched

Bug: 32249413
Change-Id: I0f5e24052759a734fe0df3bd3d0bf2e7ef7f2713
2016-10-19 07:54:22 +01:00
Sunny Goyal 66b24572e4 Exposing custom actions using keyboard shortcut
Keyboard shortcuts:
  ctrl+A => Open all apps
  ctrl+S => shows deep shortcuts
  ctrl+O => shows custom actions popup

This also removes the direct delete/uninstall key shortcuts, making
actidental icon removal less likely

Bug: 24065447
Change-Id: Iae63370c0f33620628567cffd4df024064d4d02e
2016-09-23 15:57:08 -07:00
Sunny Goyal cc555bbc9e Adding support for searching word segments when camelcase is used in the title
am: e4a3e0cfaf

Change-Id: I98380419701f598ac87bf81d3c173bf26b5281e6
2016-09-12 18:19:06 +00:00
Sunny Goyal e4a3e0cfaf Adding support for searching word segments when camelcase is used in the title
Bug: 30880421
Change-Id: If642d24408fe0e80b5a0dd9a2a57d2f3c2d92ea9
2016-09-09 18:11:35 -07:00