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
This mode has the remove icon on the left side, so flinging to the
left makes more sense. But flinging up still works in either case.
Change-Id: I7ab40776b67659026f03f81efd43fae3375b5ba0
- Also fixing case where the all apps button to search for more apps
was not focusable
Bug: 20639227
Change-Id: Ie4d9092e654d3cafc0eb346b3bb744ec3e295e92
- Routing the various places where we call through to delete from
LauncherModel through Launcher, which will delegate the removal
of the icon from the workspace, and properly handle the removal
of all items and their contents from the db.
Bug: 23944119
Change-Id: I022fe2b3e79da16b5af87505c4362490b8422686
This is per an earlier CR comment "we should probably move all this code to its own package (launcher3.dragndrop) in a separate cl".
I'm not moving DragSource because it's referred from gsa code.
Bug: 22609426
Change-Id: Ia7204dab99c0c395c66b77143a2d60411153f5f3
> Changing dragObject to ItemInfo
> Removing dropPos which is always null
> Removing requiresDbUpdate which is only used in CellLayout
Change-Id: I753ddaae0880c8a9bfee5a1266095ff34610284a
> No more flickering when crossfading between two bitmaps in small duration
> Allows us to control the color directly without depending on the assets
Change-Id: Ie7ed8bb94baf560e9b939cca624ed1bad457732c