Commit Graph

56 Commits

Author SHA1 Message Date
Sunny Goyal
f34811d3a3 Revert "Revert "Updating the scroll calculation from recyclerView to avoid view inflation""
Test: ABTD
https://android-build.googleplex.com/builds/abtd/run/L52600000956969786

This reverts commit cee6ddf3de.

Reason for revert: Fixed in ag/20239136

Change-Id: I0e8446e66d9a86a94b40fcbd6de14da07abe8e5c
2022-10-22 15:37:47 +00:00
Hui Kang
2a28ae8a3f Merge "Revert "Updating the scroll calculation from recyclerView to avoid view inflation"" into tm-qpr-dev 2022-10-17 21:20:09 +00:00
Hui Kang
cee6ddf3de Revert "Updating the scroll calculation from recyclerView to avoid view inflation"
This reverts commit 20bbe95ddb.

Reason for revert: Causing flake in Ironwood test: b/248295569

Test: ABTD
Before: Flaky, 14/50 PASSED
https://android-build.googleplex.com/builds/abtd/run/L33900000956890639

Revert: 50/50 PASSED
https://android-build.googleplex.com/builds/abtd/run/L49200000956887317

Change-Id: I41f4428c74e581323f90c716a7852b5e553ae27d
2022-10-17 20:37:49 +00:00
Andy Wickham
14101659f7 Reduces search clipping when work profile is not present.
Basically, adds the spacing that is otherwise included by
the tab protection (which is about 4dp less than the spacing
that was previously being added).

Adds a compile-time flag to render the header at all times to
help visualize issues like this in the future. Check the
screenshots below to see some examples of this.

Screenshots: https://drive.google.com/drive/folders/1n4wwtjMwOR-eDIE1xAoG3oLXO7txpoT_?resourcekey=0-WP0RNbp7vFh2Yw1wUBZTaA&usp=sharing

Bug: 240672593
Bug: 243728487
Test: Manually checked search transition, scrolling behavior, and
highlight of the search results with and without a work profile.

Change-Id: I166d136e568c5621c81378fa09021666d95f0ffc
2022-09-23 19:36:44 -07:00
Andy Wickham
a297508c15 Merge "Reduces vertical padding of predicted apps in All Apps." into tm-qpr-dev 2022-09-21 17:25:39 +00:00
Andy Wickham
369c6e8be7 Reduces vertical padding of predicted apps in All Apps.
Rather than using the full allAppsCellHeight, manually construct
the icon + padding + text and add custom padding (8dp).

Screenshots: https://drive.google.com/drive/folders/1hgEE72PaTj60SxgfPUzQ8hGwnCOWx-Lp?resourcekey=0-TgrHKITyzIXmNAAMYpA_MA&usp=sharing

Fix: 242915342
Test: Manual inspection
Change-Id: Ic566e0f7ea7cf486054bb8fe2429ee5c53e8b174
2022-09-12 18:34:14 -07:00
Sunny Goyal
20bbe95ddb Updating the scroll calculation from recyclerView to avoid view inflation
> Updating the LayoutManager's scroll calculation instead of a separate
  implementation to better support recyclerView's calculations
> Caching the view sizes during layout to avoid view-inflation for
  unknown types
> Fixing scrollbar jump during scroll when widget list is expanded
> Fixing scrollbar never reaching end when onboarding card is displayed
  in work tab

Bug: 240343082
Test: Verified on device that new views are not inflated
Change-Id: Ied11ccf65b053691c5c126c4bf8de306ec24786d
2022-09-12 12:24:34 -07:00
Andy Wickham
94d5d3cb6c Support for animating A-Z <-> Search.
Demo videos (1/5 speed) and APK: https://drive.google.com/drive/folders/1qQNzcoibiFMzxYhvXc7UEHCaBhJg6SjN?resourcekey=0-OWD06iLXg3wf_eWce4rUPA&usp=sharing

