Commit Graph

111 Commits

Author SHA1 Message Date
Sunny Goyal c52c0782a7 Merge "Adding support for determining split layout for launcher." into sc-dev 2021-05-04 22:33:38 +00:00
Sunny Goyal 19ff728b92 Adding support for determining split layout for launcher.
> Simulating the windo wmanager API to get available device
  profiles until final API
> When a device has multiple internal displays, and with both
  tablet and phone possibilities, it uses a split workspace layout

Bug: 186160341
Bug: 175782275
Test: Manual
Change-Id: Ieff2329acac7cdd6b9abe6f96cd459cd45bd0efe
2021-05-03 14:48:28 -07:00
Steven Ng 84298b3998 Add a flag to enable custom local filter for recommended widgets
Test: Run WidgetsPredictionUpdateTaskTest
Bug: 186648032
Change-Id: I2bd5e2c81f971e0a40a4b05c8cab2a7adb171f96
2021-04-28 18:47:33 +01:00
Tony Wickham 5df03e1585 Merge changes from topic "taskbar-hotseat" into sc-dev
* changes:
  Update taskbar to add extra hotseat items instead of recent apps
  Add support for having more hotseat icons in the DB than we show
2021-04-13 18:41:47 +00:00
Tony Wickham b87f3cdc1c Add support for having more hotseat icons in the DB than we show
Split InvariantDeviceProfile#numHotseatIcons into two variables:
numDatabaseHotseatIcons and numShownHotseatIcons. These are generally
the same, but different DisplayOptions within the same GridOption
can choose to show different numbers of hotseat icons while sharing
the same database.

numDatabaseHotseatIcons is used for all reading/writing/migrating
purposes, while numShownHotseatIcons determines how many Hotseat
icons to show in the UI.

Test: Existing tests pass, added two new migration tests
Bug: 184789479
Bug: 171917176

Change-Id: I54583504f61a47a4444b6a637ebb7e3ab31528b7
2021-04-12 16:08:15 -07:00
Pinyao Ting 199c469ed8 Merge "Fix BackupRestoreTest" into sc-dev 2021-04-09 20:13:15 +00:00
Pinyao Ting a39f45ba28 Fix BackupRestoreTest
Modified the test in comply with changes in Roboelectric framework.

Bug: 184793993
Test: wip
Change-Id: I31af8ea828d0070bb9161e553c5a5054e5d0b432
2021-04-07 19:40:02 -07:00
Sunny Goyal ce6cc7e705 Simplifying widget search pipeline
Bug: 183607616
Test: Verified on device
Change-Id: I3e5dd9e280f375475d1e1cf41dff6e6533175ebf
2021-03-30 16:54:34 -07:00
Alina Zaidi 2cff164be2 Clear focus from search bar whenever a header is clicked in search adapter.
Test: Manually checked
Bug: 183398749
Change-Id: Ie91312ae1e62c6427e3397d1e5f60bc812a790ee
2021-03-24 09:52:45 +00:00
Bob Badour 390b27e46c [LSC] Add LOCAL_LICENSE_KINDS to packages/apps/Launcher3
Added SPDX-license-identifier-Apache-2.0 to:
  quickstep/Android.bp
  robolectric_tests/Android.bp
  tests/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I699e0796410f691ae7cf4802c41987d79e4e486d
2021-03-19 04:22:23 -07:00
Alina Zaidi 378ca5e920 Merge "Bug fixes for widget picker search." into sc-dev 2021-03-18 10:32:18 +00:00
Steven Ng 99060b30ca Merge "Adjust font, color, margin, corners for all widgets tray" into sc-dev 2021-03-18 10:25:00 +00:00
Sunny Goyal f5c42ea6aa Adding some build rules in Launcher3
Bug: 182502086
Test: Presubmit
Change-Id: Ib2c18f1e252b3382030293fd3b873e840320301a
Merged-In: Ib2c18f1e252b3382030293fd3b873e840320301a
2021-03-18 01:26:36 +00:00
Steven Ng 08ef694509 Adjust font, color, margin, corners for all widgets tray
Test: manually
Bug: 179797520
Change-Id: Ib78aae05e021da272ef2f754c876d24a4c14bcb0
2021-03-17 22:43:12 +00:00
Alina Zaidi 2e732e95d9 Bug fixes for widget picker search.
SearchBarController
- Use Extended Edit Text to handle close keyboard action well.
- On press enter while search remove focus from bar and hide keyboard.
- On cancel button press hide keyboard and also reset search targets to empty so that on next search session the previous results dont flash (show for a short time before reflecting users query).

