Commit Graph

217 Commits

Author SHA1 Message Date
Adam Cohen
f7ca3b4e3f Update drag and drop visualizations
=> Remove the bitmap-based icon outline
=> Add simple cell based location preview of drop location
=> Round corners of page outlines
=> Get rid of page background for focused page
=> Update colors to use system accent color

Bug: 185163323

Test: manual

Change-Id: Id604c59201536967e25236f305eeeb0aafc9c022
2021-04-15 12:45:24 -07:00
Sunny Goyal
572aca4ce2 Moving some common functionality to IconLoaderLib
Bug: 183641907
Test: Manual
Change-Id: Icfc7ebb140e4e1678b0715beee2e0e513e707b9e
2021-03-25 10:06:53 -07:00
Sunny Goyal
da2ecb3095 Merge "Adding support for listening for app launch animation completion" into sc-dev 2021-03-11 21:36:43 +00:00
Sunny Goyal
b65d766d88 Adding support for listening for app launch animation completion
Bug: 181165935
Bug: 179065491
Test: Verified on device
Change-Id: Ifa6a91560cb31b4dfb72a0f582607e873d8a002d
2021-03-10 15:53:21 -08:00
Pierre Barbier de Reuille
ab33b76dce Launcher changes to support dynamic coloring on static widgets.
Bug: 179783721
Test: By hand using the AppWidgetDynamicColors widget
Change-Id: I27863cac31f2f6c29f5a717ff8d4492325f936fb
2021-03-10 22:04:35 +00:00
Jon Miranda
e126d72fa8 More grid changes, closer to final specs.
* Added isScalable, minCellWidth, minCellHeight, and borderSpacing attrs

When isScalable is true, we use set workspace cell values to
minCellWidth/minCellHeight and then scale the cell values to
fit the available space. This allows us to have consistent
aspect ratios when two devices match the display/grid options.

This is different from the dynamic grid, which calculates
cell values based on iconSize/textSize/etc and then allows
the cell width to be as wide as space allows.

I adjusted some variables so that they will auto adjust
based on another value, indepenent from whether the
grid isScalable or not. An example of this is the folder
label text, where it's always set to be 1.14x of whatever
the workspace icon text size is. This is so we don't need
to add a bunch of more variables to DisplayOption/GridOption.

Bug: 175329686
Test: - switching between device profiles,
      - testing folder open/close
      - testing in multiwindow
      - testing in landscape
Change-Id: Ia469ae0d65b518469ef264b726db46f4a3210056
2021-02-25 17:34:56 -05: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
Winson Chung
f99351888c Revert "Revert "Merge commit '8d14dbe041199d611839140f1c9285fd4174e9f4' ...""
This reverts commit 087a9e39b6.

Change-Id: I05b17a6e4aaaef6de3c2fa26aad45a39eb2833f9
2020-10-23 09:27:48 -07:00
Alistair Delva
087a9e39b6 Revert "Merge commit '8d14dbe041199d611839140f1c9285fd4174e9f4' ..."
Revert "Merging from ub-launcher3-master @ build 6877130"

Revert "Merging from ub-launcher3-master @ build 6877130"

Revert "Merging from ub-launcher3-master @ build 6877130"

Revert submission 12738409-merge_ub-launcher3-master_6877130

Reason for revert: Introduced crashes to global presubmit

Reverted Changes:
I624658ce6:Merge commit '8d14dbe041199d611839140f1c9285fd4174...
Iccd2f1e3a:Merging from ub-launcher3-master @ build 6877130
I791d64951:Merging from ub-launcher3-master @ build 6877130
Icdd32ab01:Merging from ub-launcher3-master @ build 6877130

Bug: 169963211
Change-Id: I77a4ae59e823147beae8dd7cb9b54ccdace2c7f4
2020-10-05 14:46:26 +00: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
Sunny Goyal
4484015f48 Simplifying AppFilter
Change-Id: I36217a42aa67f2b3bc3a3226ace2ef7e194956a6
2020-09-08 16:31:17 -07:00
Sunny Goyal
0fc3d1275a Moving hotseat predictions to ModelDelegate
Bug: 160748731

Change-Id: I8db7856a17e0b6ca45b4d5ec3513f788f22db11a
2020-08-17 08:43:07 -07:00
Sunny Goyal
8b74cc761b Moving all-apps predictions to Launcher model
Predictions are loaded and managed by Launcher model and follow
the model lifecycle. They are then bound to the callback which
handles the UI