Bug: 234882587
Bug: 243688989
Test: Manually tested a bunch of cases at 1/10 animation speed.
Such as work profile or not, suggested apps enabled/disabled,
typing during the animation, going back during the animation,
web results injected above apps, etc.

Change-Id: Id4f1a858d387bf3a7f9cf2d23564a276544abef1
2022-09-09 15:37:57 -07:00
Sunny Goyal
46e368f755 Removing tabWidth calculation and using DeviceProfile directly
This removes some dependency on FloatingHeaderView, making it
easier to replace

Bug: 234008165
Test: Verified that the UI does not change
Change-Id: I363c98c23f84fe570ea9cb1a40128359f5b67c9f
2022-06-24 13:32:42 -07:00
Alex Chau
05e6d084ec Disable header protection on tablets
- Also listen for config chagne in FloatingHeaderView

Fix: 218500759
Test: Change screen size between phone and tablet, header protection is only enabled for phone
Change-Id: I65120080641ea75ae58c010c4a27fe2b1539e0b5
2022-06-22 18:09:35 +01:00
Andy Wickham
34e8c3364a Merge "Fixes Search bar padding when work profile not present." into tm-dev 2022-06-10 17:07:43 +00:00
Andy Wickham
ce647cc9ae Fixes issue where personal/work tabs could overlap search reasults.
When you start searching, the header is set to "collapsed" mode.
This normally hides the tabs indirectly if the height of the
header changed as a result, which happens if there is a prediction
row because the previous height is non-zero but is considered 0
after the collapse. However, if there was no prediction row, the
height was already 0, so the header was not re-initialized, which
is where the tab visibility takes effect.

Fix: 235299156
Test: Manually with and without app predictions enabled and
keyboard default on/off.

Change-Id: I192a700ac83776f30d3207f92636113bdb8a86c5
2022-06-08 14:46:46 -07:00
Andy Wickham
5a476da75c Fixes Search bar padding when work profile not present.
The full padding was accounted for between the search bar and the
work/personal tabs, but only part of it was there when the tabs
were not shown.

Screenshot: https://screenshot.googleplex.com/8axV9QQ5Qy8MaUn.png

Test: Manually with and without work profile added. In the latter
case, nothing changed. The screenshot reflects the former case.
Fix: 233010483

Change-Id: I11b3c8cc814be48c25cbd9f454c3e122fff96fa0
2022-06-08 13:32:41 -07:00
Andy Wickham
2ba7797edb Moves Search results into a separate RV (take 2).
Bug: 206905515
Test: Manually verified b/230648542 did not resurface. Tested
on phone and tablet with and without work profile.

Change-Id: If724f635286b9dff2c64255f9ece3568a5cb4ea9
2022-05-24 17:10:24 -07:00
Anushree Ganjam
5cc7ff0990 Revert "Refactors Search results into separate RV for Toast."
This reverts commit 6729f0b950.

Reason for revert: This change caused b/230648542.

Please see https://b.corp.google.com/issues/230648542#comment5 for the video after reverting this change.

Bug: 206905515
Bug: 230648542

Change-Id: I85f063c56cad137c05b810204244bba7e8f94ee7
2022-04-28 01:37:49 +00:00
Andy Wickham
6729f0b950 Refactors Search results into separate RV for Toast.
This will help enable transitions between A-Z apps lists and
search results because both can be seen simultaneously and
manipulated independently.

Some high level items of the refactor:
 - SearchRecyclerView is added; logic that populated the main
   (personal) tab with search results was simply redirected to
   this RV instead.
 - BaseAllAppsContainerView added isSearching() method. Returns
   false, and ActivityAllAppsContainerView overrides (as search
   is handled there).
 - Renamed BaseRecyclerView to FastScrollRecyclerView to better
   describe what it does. SearchRecyclerView extends this, but
   returns false for supportsFastScrolling().
 - AlphabeticalAppsList#mAllAppsStore is now optional, so the
   Search RV doesn't need to store/listen to apps. Note this
   doesn't affect the predicted app row which is still updated
   if one of the predicted apps is uninstalled (I tested this).