WidgetsFullSheet
- Make sure expanded header are reset when user leaves personal/work recycler views. Search recycler view resets its expanded header on every search already.
- Show 'no search results' view if no search result present.
- Update WidgetListBaseRowEntryComparator to show personal profile widgets first.

Test: Tested prototype locally.
Bug: b/157286785
Change-Id: Ibaa208c4091783e14ac0887caf559e867185df5a
2021-03-17 14:43:04 +00:00
Alina Zaidi d07acba048 Add a WidgetsSearchBar(Launcher3) and a WidgetsSearchController.
- Make WidgetsSearchBar in Launcher3 initialize WidgetsSearchController with SimpleWidgetsSearchPipeline
- Modify SimpleWidgetsSearchPipeline to filter widgets entries on widgets/shortcut labels also.

Test: Tested prototype locally. Also added robolectric test.
Bug: b/157286785
Change-Id: I65f5fa0240ffb6d22023167e4e86d94d83bbd9f7
2021-03-15 11:25:08 +00:00
Alina Zaidi 334e65935b Have a recycler view to show search results.
-Have a recycler view layout for search widgets list.
-Make WidgetsFullSheet implement interface- SearchModeListener to get notified when user is using search and also when search results are ready.
-Have a WidgetsListSearchHeaderViewHolderBinder for search result headers which shows subtext in header as concatenated string of widget/shortcut labels.
-Modify WidgetsListAdapter and WidgetsDiffReporter to work well with search recycler view.

Test: Tested prototype locally. Also added robolectric test.
Bug: b/157286785
Change-Id: Ie29d9f295fddb6d727b5fc26a360f514f2f4a763
2021-03-11 21:27:51 +00:00
Alina Zaidi c322510b2a Merge "Implement pipeline for a simple search based on query string matching on app names in WidgetsListBaseEntries." into sc-dev 2021-03-11 00:18:00 +00:00
Steven Ng 3c08f580c3 Merge "Widgets recommendation backend" into sc-dev 2021-03-09 10:05:55 +00:00
Steven Ng 3a8353256a Widgets recommendation backend
Add a widgets recommendation mechanism based on AiAI app predication
ranking with the following changes:

1. Only one widget is picked from one app.
2. Widgets that are already added to the workspace are excluded from
   the recommendation.

Test: run PredicationUpdateTaskTest

Bug: 179797520
Change-Id: Ia697bc6df0bae75969e68b7b3de32d57901f7461
2021-03-08 23:37:51 +00:00
TreeHugger Robot d333224f19 Merge "Convert Launcher Android.mk to Android.bp to setup RoboTests" into sc-dev 2021-03-08 08:12:53 +00:00
Hyunyoung Song 5a007fe0f6 Convert Launcher Android.mk to Android.bp to setup RoboTests
Bug: 181083996
Test: m Launcher3 && install Launcher3 and test basic things
Test: m RunLauncherRoboTests (90 tests run and 3 fails)

Change-Id: Icdc839d06413409cbd52d10a5ef9fe27b0a57baa
2021-03-07 22:42:42 -08:00
Alina Zaidi c6fe0dd4fa Implement pipeline for a simple search based on query string matching on app names in WidgetsListBaseEntries.
This will be the default search for AOSP widget picker and a fallback search for Pixel widget picker.

Test: Tested prototype locally. Also added robolectric test.
Bug: b/157286785
Change-Id: Iad3bf2f46b2a89383a52c756fd1b9f65ecbeb40b
2021-03-07 21:23:37 +00:00
Yogisha Dixit 741fae9ea2 Move widget files into widget folder + add tests.
I will use the newly created LauncherAppWidgetProviderInfoTest in a follow-up CL to add tests for the newly added widget sizing APIs.

Test: Automatic: Ran all robolectric tests in launcher3,
      Manual: Added a widget, edited the widget, removed the widget
Bug: 179807199
Change-Id: I540b2dbe284c6eb5aa2466a1d13a9581ee59425b
2021-03-01 13:59:52 +00:00
Bob Badour 8182d214e1 Merge "[LSC] Add LOCAL_LICENSE_KINDS to packages/apps/Launcher3" am: 541d0855ac am: 3be35ec269 am: 8824a5cd61
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/1587746

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia1a355fb2ed5bebd8cfff2f5da2eef14428bfe15
2021-02-24 23:53:29 +00:00
Bob Badour 3be35ec269 Merge "[LSC] Add LOCAL_LICENSE_KINDS to packages/apps/Launcher3" am: 541d0855ac
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/1587746

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icc96bfa8a3d59a19194a154baeaffaea1281af0a
2021-02-24 22:25:46 +00:00
Steven Ng e8d92342fa Replace horizontal ScrollViews with tables in the full widgets picker
Test: Run gnl test, AddWidgetTest
      Run Robolectric tests for widgets
      Manual test video: https://drive.google.com/file/d/1uwCtVNIlC9150kv5eEfILfP5r5M7ARYm/view?usp=sharing

