Commit Graph

76 Commits

Author SHA1 Message Date
Alex Chau 158caf466c Only setup SecondaryDropTarget in onDragStart
- In LauncherAccessibilityDelegate.getsupportedActions, it calls supportsAccessibilityDrop on each button regardless if DropTargetBar is visible or not. SecondaryDropTarget.supportsAccessibilityDrop attempts to setupUi which causes measure/layout of DropTargetBar (as well as DragLayer) each time LauncherAccessibilityDelegate.getsupportedActions is called
- To avoid this, only setupUi in onDragStart. In other cases don't call setUi.
- Also fixed a bug that when accessibility is on, upon dragging a suggested app, the secondary action suddenly changed to Uninstall

Fix: 233383721
Test: Enable accessibility, observe no excessive amount of onLayout is called on DropTargetBar
Change-Id: I4d1a00d320cceed81fa1312b5fc5f1081637bea8
2022-05-25 11:04:42 +00:00
Sunny Goyal f0ff70a2a5 Adding support for easily extending Launcher DragAndDrop support
Bug: 232165524
Test: Verified locally
Change-Id: I3b4f37bc9914de55330662edd678e6fdd0eafece
2022-05-11 21:34:08 +00:00
Shikha Malhotra fefafe5aa9 Putting back generics for Workspace
This got over-written in merging files

Bug: b/218186705
Test: Manually tested Launcher3 works.
Change-Id: I55287e110d067a338204924337091ead044b34ec
2022-04-14 15:35:33 +00:00
Shikha Malhotra f78da1bae3 Review comments followup
These are review comments followup from ag/17399997

Bug: b/218187058
Test: manually test thet Launcher3 features work correctly
Change-Id: I9865a37c1ed663370dc28e7678994f3d961e3cd1
2022-04-12 14:33:07 +00:00
Schneider Victor-tulias bdb0dd8cfb Refactor LauncherAccessibilityDelegate so it can be used outside of Launcher
Bug: 198438631
Test: used talkback on launcher
Change-Id: I991320184ad93816c4ba21fb8fcfe12202bfae25
2021-11-23 12:48:14 -08:00
sfufa@google.com 6a12ec34fb Support Accessibility workspace addition for WorkspaceItemInfo
Bug: 192678946
Test: Manual using TalkBack
Change-Id: I1d0d06ccac934eb80dba7670e93ec631c12e5074
2021-09-20 01:15:08 -07:00
Andras Kloczl 408a54f2e7 Add two extra empty pages on two panel launcher home
Add a new screen ID for the second extra empty page
and add that new screen as well when the existing
extra empty page is added so that users can put items
on both sides of Workspace.

Test: manual
Bug: 196376162
Change-Id: I0b4f2e818407a10d8a7c032788a7bd7a61267779
2021-09-05 22:03:07 +01:00
Alex Chau 1e4484669d Remove widget panel
- Remove all usage of LEFT_PANEL_ID and fixed left panel code
- For preview renderer, load screen 0 + screen 1 instead
- Added a split display specific default workspace layout, with a placeholder app to pass test before we implement page pairing(b/196376162)
- Known issue: If screenId 1 is deleted, right panel will disappear from Wallpaepr & Style because there is no screenId 1. Will be resovled after page pairing(b/196376162)

Bug: 175939730
Test: manual and TaplTestsLauncher3#testWorkSpace
Change-Id: Icac1c94165c14a49c17897c45355b6cdc4d87e91
2021-08-13 21:48:35 +01:00
Andras Kloczl e32e8641d6 Fix Workspace item move issues when using Talkback
- fix the crash when an item was moved onto the right panel
- fix the issue that prevented the user from moving an item from the left panel

Test: manual
Bug: 194903736
Change-Id: Ib41f5d6d08e8815a52631ef952d32dcf899455e2
2021-08-04 11:04:19 +02:00
Steven Ng 22b6039270 Exact widget sizes functionalities into an utility class
Test: resize widget, move widget, add widget.
Bug: 189975670
Change-Id: Ia0bc2297891e1cfa33697e985064db5d1dcdfc8b
2021-06-08 11:42:48 +01:00
Sunny Goyal 01b32466c3 Revert "Revert "Exposing AnimatorListeners in StateManager to receive both success and failure callback""
This reverts commit d7f11d5fb9.