Future work:
 - Determine why dispatchRestoreInstanceState is not called for
   BaseAllAppsContainerView. Save is called, e.g. on rotation.
   Effect of restore not called: rotating while searching goes
   back to A-Z list.
 - Keep suggested apps in Header while searching. Currently they
   are rendered in the SearchRV above search results, as before.
 - Potentially extract Personal/Work tabs to move independently of
   header.
 - AlphabeticalAppsList is a misleading name because it can also
   contains search results. However, things are pretty intertwined
   between that and BaseAllAppsAdapter (effectively a circular
   dependency), so I figured cleaning all that up was out of the
   immediate scope of this refactor, which is mainly meant to
   unblock transition work.

Bug: 206905515
Test: Manually checked for regressions, ran tests.
Change-Id: I4d3757c8a8f9b774956ca6be541dd4fcdad1de13
2022-04-24 17:36:48 -07:00
Luca Zuccarini
a5e95419f5 [Toast] Polish the layout of the QSB, tabs and header protection.
Specs and screenshot in the bug.

Fixes: b/227902759
Test: manual
Change-Id: Ia713c923a71207cfaab7068f20c8606d816f8b43
2022-04-07 16:53:53 +00:00
Brian Isganitis
099945b075 Add predictions row to taskbar all apps.
- We need to listen to DeviceProfile changes in case the number of
  columns changes in the grid. I made an interface/mixin separate from
  ActivityContext to avoid polutting the latter with too many things. I
  also applied this change to existing taskbar A-Z grid.
- Added all apps visited count to onboarding preferences for only
  showing "All Apps" label in place of divider 20 times. Label is also
  tracked on taskbar side and should be kept in sync.

Test: Manual
Fix: 216843395
Bug: 174174514
Change-Id: I97aa91397c334123626caf18251f19e17c7104fb
2022-02-14 11:24:16 -08:00
Brian Isganitis
1664c9f418 Refactor all apps to depend on activity context.
The current AllAppsContainerView has been split into a base class and a
subclass for activities. The base class allows using all apps with an
activity context. A-Z and work profile tabs are supported, but search
and the hotseat still require an Activity.

Test: Manual. All apps should work the same.
Bug: 204696617
Change-Id: I3b146714bc11b3b3555d97623aab5d78ac836482
2022-01-24 20:24:20 -05:00
Alex Chau
27b39b9668 Put AllApps in bottom sheet for tablets
http://screen/7steQ7W8U2ga3Hs

Bug: 208599118
Test: manual
Change-Id: I36cbac3cb7cb214081e5a33a6e042ae83e745f23
2022-01-19 18:57:34 +00:00
sfufa@google.com
6cf7b319ac [Search] Show search suggestions with in Recyclerview
This change removes usage of FloatingHeaderView to display suggested web results to using RecyclerView.

Bug: 204116666
Test: Manual [apk attached to BR]
Change-Id: I7f8f1a5630f3cc2b29e7276636eaf45cda148566
2021-11-03 10:27:04 -07:00
sfufa@google.com
7a620d3673 [Search] Hide A-Z list when search is entered from QSB
preview attached to bug report

Bug: 201781284
Test: manual
Change-Id: I572360d2d49b38577a7d77115aede4c3269d42e9
2021-10-15 15:49:43 -07:00
y
8dcd7e0ce7 [Search] Update AllApps header protection
- Disables header protection on AOSP
- Fades in/out search box pill instead of sudden movements
- Work tabs protection shows and hides based on scroll position

Bug: 194106968 [APK attached]
Test: Manual
Change-Id: I5532847ddba3d4555003b0934b8fc846dc5a5cc7
2021-08-29 22:56:54 -07:00
Steven Ng
be2dc65f08 Refine all apps tabs alignment & remove ripple effect from tabs
Test: Open all apps and observe the position of tabs alignment.
       Click a tab and observe the fade in color effect.