Bug: 160748731
Change-Id: I4a3ea0698d80fafe94afb4ce66ffa7f4a6a91c68
2020-07-29 13:07:52 -07:00
Jon Miranda
54003963d8 Fix velocity in StaggeredWorkspaceAnimation.
* Velocity should match the direction of the spring values.
  (Swipe direction is upwards, but icons move downwards on screen).
* Remove additional conversion to pxPerS since getDimension already does that.

Bug: 160003774
Change-Id: I12912edb2354c4a30c538da6ca3789c46d82b94d
2020-06-26 18:16:13 +00:00
Jon Miranda
271638574f Add spring to workspace scale when going from Hint state to Normal state.
Bug: 151768994
Change-Id: If03d39e5ef6319355a7691d60fc0152de2fc3cec
2020-06-18 17:53:07 -07:00
Samuel Fufa
d12d6ab98a Switch to new protocol for hybrid hotseat
- create predictor from items in bgModel instead of scanning views
- Launcher no longer checks for duplicates before sending pin/unpin events
- sending cached items from last prediction to reduce UI shuffle
- Switch to using UserCache to persist and read ComponentKey

Bug: 148814143
Bug: 156413231
Bug: 156200931
Change-Id: Ide6330bed8eb7f0c6fbec1d1ac21e7f67a9b2be2
2020-05-14 17:27:34 -07:00
Sunny Goyal
1890f67800 Overriding density when initializing device-profile as the app-context may not
point to the correct density in multi-display

Bug: 154665987
Bug: 153293358
Change-Id: I9a95bf314049ce783067f70c735ea29a64388ce5
2020-04-30 12:29:02 -07:00
Jon Miranda
c2140bcadd Change horizontal spring stiffness to 250.
Change-Id: I453190b9c402aebdd723b23bcc08fea928da13c5
2020-04-28 14:38:54 -07:00
Sunny Goyal
7f9e8e2d27 Fixing animation player not overshooting spring animation; tuning springs
=> setCurrentPlayTime is bounded between [0, duration] by the animation framework
Instead using interpolator so that we can go outside the bounds

=> Tune spring stiffness and dampening for overview card dismiss animations

Bug: 154061408
Change-Id: Iaa31491fff499db916b36d9779ec159b8a89a2de
2020-04-22 12:54:31 -07:00
Jon Miranda
57dab6fa29 Let spring take over the overscroll amount when swiping to first/last page.
Bug: 153747836
Change-Id: I8a883f648587b0cb4008df3b8176c9341162b8d1
2020-04-11 10:25:28 -07:00
Samuel Fufa
6eaf989d98 Hybrid Hotseat a11y
- speak meaningful accessibility label for predicted items
- disable accessibility focus for on-boarding preview items
- add PIN as an accessibility action
- remove move and remove actions for prediction icons

Bug:152376193
Bug:152359303
Bug:152374583
Bug:152357657
Bug:152268303
Bug:152379490

Change-Id: I40fe0ef6329cd5b1d9215ac5fa1716f15db89ac8
2020-04-02 14:16:07 -07:00
Tony Wickham
d6f917f182 Support blacklisting live wallpapers from showing sysui scrims
Add wallpaper changed broadcast receiver to BaseDragLayer, which
checks if the new wallpaper is blacklisted and relays that to
remove the scrims.

Bug: 150144115
Change-Id: I55b7b98fdd419cd76532492461a872367efed67b
2020-03-19 16:32:33 -07:00
Jon Miranda
c298078241 Add staggered workspace animation to keyguard unlock animation.
Added behind FeatureFlag.KEYGUARD_ANIMATION due to dependency on
Ie94ab8ecd35e9dcc28d0b8f7aaeb058e15b0f80b.

Added dynamic resource unlock_staggered_velocity_dp_per_s so that the
animation can be tuned.

Bug: 151238866
Change-Id: I4d349d32cc7d86be3cdc582c2a7c565be2931444
2020-03-17 14:27:35 -07:00
Jon Miranda
1a3047666a Add more swipe up to home/spring variables as dynamic resources.
Bug: 147302669
Change-Id: I7a13f1eac8324d963302f5f42793478896f10097
2020-03-04 12:52:02 -08:00
Jon Miranda
7edcd7803f Makes spring variable dynamic resources so that they can be changed via plugin
Bug: 147302669
Change-Id: Ia4e74ff46a4d8338a56ea75ed826b69102c42d93
2020-03-02 18:48:23 -08:00
Peter Kalauskas
03c8f296cd Add config to enable snapshot preloading
Enable preloading if config_enableTaskSnapshotPreloading instead of
assuming it should be off for all low ram devices. This allows it to be
configured via an overlay.