Reason for revert: Fixed initial error
Bug: 185554764

Change-Id: I32cc49f9b3820166736ceb347f33577939aa6efa
2021-05-13 10:23:35 -07:00
Winson Chung d7f11d5fb9 Revert "Exposing AnimatorListeners in StateManager to receive both success and failure callback"
This reverts commit a75f576890.

Reason for revert: b/187887269
Bug: 187887269

Change-Id: I8a56ff7054e71cf30b113fdaa213397dae0c53cb
2021-05-12 21:25:22 +00:00
Sunny Goyal a75f576890 Exposing AnimatorListeners in StateManager to receive both success and failure callback
Updating various callers to use onSuccess or onEnd appropriately

Test: Manual
Bug: 185554764
Change-Id: I357dd1fdbe111e7a30d4c8dee520fbd7d9956b7d
2021-05-11 13:53:14 -07:00
Schneider Victor-tulias 68706ebe5a Focus on newly-added workspace items for accessibility.
Fixes: 177972980
Test: manual
Change-Id: Ic31a940aba7bd08eb9d4236d9c963006a18c9f4d
2021-05-10 20:39:22 +00:00
Steven Ng ac05cb1343 Fix class cast exception in a11y service for widget resize action
Test: Enable talkback. Then navigate to a widget. Trigger talkback
      menu > actions > move. Able to move a widget without crash.
Bug: 186999201
Change-Id: Ic6a66fefd643443e3d5a8839e6f2fe10c946dab2
2021-05-05 15:38:28 +01:00
Andy Wickham 7d821d98f1 Updates OptionsPopupView to allow non-resource strings/icons.
This will be needed for Smartspace which gets its menu options
from AiAi.

Test: Hard-coded strings passed to Smartspace from the fake
data Launcher plugin. Also verified could access the menu
using TalkBack.
Bug: 184179894

Change-Id: I724c09db18085585c7a5224e32c0d8973acdab7c
2021-04-01 18:27:20 -07:00
Pierre Barbier de Reuille b2526feb24 Launcher changes for go/widget-size-specification
Makes sure the launcher:

1 - Send the list of actual sizes the widget in all situations.
2 - Gives the current size to the framework on inflation.

Also needed to guard the new border changes introduced in
http://ag/13532637 with the corresponding flag.

Change-Id: I2a33e9501b921f2fc393684e8ce91ee077626bf7
Test: By hand using a local widget.
Bug: 179025145
2021-02-24 20:40:41 +00:00
Sunny Goyal 384b578ab2 Removing menu and dialog for custom actions hanlding.
These do not work well with gesture-nav and can potentially
block the Launcher UI.

Instead exposing on custom actions with keyboard accelerator and
using thee internal arrowPopup for resize options
Fixing SecondoryDropTarget not sending appropriate stats log

Bug: 179854703
Test: Verified on device
Change-Id: I268690f8a937896e4350496128a38959003f8939
2021-02-16 10:45:06 -08:00
Sunny Goyal a4647b681f Adding support for keyboard based drag and drop
For keyboard DnD, we use Accessible DnD implementation.
A placeholder FloatingView draws the focus indicator
for the virtual views

Test: Visible
Bug: 178781566
Change-Id: I632fc7377dffa1e05e3f0a9c3ad18641deb5a1a4
2021-02-05 13:05:24 -08:00
Sunny Goyal e396abf502 Moving model data structures to a separate file
Change-Id: I77ad7a5219e72d2e0d6c1803de2ac3ed6a65a8f7
2020-04-09 13:20:39 -07:00
TreeHugger Robot 402e7be703 Merge "Hybrid Hotseat a11y" into ub-launcher3-master 2020-04-02 22:27:32 +00: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
Jon Miranda ff65674a10 Remove accessibility long click option if no long click action occurs.
Bug: 149370403
Change-Id: Ifdbd673a53229c76a99f7b8ef9569db7195481a2
2020-04-01 12:02:07 -07:00
Jon Miranda cafe918ff3 Remove accessibility long click option if no long click action occurs.
Bug: https://b.corp.google.com/issues/149370403
Change-Id: I265b60ed0f8f816c842d167520657e0bff442a04
2020-03-26 11:22:02 -07:00
Sunny Goyal 9b18010990 Decoupling some drag and drop code handling
> Removing some special checks around accessibility drag
> Unifying folder alarm code path for accessible and normal DnD
> Maintaining mDragStartTime inside the dragDriver instead of the callers
> Simplifying some accessibility callbacks

