Commit Graph

44 Commits

Author SHA1 Message Date
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
Samuel Fufa
ee9aff9b5b [Search][Motion] Normal<->AllApps transition revamp
Preview video attached to BR

Key changes:

- SearchUiManager#getScrollRangeDelta is removed. AllApps initial vertical offset is now controlled by deviceProfile.allAppsOpenVerticalTranslate.
- ShelfScrimView is renamed to AllAppsScrimView. Scrim no longer does vertical translate with AllApps open.  Shelf/overview related code removed.
- Scrim and AllApps content transition are animated with different interpolators. Scrim color is a blend of accentColor and allAppsScrim with proportion determined by progress*TINT_DECAY_MULTIPLIER

Bug: 183001675
Test: Manual
Change-Id: Id6bde7ee65c55c83c2973fe41f458b9364d39ecd
2021-04-05 13:32:51 -05:00
Sunny Goyal
04e9f39f19 Simplifying all-apps seach pipeline
Bug: 183607616
Test: Verified on device
Change-Id: Id7ded3c244b747a577cdfcf298db6dddf19fa4eb
2021-03-30 10:07:32 -07:00
Sunny Goyal
c373e1c642 Adding an optional QSB in hotseat
Removing sections in all-apps during transition and treating
it as a single unit

Bug: 175137718
Test: Manual
Change-Id: I55a501d80b5903f1a9d92a26b3784784fd9e50fd
2021-03-17 12:21:44 -07:00
Sunny Goyal
b5181c8c39 Revert "Revert "Removing insets controller animation as part of ..."
Revert "Revert "Moving insets animation to StateHandler so that ..."

Revert submission 13823490-revert-13810332-insetcontroller-CLXXLCZAUM

Reason for revert: Fixed original error in ag/13823726
Reverted Changes:
Ie19a3fd90:Revert "Moving insets animation to StateHandler so...
I4eb33772a:Revert "Removing insets controller animation as pa...

Change-Id: I7fb395c51ea99081913bc99515257e98c0a32754
2021-03-10 07:39:12 +00:00
Pasty Chang
13358f65ab Revert "Removing insets controller animation as part of all-apps..."
Revert "Moving insets animation to StateHandler so that it can b..."

Revert submission 13810332-insetcontroller

Reason for revert: QsbLayout#getEditText() return object is changed, but extended class HotseatQsbWidget wasn't updated.

https://android-build.googleplex.com/builds/submitted/7197042/aosp_crosshatch-userdebug/latest/view/logs/build_error.log

Reverted Changes:
If6a088d14:Removing insets controller animation as part of al...
I296415604:Moving insets animation to StateHandler so that it...

Change-Id: I4eb33772acd887d6e1d92a9ecde41cf1e0687896
2021-03-10 06:58:51 +00:00
Sunny Goyal
0724113b3d Removing insets controller animation as part of all-apps opening
Adding support for easier extension of StateHandlers

Bug: 180143210
Test: Verified on device
Change-Id: If6a088d1482c9b268b21786c4694f6e0927be0c3
2021-03-08 18:38:25 -08:00
Alina Zaidi
331140f665 Refactor SearchAlgorithm and SearchCallback interface to work on generic search result type.
Test: Manually tested that 'All apps' search works fine
Bug: b/157286785
Change-Id: Id4b7fb133149e9211f871b46b47d5853ec0e0050
2021-02-25 12:05:41 +00:00
Jon Miranda
228877d37c Add border spacing and fixed cell height to grid.
- Border spacing is the spacing between the cells.
- Workspace cell height is now fixed, and we allocate
  all the "extra" space to three different variable height
  areas.

* Built behind ENABLE_FOUR_COLUMNS flag because it hinders the
default grid.

Bug: 175329686
Test: - set border spacing to 0 and confirm matches prior layout
      - test drag and drop still worked
      - test reordering
      - test widgets
      - test folders
      - test multiwindow

Change-Id: Ic6f3dff577d28ff214bda4b0a787ec7fd08c108b
2021-02-10 17:22:37 -05:00
Samuel Fufa
6e0b00d15c Remove Second consumer from AllAppsSearchBarController
Bug: 175125073
Test: Manual
Change-Id: I34abf0b999e58e034705a1c0696e8fcd88020b28
2020-12-27 16:13:06 -06:00
Samuel Fufa
2ea01e4871 Separate QSB from on device search
Bug: 175125073
[Preview attached to BR]