Fix: 191387242
Change-Id: Ie23a092268ce62eba29059eb5bd266a46ca652a5
2021-06-23 23:25:13 +01:00
Samuel Fufa
dfc274364e Add work toggle to work apps paused message
This also fixes scrolling issues in landscape

Bug: 186857875
Bug: 161929312
Bug: 189983516
Bug: 190567199
screenshot: https://screenshot.googleplex.com/BCjcyJFqJo6W4Tr
Test: local
Change-Id: I7bcf23cc4be2fca936eba41342731789eb8f3292
2021-06-15 14:58:05 -05:00
Samuel Fufa
41f15a107f [Search] Resolve afterimage when closing allapps
Preview: https://drive.google.com/file/d/1AM6WAY4kImCgHueNvH6eXUtnHgK3U6vo/view?usp=sharing&resourcekey=0-3mzBobzFuzQXCNZRUlToYA
Test: Manual
Bug: 184711608
Bug: 188556051
Change-Id: Ib43c71083460c236347dd1f340b1ad95d7d4aa15
2021-05-25 17:34:18 -05:00
Samuel Fufa
d312651f79 Avoid drawing tall header when scrolling search results
Bug: 184946772
Test: manual
Change-Id: I1bedec89fb9eb5dc51b8b34511a02868cec91efe
2021-05-20 09:15:20 -05:00
Samuel Fufa
76b33404b5 [Search] Update all apps header protection
- Introduce spacing between header protection and search box
- introduce vertical padding for "personal | work" tab
- animate tab header protection color change when docking

Test: Manual
preview: https://drive.google.com/file/d/1eS4B7hcLExxCdjSp1IzBcziKm-9w87UR/view?usp=sharing&resourcekey=0--mtY6bCC9GJpFSUC8I5d6w
Bug: 184946772
Change-Id: I840af27c7557f1dffd7a15874aa09833514b4bb1
2021-05-18 17:14:14 -05:00
Samuel Fufa
0a709374ae Fix header protection interactions
Bug: 184711608
Bug: 187790639
Preview: https://drive.google.com/file/d/1MDh71t8DQn0SxTQY3-GZTfIlGECQs_Kn/view?usp=sharing&resourcekey=0-ep9C3q9Meo8cQShVJqnKEw
Test: Manual
Change-Id: I9c939a894adc3e9cd1ed1beb7c11f9c2dd673824
2021-05-18 16:28:55 +00:00
Samuel Fufa
c6995f3eb2 [Search] Resolve work/personal tab overlap with A-Z list
This issue was caused due to launcher falling out of sync with DEVICE_SEARCH_FLAG. This change makes AllApps views agnostic of search input type when rendering layout.

Bug: 182591985
Test: local
Change-Id: Ic015b68e110eea9ab5184325f2a3633a5c7d15cc
2021-03-23 11:09:15 -05: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
Samuel Fufa
b984cf7fa6 Restore divider between app predictions and apps
Screenshot: https://screenshot.googleplex.com/89jJLU3JXV8tRXM
Bug: 180017741
Test: Manual
Change-Id: Iab1764fe94340f120770054cf5a59bd3ed9e45a4
2021-02-24 10:31:57 -06:00
Samuel Fufa
692d2109a6 invalidate itemDecoration on predictedRow focus draw
Change-Id: I66c731f00ae1c1292c51ff281957f05fd2d70dfa
2020-10-08 18:42:48 -07:00
Samuel Fufa
ab9ad20be6 Search UI cleanup
- offset all apps header padding with search input margin
- avoid check shouldDraw check on HeaderRow. (race condition)