Future cl will create a Accessibility DragDriver and unify it with
other DnD flow

Change-Id: I1919ef218de0174678110f271b450bcb9aaf4a5c
2020-03-18 12:41:42 -07: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
Adam Cohen 732b1d46c5 Fix a couple issues related to drag and drop in Touch Exploration mode
=> The framework no longer sends touch events after double-click and hold, and instead only triggers a single long-press event
=> As a result of the above, there is some additional state that must be set for accessible drag and drop, and further, we no longer initiate a drag in response to long press when Touch Exploration is on.

Test: manual

issue b/148308758

Change-Id: I26ab90b807965f31c8de93d451130410169f2fb0
2020-01-30 23:38:59 +00:00
Pinyao Ting c90742775b [a11y] fix the issue where launcher announces item added to homescreen before
it does

Test:
1. long press on home screen -> widgets
2. enable talkback
3. add a custom shortcut to home screen (i.e. 1x1 widgets, e.g. drive
scan in Google Drive, Driving Mode in Google Maps ... e.t.c )
4. verify talkback announces "item addded to homescreen" after it does
get added to the homescreen
5. repeat the same test for widgets (e.g. calendar)

Bug: 141527338
Change-Id: I232e6e796c9edb81128f816c71a33310c3700e73
2019-11-14 22:37:24 +00:00
Pinyao Ting 8a739f9511 Fix the issue deep shortcuts cannot be added to workspace via
voice/switch access

Bug: 140405990
Change-Id: Ie54d9c738fc51445f3aa49458ff4fc1dd6e4fc67
2019-09-12 12:05:54 -07:00
Pinyao Ting 49a3e699f9 show dot in deep shortcuts when notification contains exactly identical
set of person

Bug: 132336512
Change-Id: I975524e28168c10a186cdc24b188c161faf433cf
2019-08-05 20:41:58 -07:00
Sunny Goyal 9589916418 ShortcutInfo renamed to WorkspaceItemInfo
Will get rid of ShortcutInfoCompat in a follow up cl

Change-Id: I7d7d9c938635f59b216290ba28bea9d0e0721a7d
2019-04-16 00:08:24 -07:00
vadimt 5bc87ec9ae Removing "accessibility drag" action for shortcuts in menu
It's not supported there and causes Launcher to crash

Bug: 116023881
Test: Manual
Change-Id: Ib8a99ffeed41c3c3b70dec6bab7c5330a0412c66
2019-02-07 19:44:08 -08:00
Sunny Goyal efb7e84242 Converting long item IDs to int
> Items ids were already being typecasted to int when being bound on the UI
> Using a consistent type allow better use of platform data-structures
> Adding IntArray and IntSet as a replacement for various Collection classes

Change-Id: Id3c650ed2420c2bfca3bd7671d2b705b56112371
2018-10-08 14:52:39 -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
Mehdi Alizadeh 8588fd0ea2 Refactor initializing LauncherAccessibilityDelegate
Bug: 77638406
Test: None
Change-Id: Ibf9f4fcabe42400abc91aa4b94417a8ff0449248
2018-04-27 15:38:52 -07:00
Sunny Goyal 8a2a63b3f0 Moving click and long click handling for items from launcher to separate class
Change-Id: I1d12862205f7fa7f3671ff351e66dba58bb430e2
2018-03-08 15:21:42 -08:00
Winson Chung 1054d4e8f2 Revert "Revert "Adding support for hiding widgets from the widget tray and reconfiguring widgets""
This reverts commit f502e5faec.

Reason for revert: Reverting post-build

Change-Id: I09eb292dbbbe37ffaf3abc477aa2ddb5700093b8
2018-03-05 19:39:21 +00:00
Winson Chung f502e5faec Revert "Adding support for hiding widgets from the widget tray and reconfiguring widgets"
This reverts commit b29a5fa55c.