Bug: 179797520
Change-Id: I2f4cdf84338a91b63967879d0c9268c312ace19b
2021-02-24 19:49:15 +00:00
Bob Badour 4bdf380625 [LSC] Add LOCAL_LICENSE_KINDS to packages/apps/Launcher3
Added SPDX-license-identifier-Apache-2.0 to:
  Android.bp
  Android.mk
  robolectric_tests/Android.mk
  tests/Android.mk

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work

Change-Id: Ia348bba8ca075e87070ff8a605ca79ffcbea9982
Merged-in: Ia348bba8ca075e87070ff8a605ca79ffcbea9982
2021-02-21 20:34:37 -08:00
Vinit Nayak a34af18b0e Update System settings content observer to cache values.
Existing ContentObserver will cache values and overwrite
them when the value itself is modified or caller force
updates.

Bug: 149571513
Test: Wrote unit tests, mostly for caching logic.
Not meant to test ContentObserver contract for registering an
observer.

Change-Id: I12835f6c2be27ce17f65a55c51c4ef85c63b4487
2021-02-16 20:58:53 -08:00
Hyunyoung Song c860448bca Merge "Fix WidgetsListContentEntryTest static initialization error" into sc-dev 2021-02-15 22:54:12 +00:00
Steven Ng d2526d6a9a Merge "Make all widgets collapsed in the full widget picker by default" into sc-dev 2021-02-15 22:18:24 +00:00
Steven Ng e92bc55d12 Make all widgets collapsed in the full widget picker by default
Changes:
1. Add a WidgetListHeader view for showing icon, app name and a subtitle.
2. Only WidgetListHeaders are always visible to users in the full widget
   picker.
3. Only one widgets list from an app is visible in the full widget picker
   at any one time.

Test: Auto: run add robolectric tests under widget/picker
      Manual: Open full widgets picker. Then, expand and collapse apps.
      Video: https://drive.google.com/file/d/1gzfeEm5IOAu0qHsO77OTS2eMfU7CHJiL/view?usp=sharing

Bug: 179797520
Change-Id: Idac58be23dfeafcb79b3c61b4972d3addb462de1
2021-02-15 17:46:38 +00:00
Hyunyoung Song 9dbb9fe868 Merge "Revert "Update Robolectric SDK to 30"" into sc-dev 2021-02-14 04:44:21 +00:00
Steven Ng 53d3427b4e Fix WidgetsListContentEntryTest static initialization error
Test: m RunLauncherRoboTests

Bug: 180158637
Change-Id: I26316dddd41b1519e8deb0e049355cdce71aac4f
2021-02-13 20:46:07 +00:00
Hyunyoung Song 5fb8aae805 Revert "Update Robolectric SDK to 30"
This reverts commit 5ed0907cd3.

Reason for revert: b/180139562

Change-Id: I9520993ee925935ab621239686377a39e2e25590
2021-02-13 07:34:54 +00:00
Steven Ng 2f5648a911 Refactoring before adding a new view type in the WidgetsListAdapter
Changes made:
1. Model: added an abstract class for storing common information for
   entries shown in the full page widgets picker.
2. Introduced a ViewHolderBinder interface to split the logic of binding
   data to ViewHolder into separate classes.
3. Move the view holder binding of WidgetsListRow from WidgetListAdapter
   to its new class.
4. Move some widgets picker classes into a new picker package.

Test: Auto: Run WidgetsListAdapterTest, WidgetsListRowEntryTest and
      WidgetsListRowViewHolderBinderTest.
      Manual: open the all apps widgets tray and navigate the list.

Bug: 179797520
Change-Id: Iab29557842bb79156cad84d00a4c5d0db0c5aa06
2021-02-10 21:23:40 +00:00
Steven Ng 5ed0907cd3 Update Robolectric SDK to 30
Test: Run robolectric tests, such as WidgetsListAdapterTest, from
      Android Studio. (Need manually update JDK to v9.0)

Bug: 179690223
Change-Id: I7c0c696971bd950e83705f5006c70cb260d5b121
2021-02-08 19:07:36 +00:00
Sunny Goyal 6638b56667 Merge "Preventing crash when a gesture starts after home activity change but before the update has been received by Launcher" 2021-01-19 18:04:20 +00:00
Sunny Goyal 53e3b14029 Preventing crash when a gesture starts after home activity change but
before the update has been received by Launcher