Change-Id: If967d95e32b58263ede5eb8a3c1b773cef789f28
2020-12-09 12:46:30 -06:00
Hyunyoung Song
caa1e9c399 Search query method should support multiple consumers
Bug: 170488559
Change-Id: I64bef9523d3c3950c4ca3a4b9ce1d506d1672200
2020-10-19 22:09:10 -07:00
Hyunyoung Song
d9d340c879 Introduce transparency in all apps for OnDeviceSearch
Bug: 165999272

Change-Id: Ic4adf11d030328db47a5b0d1cd915b40902c12de
2020-08-24 20:32:02 -07:00
Samuel Fufa
114de69c98 Introduce support for play results in launcher
Introduces PluginSearchPipeline class, a plugin listener for AllAppsSearchPlugin. Coverts from List<Bundle> results from callback to AdapterItems to be rendered in SearchController.
- Moves AdapterItem to AllAppsGridAdapter

Bug: 164699827
Test: Manual
Change-Id: I20ec147e6b3f4707cf69d62b4b4ac70a90196345
2020-08-18 11:34:09 -07:00
Hyunyoung Song
8cac927bdb Hookup existing AllAppsSearchPlugin interface to SearchBarController
Bug: 161801331

Change-Id: Ied575f78ad2139c6818ae5a13467b7399b9ab17a
2020-08-14 03:54:04 -07:00
Samuel Fufa
eb268055e1 Merge "Migrate AllAppsSearch [part 1/3]" into ub-launcher3-master 2020-07-29 16:47:41 +00:00
Samuel Fufa
df10ff46bd Migrate AllAppsSearch [part 1/3]
[Video attached to bug report]

Setup DeviceSearchAlgorithm to handle on device search

Bug: 161801950
Test: Manual
Change-Id: Ib55f415f9992ceab687bbbfe904d153157541648
2020-07-28 14:48:33 -07:00
Hyunyoung Song
26bca08089 Handle requestFocus for ENABLE_DEVICE_SEARCH
Bug: 161594550

Change-Id: Ic99c04f1235e48e90b64df86e3739f8e14bc648f
2020-07-28 01:37:57 -07:00
Sunny Goyal
f665787d0d Only animating QSB if it is visible when going home
Bug: 154863593
Change-Id: Icee925578985639e1117ff624a422082123bea1e
2020-06-03 13:11:57 -07:00
Hyunyoung Song
3f82135f06 Add AllAppsSearchPlugin
Bug: 151089843

Change-Id: I6d61fb9c7855bafee731f47147b3070a1b672071
2020-04-16 11:50:04 -07:00
Sunny Goyal
b681ebe3d2 Fixing Search box placement in Launcher3
Bug: 152372445
Change-Id: Ifabcc73f33f18de48b737d3e325b14fba75d0d96
2020-03-30 15:25:29 -07:00
Sunny Goyal
9c2b96090b Adding SecondaryDisplayLauncher in Launcher using common listener
Bug: 141596722
Change-Id: I480bfadf592f7d0309f17c33a3fe14bb77fb5586
2020-01-30 08:27:27 +00:00
Sunny Goyal
5b636ebfd4 Optimizing some layouts in taskview
> Recycling DigitalWellBeingToast so that the view is not inflated everytime
> Simplifying DigitalWellBeingToast to use a single text view
> Adding support for footers in taskView without creating additional layout

Bug: 122345781
Change-Id: Ia889819b93eb8644532ea95c6767554874d5e2d1
2019-06-13 10:39:46 -07:00
Sunny Goyal
33611be973 Removing Launcher dependency in search box layout
Bug: 118758696
Change-Id: Id918c44b8bd2a97ab577481b7584afbe56e8a591
2018-11-20 13:53:33 -08:00
Sunny Goyal
876e462ffa Removing separate hotseat widget, instead using a QSB acroll all UI.
The QSB is responsible for updating its UI according to various states.

Bug: 109828640
Change-Id: Ic8cbf3d404d5870de0f6b8fe25a332b8d21bae20
2018-11-05 13:36:41 -08:00
Hyunyoung Song
48cb7bc7a4 Move IconNormalizer/ShadowGenerator/LauncherIcons to icons package
Bug: 115891474

Sending out the package name changing CL first before I make
LauncherIconsHandler and tests around it.

Change-Id: Ic10479a06333e1435b392a7072cd08782e710cbd
2018-09-26 11:57:37 -07:00
Sunny Goyal
df296898da Fixing Search box not getting aligned properly based on insets
Bug: 77893699
Change-Id: If195395af7858c3115d695a308810480474541a5
2018-04-30 12:35:40 -07:00
Sunny Goyal
8c1a935a45 Don't wait until layout to calculate the scroll range
State UI is based on scroll range, which is applied on insets change.
So the scroll range should be updated as part of insets change, for the State
UI to be applied properly