Reason for revert: Temporary revert for build.

Change-Id: I58045ad1ce28d398a5216ba4fbbcdba1196942ec
2018-03-05 18:06:52 +00:00
Sunny Goyal b29a5fa55c Adding support for hiding widgets from the widget tray and reconfiguring widgets
> Removing AppInfo target
> Switching between uninstall and setup based on the drag view

Bug: 63931362
Change-Id: Iccd6f965fa3d61992244a365efc242122292c0ca
2018-03-02 13:20:09 -08:00
Sunny Goyal 29947f0b53 No more waiting around for resume
Apply model updates as son as they arrive instead of waiting for onResume.
Various workspace items do not use any configuration dependent resources.
For Widgets, we wait until the host starts lietening before inflating the actual view.

Change-Id: Icb2f5e5940c1ce6c27062ccd34eff87e80af5ab1
2017-12-19 12:50:17 -08:00
Sunny Goyal 7268ed6c27 Merge "Caching the uninstall disabled state for each userHandle" into ub-launcher3-master 2017-10-26 21:07:42 +00:00
Sunny Goyal 3e3f44c3ad Exposing the state manager directly instead of providing various helper methods for state change
Bug: 67678570
Change-Id: If3d05c804c034ffa5e403da8eaa23e85e373c863
2017-10-25 13:41:13 -07:00
Sunny Goyal 0236d0b0ba Caching the uninstall disabled state for each userHandle
> Removing static access to varios drop targets
> Creating a cache at UI level with 5sec timeout

Bug: 67104426
Change-Id: Ide6e2e0c01606f9b5fb9281f95dc009873c18fb9
2017-10-24 14:55:54 -07:00
Sunny Goyal 3dce5f3f50 Merging duplicate logic for deferred drop handling in Worksace and Folder
> All the logic is contained in UninstallDropTarget
> Also fixing a bug were mWaitingForResume was not cleared

Bug: 34692289
Change-Id: I617475ce53062902d6817954fb608198e6e03d3c
2017-10-06 09:07:36 -07:00
Sunny Goyal 7ce471bdf6 Removing support for CustomContent screen
The supported way to customize Launcher and add a "-1 page" is by
using LauncherOverlays. Custom content screen is no longer supported.

Change-Id: I3f8a2734c287d1a69ae0c038ec1de1d45fa1b464
2017-09-08 14:06:30 -07:00
Sunny Goyal b23980cc0e Fixing duplicate/inconsistent definitions for model and callbacks
> 2 implementations for filtering workspace items
> 2 implementations for binding widgets
> duplicate logic for add and update appInfo

Change-Id: Id68a49926af398478deca8ac85ab1f22341a9449
2017-08-17 11:05:56 -07:00
Jonathan Miranda 8701cd58cf Revert "Match items in icon preview with items in Folder using permutations."
This reverts commit 69c340a05e.

Change-Id: I4178b58e847a87e5cd7e5fa4b6886f0d72ba387b
2017-07-13 16:49:33 -07:00
Jon Miranda 69c340a05e Match items in icon preview with items in Folder using permutations.
Before, with the FolderIconPreviewVerifier, we would
adjust which items are displayed in the FolderIcon.
This caused some issues where the apps in the folder
icon would jump to whatever was in the upper left quadrant.

Now, we always display the 4 first items in the icon by
modifying the XY positions of the items within the Folder.

Bug: 27944225
Bug: 35064148
Change-Id: I46c0fbb064d4da4da155e29963bfb92b14e40f07
2017-06-28 09:52:11 -07:00
Tony Wickham 3720c69322 resolve merge conflicts of 8af16760d to ub-launcher3-dorval-polish
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I4cdfeebd09be58270c249429104d91dc9a31b49c
2017-05-19 12:17:02 -07:00
Tony 18c4aa458e Update accessibility for popup
- Content description includes count of notifications.
- Notifications have a dismiss action.
- All icons that support shortcuts will have action to show
  shortcut menu, since there will be system shortcuts even if
  there are no deep shortcuts.

Bug: 36564782
Change-Id: I51b085fa26754f2dcd93c7db6548f2edf054f494
2017-05-11 13:59:52 -07:00