Bug: 175645691
Test: Verified using a test launcher
Change-Id: I3f726894bdc941878bb8f8eba7c4701e1218c0dd
2021-01-13 16:21:02 -08:00
Schneider Victor-tulias 6a5f431a7b Revert "Revert "Add UI updates for incremental app installs.""
This reverts commit 229497d182.

Reason for revert: Patching bugs

Fixes: 176901235, 176992421, 176884453

Test: manual

Change-Id: I57e13a15e72284564a10761966732ee31d15fd08
2021-01-12 12:22:33 -08:00
Schneider Victor-tulias 229497d182 Revert "Add UI updates for incremental app installs."
This reverts commit 84269d349d.

Reason for revert: causes b/176884453 and b/176992421

Change-Id: I3398674a0acbad8329df5d341ae074ac073a6bf9
2021-01-07 19:44:44 +00:00
Schneider Victor-tulias 84269d349d Add UI updates for incremental app installs.
1. Changed Preload Icon UI to be grayscale while the app is not startable.
2. Added progress bar for when app is installed but still ownloading.
3. Updated Preload Icon progress and click handling to use new incremental api.

Progress bar color updates will follow in a separate CL.

Demo: https://drive.google.com/file/d/1H1EvtTorLeJwC1eiq10tm-TT81YZ6osk/view?usp=sharing

Bug: 171008815

Test: manual

Change-Id: I5874a5146d79a8c91d7d90ff0b9c1c427a3c95dd
2021-01-05 15:17:26 -05:00
Sunny Goyal 3751be0f1c Removing obsolete shadows
Change-Id: I9dcaa69e4e86130642be15e3585f5898dd866839
2020-11-18 21:45:14 +00:00
Sunny Goyal 986ea0da60 Fixing Robolectic model tests
Some tests were broken because of refactoring in LauncherModel.

Change-Id: I55aa32d75a4d16338796a1b1765717fd72ba4b33
2020-11-12 01:01:55 +00:00
Xin Li 2ef7e39983 Merge ab/6749736 in stage.
Bug: 167233921
Merged-In: Id9c756552c08d7690b99987dafadc13448a0c236
Change-Id: I93903c258f834a9e9537b88882d77a6660482638
2020-10-08 23:46:34 -07:00
Hyunyoung Song 95786e077d Good riddance UserEventDispatcher
Bug: 165675920
Bug: 161381246

TL;DR;;
- nano -> lite proto
- add all the missing logs to WW
- pin item related logging fix
- Removed logging for assistant

sgrep "com.android.launcher3.userevent.nano." | cut -f1 -d: | xargs sed -i -e 's/userevent\.nano\./userevent\./g'

Change-Id: Ie2a49fdd891cacbd7ef40a1dc9e41ff0574c7517
2020-09-27 13:41:49 -07:00
Xin Li 05bfabfc02 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I88f54d5cf388aeacbf1da48e3e5f1e89f37ba836
Change-Id: I2e4012ae6bf1cf4e5e5cb76790cd2451e313febc
2020-08-28 13:11:13 -07:00
Sunny Goyal 762d06136c Caching last predictions and loading it with model
Adding support for persisting itemInfos on disk. This uses
a separate xml file. Unlike prefs, it does not keep the items
in memory and is just a wraper over reading/writing a file.

Bug: 160748731
Change-Id: Iaccab9928ab8f30127fb3c2d630ca8ca83f0bd05
2020-08-11 13:23:29 -07:00
Raman Tenneti d0a660cf22 AOSP/Launcher3 - Update language to comply with Android's inclusive language guidance. DO NOT MERGE
Fixed check-style errors.

These files are AOSP specific files and they don't exist in the internal code.

See https://source.android.com/setup/contribute/respectful-code for reference

BUG=161896447

Test: m and Launcher3Tests
$ find out -name "Launcher*.apk" -print -exec ls -l {} \;
  out/target/product/bonito/testcases/Launcher3Tests/arm64/Launcher3Tests.apk
  -rw-r----- 1 rtenneti primarygroup 947525 Aug  4 16:22 out/target/product/bonito/testcases/Launcher3Tests/arm64/Launcher3Tests.apk

  out/target/product/bonito/system_ext/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk
  -rw-r----- 1 rtenneti primarygroup 9249956 Aug  4 16:20 out/target/product/bonito/system_ext/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk

Change-Id: I428eaa50ada96567a3b583eca1aa8ee2d8b85e6b
2020-08-05 17:17:35 +00:00
Raman Tenneti ab98166c36 AOSP/Launcher3 - Update language to comply with Android's inclusive language guidance.
See https://source.android.com/setup/contribute/respectful-code for reference

BUG=161896447

Test: make and Presubmit verify.

Change-Id: I44e903046dd4cd9c7c07872fc56a8d552eb09522
2020-08-04 00:35:03 +00:00