Test: TaskSnapshotCacheTest
Test: TaskSnapshotControllerTest
Test: TaskSnapshotPersisterLoaderTest
Test: TaskSnapshotSurfaceTest
Bug: 148099851
Change-Id: I9e3320dcff5b710e110cc7199c41c5a004991592
2020-02-21 23:35:37 +00:00
Samuel Fufa
5cf3e86f80 Move 'dismiss prediction' to droptarget
This is done to avoid shortcuts being crowded when a predicted app is
long pressed.

Bug: 148707493
Test: Manual
Change-Id: I356a2cebfcc329478d96ee815fd641179359a572
2020-02-04 12:24:16 -08:00
Hyunyoung Song
1ae42423ca Load folder names during LoaderTask
Bug: 147359653

Change-Id: I4d1b53c3a72d0773d4bc8819ee8118fc719944ad
2020-01-28 22:06:05 -08:00
Sunny Goyal
7b97eebbe5 Adding utility class to load customization resources for easier prototype
Also adding support for grouping multiple plugins in same APK using process name

To customize resources update the defination of dymanic_resources in config.xml:
    <array name="dynamic_resources">
        <item>@color/delete_target_hover_tint</item>
        <item>@integer/config_folderDelay</item>
        <item>@dimen/all_apps_action_spacing</item>
        <item>@fraction/container_margin</item>
    </array>

Change-Id: I79c08845464510af96b16d375b424ad914657f39
2019-11-11 10:39:45 -08:00
Sunny Goyal
14168431bd Adding support for dynamic calendar and clock icons
Change-Id: Icdba34340a27a4f6dff7310d0bf9fd29aef1330c
2019-10-29 13:50:02 -07:00
Sunny Goyal
3a1eadd37b Adding support for remote app action provider.
> Connect to a predefined content provider to get package specific action
> Add that action to shortcut menu and task menu

Change-Id: Ide5c09d04112e86c8e19c2f9e66c88c15b3fd04e
2019-10-23 17:51:13 -07:00
Sunny Goyal
e529a86fbd Adding support for storing keywords in iconCache
Change-Id: I1183e63a6556ebfb3eee5df23d149e09728193a9
2019-08-07 15:51:25 -07:00
Sunny Goyal
ab3963ddcf Moving TestInformationProvider to Launcher3 so that it can be used for
testing Launcher3 without quickstep

Also keeping the provider as disabled until needed

Change-Id: Ib5f459e02ae551724b390f3b74f43d601568d749
2019-05-23 14:02:33 -07:00
Sunny Goyal
5686333117 Adding a utility class to cache views at an activity level
Bug: 122345781
Change-Id: I9a939e0b19c06c1089c1ceb515f8b97fb5dbb49e
2019-05-22 14:23:12 -07:00
Sunny Goyal
6bbf6004f8 Removing ShortcutInfoCompat and directly using ShortcutInfo
Change-Id: I2842689e192a206c0d31558c8126eae1c7904598
2019-04-22 15:39:40 -07:00
Sunny Goyal
369212aed9 Adding a utility class to listen for app launches
Change-Id: I62e82a6e04b7101773d98c6e7aec574facd053fe
2019-03-26 16:38:58 -07:00
Hyunyoung Song
339a311d99 Cleanup strings for iconoverride
Bug: 120736782
Change-Id: I9745fe999cec3c4e1f442decb482ed916d0b871a
2018-12-26 20:59:57 -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
fc00747909 Add StatsLog*Manager for logging.
Bug: 113043444

Verification: (19) is our event classifier number
11-05 11:24:28.188   932   994 I statsd  : { 1541445868000000000 766293363001 (19)0x10000->1[I] 0x20000->0[I] 0x30000->0[I] 0x40000->[S] 0x50000->1[I]  }

Change-Id: I75403837f9fa8e51efa012fb708bce7efc9c4488
2018-11-05 11:41:38 -08:00
Sunny Goyal
eae0514f1a Moving Plugin and feature flags UI to androidX
> Combining both preference into a single screen
> Adding plugin preference screen so quickstep build

