This is the second of several patches implementing the App Pairs feature behind a flag.
This patch includes:
- AppPairsController, a new controller that will handle creation, launching, and deletion of app pairs
- ITEM_TYPE_APP_PAIR is a new type of FolderInfo (FolderInfo now can be either a folder or an app pair, and should probably be renamed to CollectionInfo or something more generic in future)
- Necessary plumbing for these new types
- Database code that handles saving a new app pair to the database with the correct schema
Flag: ENABLE_APP_PAIRS (set to false)
Bug: 274189428
Test: Not included in this CL, but will follow
Change-Id: Ie3aefd4eb9171f471789f54876de742849d3013b
This patch fixes a bug where the transient Taskbar was not hiding properly after splitscreen was initiated. When the user is inside an app and launches splitscreen by longpressing on a Taskbar icon and selecting the split button, the transient Taskbar should hide right away. This is an equivalent action to dragging the Taskbar icon up to create a split, and should hide the Taskbar so that other UI elements (like system-level toasts and error messages) can be seen.
The bug occurred because updateAndAnimateTransientTaskbar() is not being called in this specific code path to stash the Taskbar.
Fixed by adding a new call to updateAndAnimateTransientTaskbar upon clicking the splitscreen menu button.
Fixes: 272292897
Test: Manual
Change-Id: I64a9acfc41ddcaba4d9f43eb216458de44b4c9a4
Bug: 188081026
Test: no op change, should compile
Test: ReorderWidgets
Change-Id: I20367974e5a4cead406e18eb66dafd4d59651b2a
Merged-In: I20367974e5a4cead406e18eb66dafd4d59651b2a
I'm moving the LayoutParams to another file to start the decoupling
of the Reorder outside of the CellLayout.
Also, I change the name from LayoutParams to LauncherLayoutParams to prevent confusion with ViewGroup.LayoutParams making it explicit that this are different LayoutParams.
Bug: 188081026
Test: atest ReorderWidget
Change-Id: I92251c5540ffcf5ece7b933e6f6c836eb825c997
- 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
These are review comments followup from ag/17399997
Bug: b/218187058
Test: manually test thet Launcher3 features work correctly
Change-Id: I9865a37c1ed663370dc28e7678994f3d961e3cd1
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
- 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
- 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
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
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
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
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
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
> 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
This is done to avoid shortcuts being crowded when a predicted app is
long pressed.
Bug: 148707493
Test: Manual
Change-Id: I356a2cebfcc329478d96ee815fd641179359a572
=> 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
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
> 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
> Removing AppInfo target
> Switching between uninstall and setup based on the drag view
Bug: 63931362
Change-Id: Iccd6f965fa3d61992244a365efc242122292c0ca
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
> Removing static access to varios drop targets
> Creating a cache at UI level with 5sec timeout
Bug: 67104426
Change-Id: Ide6e2e0c01606f9b5fb9281f95dc009873c18fb9
> All the logic is contained in UninstallDropTarget
> Also fixing a bug were mWaitingForResume was not cleared
Bug: 34692289
Change-Id: I617475ce53062902d6817954fb608198e6e03d3c