Bug: 77220795
Change-Id: I839f89e4887d9731b1483135724227c4245a00a9
2018-03-28 14:20:04 -07:00
Sunny Goyal
dbd6bb348c Simplifying all-apps search box
> Giving the search box a solid background so that it work fine with scrolling
> bottom shadow logic for search box

Bug: 73085356
Change-Id: Ie4dc4922be39ffd8e2d562becedbd4c6f820e6c9
2018-03-01 15:58:11 -08:00
Sunny Goyal
7e2e67fd47 Adding isSeascape method to have a common place to orientation check
Change-Id: Ia61792b29ab0d1d74f76a8dfa53bbf968874dfaa
2018-01-26 13:47:32 -08:00
Sunny Goyal
426345bfc4 Adding AppsStore for handling various app updates
Change-Id: Ia2242ce583576ace0924ef7142793ba37f4adcb9
2018-01-25 15:19:29 -08:00
Sunny Goyal
01ce755753 Removing unused app discovery support
Change-Id: I670be29851b232caa5c05624ae37ae5e92a8b65f
2018-01-23 13:53:03 -08:00
Tony Mak
7ccbefcc56 Fix work tab is gone when leaving search mode
1. onSearchResultsChanged is not called if the query is empty.
   Introduce onClearSearchResult and restore the tab there
2. rebindAdapters should only perform the actual logic
   if showTabs != mShowTabs, except the first time when we init the
   layout in onFinishInflate.

Fix: 71737947
Change-Id: I5485d6be0fc33b73aa6e0709be66cef8d43b4dbd
2018-01-11 15:55:24 +00:00
Mario Bertschler
ac9408a5cd Enable work profile tab in all apps.
This CL will bring two tabs to all apps: Personal and Work,
currently only if the user has a workfile set up and
behind a feature flag defaulting to disabled.

Bug: 68713881

Change-Id: Ib5a558281ef3593359db3ad593ee1d0cf279f547
2017-11-14 10:28:54 -08:00
Jon Miranda
c90a89d997 Add spring to QSB when opening all apps.
Bug: 64355491
Change-Id: I760856a32779b314c8b01ef2c051985e18b68ecb
2017-08-23 14:04:31 -07:00
Hyunyoung Song
d725f644b7 Remove LAUNCHER3_ALL_APPS_PULL_UP
Bug: 63712253
Verified: all apps transition fully functional
Verified: NO_ALL_APPS_ICON = false case also works.

Change-Id: I779fb7bd4927c5923da3f85590d912dbbbcdef4d
2017-08-21 11:59:14 -07:00
Sunny Goyal
0bf251b643 Accounting for bottom margin in the search box in app-scroll range
Bug: 2539098
Change-Id: I9d7cdb05d33af397a4adcfc2f1f6c1d380b9fb0e
2017-07-17 12:55:06 -07:00
Sunny Goyal
89d5c5a31b Updating fast scrollbar UI in Landscape
Creating a separate view for FastScrollBar and moving all the relavant logic in
the view.
For protrait, the touch handling is delegated by the recycler view just like before.
For landscape, the dcrollbar does not overlay with recyclerView and handles the touch
itself

Bug: 37015359
Change-Id: Ie1981326457ba739bdf0ac8063db1065f395f133
2017-06-26 14:56:36 -07:00
Rajeev Kumar
151c0550dc Get rid of an unused import from AppsSearchContainerLayout class.
Change-Id: Ia6d321ee3405dd82542a102489c1dba94f470bb0
2017-06-23 15:14:45 -07:00
Sunny Goyal
5606e07059 Removing long press support from page-indicator
Bug: 62445549
Bug: 38163974
Change-Id: Ic0ae44ded7e4755c5401f327ce0d98a9ea96b2ab
2017-06-15 14:25:12 -07:00
Sunny Goyal
f6eb789016 Extracting search algorithm in an interface to make it easier to change the search behavior
Change-Id: I0b1d1387c78d13ef749aac39d5c8167c2909716a
2017-06-14 11:18:13 -07:00
Sunny Goyal
0dc1db4fee Aligning the search box with bottom of hotseat icons
Bug: 37616877
Change-Id: I153e754db8e6c96b47ab644e19ce110f56bf852e
2017-05-17 11:36:31 -07:00
Sunny Goyal
dc19a07aba Adding support for top padding in BaseRecyclerView. The scrollbar is
drawn below the top padding.
Also adding callback for getting the all-apps vertical pull range
so that it can be controlled by SearchUiManager

Bug: 37616877
Change-Id: Ib4642073f3e92f6676caede3bddd652fda89c86f
2017-05-15 14:14: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