Bug: 379606516
Test: Verified locally that these logs show when hard-coded to appear. Also verified that normal usage doesn't cause crashes.
Flag: EXEMPT bug logs
Change-Id: Iadc67f4a063f5924c758468c6b227b23368fc192
When a workspace item is removed, launcher currently shows a Snackbar which contains a message saying "item removed". This renders the a11y announcement in DeleteDropTarget#onAccessibilityDrop redundant since it's saying exactly the same string.
Bug: 378032433
Change-Id: Iaf3b42404ecd382b1ee15f670cc4ebe0124218d2
Test: manual
Flag: EXEMPT bugfix
This reverts commit 556db6df04.
Reason for revert: Droidmonitor created revert due to b/379322118. Will be verifying through ABTD before submission.
Change-Id: Iece717248c63b3b8dabcdf1c413309d24f51c37f
When a workspace item is removed, launcher currently shows a Snackbar which contains a message saying "item removed". This renders the a11y announcement in DeleteDropTarget#onAccessibilityDrop redundant since it's saying exactly the same string.
Bug: 378032433
Change-Id: I6eda4bb449f1d1fd4441a68b3129b0ab2d2c19a3
Test: manual
Flag: EXEMPT bugfix
Previously, app pairs and folders shared a common data model, FolderInfo. Now we need to separate them, so a new type, CollectionInfo, will serve as the parent of both types.
Bug: 315731527
Fixes: 326664798
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, unit tests to follow
Change-Id: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
Originally there was a bug in a method (isTextClippedVertically) in ButtonDropTarget. While attempting to write a unit test it became necessary to refactor ButtonDropTarget and DeleteDropTarget to decouple them from their dependency on launcher in order to allow for a unit test to be written
The pattern we are introducing here is to decouple Launcher from a controller, in order to facilitate easier testing.
Instead of calling Launcher.getLauncher() we call the method through ActivityContext, which has a testing wrapper already defined. Here is a diagram that explains the old and new pattern
Design Pattern: https://screenshot.googleplex.com/7apiE2DaGDrFzy9.png
Test: isTextClippedVerticallyTest
Bug: b/274402490
Change-Id: I1f3003d0b62dddbceb6e492b15aa5d7352d3a293
When deleting items, the items wont get removed form the database right away to give time for the user to undo the operation if needed.
When rotating the screen the items get loaded again, even those items marked for deletion who hasn't been deleted yet, and because they have the container to NO_ID it cause Launcher to crash.
There is no need to set the containerId to NO_ID because the trigger to finally remove the items gets called when the toast to undo disappears and rotating the screen triggers the toast to disapear. It might be posible for the item to flash in the workspace if it gets render before deleting after rotation but it's so fast that I haven't seen that issue.
Fix: 262199032
Test: Manuall test: remove item from hotseat, rotate device before toast with undo button disapears.
Change-Id: Ia8726941dc81078b49b32565daa32fadf3ae45ba
- 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
In the past we've seen a WorkspaceItem disappeared from the workspace
but wasn't able to determine why it was removed. This CL includes the
reason why it was removed in the error log, which hopefully would help
us debugging similar issues in the future.
Bug: 231239260
Test: make
Change-Id: Iba3d57568c9b3e011a6b65b26f0d4170d42fe1a5
There's a logic which prioritizes the binding for the
current page and defers the other pages' binding.
If two panel home is enabled, we want to bind both pages
together. LauncherPageRestoreHelper has been created to
contain the logic for persisting restoring and calculating
which pages to load immediately.
Test: manual + run LauncherPageRestoreHelperTest robo test
Bug: 174464691
Change-Id: I57ac3f7150303b95b272e922f44bda26f9d5ce2a
Also fix a bug where we logged workspace swipe upon clicking undo, since
rebinding the pages causes us to reset mCurrentPage = 0 followed by
setCurrentPage(pageBoundFirst). Since the page isn't actually visibly
changing, we shouldn't log in that case.
Bug: 118758133
Change-Id: Ie87164a8c7c278680f67dee75657210bd33408a4
We were already returning to the current page, but this wasn't
always right, e.g. when removing the last item on the last page.
So now we mark the page the item was removed from, and bind that
page first when undo is clicked.
This also addresses an issue where we incorrectly returned to the
first page if currentPage = INVALID_RESTORE_PAGE, which happens if
there are no items on the first page.
Bug: 118846684
Change-Id: I4ec1f64b24ba1cc308ce08bfb3111b5981fae99b
- Add methods to ModelWriter to prepareForUndoDelete, then
enqueueDeleteRunnable, followed by commitDelete or abortDelete.
- Add Snackbar floating view
- Show Undo snackbar when dropping or flinging to delete target; if the
undo action is clicked, we abort the delete, otherwise we commit it.
Bug: 24238108
Change-Id: I9997235e1f8525cbb8b1fa2338099609e7358426
Also fixes a bug where DeleteDropTarget was logging Remove instead of
Cancel.
Bug: 78793340
Test: Enable verbose logging and manual test
Change-Id: I0f0cfff070eab003ebb745292630bc6ce3243f4d
> Removing AppInfo target
> Switching between uninstall and setup based on the drag view
Bug: 63931362
Change-Id: Iccd6f965fa3d61992244a365efc242122292c0ca
> Removing static access to varios drop targets
> Creating a cache at UI level with 5sec timeout
Bug: 67104426
Change-Id: Ide6e2e0c01606f9b5fb9281f95dc009873c18fb9
This can happen on small devices or on devices where Font/Display size
is enlarged and when Developer Options is turned on when all three
options {Uninstall, Delete, App Info} are shown at once.
Bug: 64391860
Change-Id: If355d28087d53148114eb586efb3c26f158b3713
> Fixing DrapTargetBar set to visible (with alpha = 0) in the start
causing unnecessary draw
Bug: 37616877
Change-Id: Iaaff96099910f504f6e2f81c9376ddacde50ff6a
> Moving all fling related logic to FlingToDeleteHelper from DragController
> Removing fling related methods from DragSource and DropTarget
> Moving fling animation logic from DeleteDropTarget to FlingAnimation
> Simplifying DropTargetBar to directly look for all valid drop targets.
This makes it easier to add new DropTarget in xml.
Change-Id: I7214d2d30c907ab93c80d92d9f9be6dda2d63354
1) Adding DragOptions to easily extend drap functionality
2) Changing onDragStarted signature to send more information
3) Updating states for dropTargetButton based on drag event directly
4) Removing folder item based on onDragStarted and not startDrag
Change-Id: I65b684e092ddc081d086bfe2c8c1973ed170eaeb
-> Created com.android.launcher3.folder package to house most folder-related files
(aside from the FolderInfo) which is more related to the model than the UI.
Change-Id: I767063e1e4c775c01a799a3bede30cd94ac48ade
- Reuse DeleteDropTarget since it's the same effect, but with "Cancel"
instead of "Remove" if supportsDeleteDropTarget() returns false.
- Rename related strings (but not their values)
Bug: 24104015
Bug: 24099531
Change-Id: Ia9fbcaa17bb17f7aa31df1f830298da01544c178
1) Use a different content description for temporary new page
2) Use different accessibility description for add widget toast
3) Announce when an item is deleted
4) Announce when hovering over a drop target
5) Announce state during drag-n-drop and widget resize (similar to seekbar)
Bug: 23573321, 24057944
Change-Id: Icabb317625e70c78e11c0b4f99b9339172d93594