Bug: 170263425
Change-Id: I11a1fbb448aa6afd18ec0984af9bb8b1d7600f69
2020-10-07 15:22:15 -07:00
Hyunyoung Song
5dd045bec6 Handle IME selection focus for ENABLE_DEVICE_SEARCH
Bug: 162861289
Change-Id: I15e4eae09be2aa9f89a5157fd74c95e91e64bc53
2020-08-11 09:27:45 -07:00
Sunny Goyal
dbcc63edeb Removing some autoboxing during property animation
Change-Id: Ibd6f20c565a4d66dc6d606b3f0bbc96fec66fe56
2020-03-10 08:43:55 +00:00
Sunny Goyal
9c2b96090b Adding SecondaryDisplayLauncher in Launcher using common listener
Bug: 141596722
Change-Id: I480bfadf592f7d0309f17c33a3fe14bb77fb5586
2020-01-30 08:27:27 +00:00
Tony Wickham
35a4e0eec9 Tie prediction text to all apps interpolator
Now floating headers get 2 interpolators: one for the header content
itselt, and one for the all apps content that follows. That way, they
can choose to intperolate part of their content as if it were part of
all apps instead of the header. Currently, we do this to animate
predicted icons quickly, followed by the all apps icons, predictions
text, all apps scrollbar, and all apps divider as you continue swiping.

Bug: 132455160
Change-Id: Ib3e373c291e174e1306a53854d0ad4dc29eb4b76
2019-07-31 14:45:18 -07:00
Sunny Goyal
dcf917b133 Adding an interface to allow adding custom views in FloatingHeaderView
Bug: 109828640
Change-Id: I9bde5d4fab47eb3e5787bbb741b5b9051a15c0c2
2018-11-06 14:50:16 -08:00
Tony Wickham
5c5c118c48 Add AllAppsRow plugin interface
Bug: 115877296
Change-Id: I750941f220d08ca9ee14067253253f6d81417101
2018-10-16 17:22:09 -07:00
Sunny Goyal
d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -07:00
Tony Wickham
17be4e71b2 Adjust interpolators when swiping from overview to all apps
- All apps content fades in quickly so that icons are opaque by the time
  they are on screen
- Recents fades out late so that we don't see it as translucent while
  the transition is continuing (the translucent icon top of tranclucent
  task view looks bad, for instance)
- Fix colored scrim that appears over recents - was using 0 to 1 instead
  of 255

Bug: 79867407
Change-Id: I4f50423157f7870c8d0708f586a72e3e5a7b6559
2018-06-20 16:58:21 -07:00
Mario Bertschler
d460c084eb Fixes a crash when turning off workprofile while the workprofile tab is
active.

Bug: 79735930

Change-Id: Iafaddf827e648c9d39df78393a96f90dfc86fcca
2018-05-17 10:12:28 +02:00
Mario Bertschler
1a637bee18 Fixes an issue where on resetup of the FloatingHeaderView it defaulted
to the main recyclerview even when the work recyclerview was active which
resulted in the recyclerview not responding to scroll changes.

Bug: 72426657
Change-Id: I13c43137d69cd73ff7bdfe641f564f18f8443595
2018-05-07 20:43:11 +02:00
Sunny Goyal
de967a2355 Disabling alpha layer on some views
Change-Id: Ide1d5951ea80080f8fea8f32a76487b646b4f958
(cherry picked from commit 2020b20cd9)
2018-04-17 20:01:31 +00:00
Sunny Goyal
7185dd63eb Changing the overviewState to show appsearch and floating header
Change-Id: I2cfd61cfc9978e4c8e4520f0f7217e49e7344c79
2018-03-19 20:02:34 -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
Mario Bertschler
dd2424296a Fix for floatingheader snap value being higher than the max
translation if flinging quickly the all-apps recycler view.

Bug: 73151273
Change-Id: If7acbf7b48f69ea6a818a83d519049496b86ced3
2018-02-28 14:16:38 -08:00
Sunny Goyal
426345bfc4 Adding AppsStore for handling various app updates
Change-Id: Ia2242ce583576ace0924ef7142793ba37f4adcb9
2018-01-25 15:19:29 -08:00
Tony Mak
faaf5a5399 Update apps icon in prediction apps row when apps are updated
Fix: 70717710

Change-Id: I89540893ca3c8c4eae3f47bc07c3deade135e5c3
2018-01-15 14:08:48 +00:00