Change-Id: I3d2ff3ebdac3c774659e79ecb81be6f75f765eb0
2018-10-25 13:07:42 -07:00
Winson Chung
cc8dbf31db Caching clean up, remove dependency on old shared lib loading/caching logic
- Clarify caching policy, we only cache the last N task snapshots
- Pull out necessary logic from RecentsTaskLoadPlan (deprecated) into
  launcher class RecentTasksList which also manages the invalidation of
  the last loaded list
- Pull out logic from task loading logic in the shared lib into separate
  classes TaskThumbnailCache and TaskIconCache, and have each task view
  manage the load request for data

Bug: 117603579
Test: Thumbnails still load

Change-Id: I938e4dea19e7f5d24724c32194d254ca003e89aa
2018-10-23 00:01:07 +00:00
Vadim Tryshev
dc7d25d3e1 Adding SystemShortcut for RemoteAction
Bug: 117888000
Test: manual test with a prototype
Change-Id: I10ed0a8c0237a85af5ac32a7fc68e1f9d2ffc5ba
2018-10-19 14:34:00 -07:00
Sunny Goyal
1642f7173f Removing ViewScrim and cutom drawing code
Bug: 109828640
Change-Id: I2cab0215a32c2ca6bc331d48083fcc00ada05c3b
2018-09-18 11:41:02 -07:00
Sunny Goyal
194f58525a Adding a provider class for various popup actions
so that it can be customized easily.

Change-Id: I633846631ac3d4c70ebb3ea35a3edc2feee8339e
2018-09-17 17:05:32 -07:00
Tony
977690e931 Make arrow feel more connected to popup
- Clip the arrow that is overlapped by the popup, so that it doesn't
  show when that part of the popup is highlighted
- Animate the arrow first instead of last. Now the animation feels
  like one continuous motion as the arrow grows into the popup.

Bug: 111159923
Bug: 111006276
Change-Id: I22fb3037d950d55fe6c8ed4dc5345279874f0a3a
2018-08-15 15:22:28 -07:00
Vadim Tryshev
7acde48955 Enabling more checks in TAPL tests.
Hiding workspace from tests when in AllApps or Overview.

Also, we don’t need workspace_page_container.

Bug: 110103162
Test: Running TaplTests suite
Change-Id: I10875a1ce5d41a015c63034160676578f52d2e98
2018-08-03 10:29:36 -07:00
Sunny Goyal
7f920b8d5e Cleaning up build rules to simplify customizing derivative projects
> Using {packageName} instead of hardcoding com.android.launcher3 in AndroidManifest.xml
  for strings which are dependent on packageName
> Adding proguard rule to prevent obfuscating any overridable class
> Making it easier to extend SettingsActivity by overriding the fragment class

Change-Id: I5668c3f33b4cf20ad01d7f54b3d79cc0d268d391
2018-07-02 11:16:04 -07:00
Vadim Tryshev
74c261c89f Prerequisites for TAPL
Adding things that will be used by TAPL.

1. Adding Ctrl+W to open widgets
2. Marking a UI element with shortcuts_and_widgets
id. Example of usage: we want to be sure we are in all apps.
A somewhat paranoid way to check this is to check that
apps_view is on, and workspace and overview_panel are off.
However, workspace is always in the hierarchy. We use
shortcuts_and_widgets instead.

Bug: 110103162
Test: Manual
Change-Id: I2a851e16c477f7ee895b459530bc5a1ff19e32f8
2018-06-12 14:54:23 -07:00
Sunny Goyal
927447e71d Chaniging all-apps scrim
> Converting the scrim to View, to better avoid overdraw
> Overview and Spring loaded state have different scrim alpha
> When going from overview to all-apps, there is a color scrim drawn over the overview panel.
  The slef color is merged with this color to prevent overdraw, and the remaining screen is drawn
  with a cut-out round rect path

Bug: 79111591
Change-Id: I26801fde13dd6adb4b06110bbe8087e35cc31847
2018-05-08 08:29:43 -07:00
Vadim Tryshev
a50d99f1c1 Improving "shortcuts" window for TalkBack users
Using pane title, updating the description

Bug: 77633140
Test: Manual
Change-Id: Ia3a9ad75995a4cd3ada9b750e760161da70b9a7c
2018-05-07 13:25:39 -07:00