Previous patch Ia4ccc59ca27e560e470122d1b2c6c1eccb4caf9a was
reverted due to a weird behavior around folder name editing
with virtual keyboard.
Also, requestFocus() on doneEditingFolderName() did nothing
because the folder itself didn't get the focus at that point.
This CL addresses these issues:
- no change on the descendant focusability. Folder itself is
focusable before its descendants.
- customize Folder.focusSearch(), so once the folder is focused,
further focus cycle moves among its descendants.
- Folder requests its focus when it appears. Without this,
the first arrow-key after opening a folder by touch moves
the focus to the folder itself, which looks like nothing happened.
Bug: 22562679
Change-Id: I04375bd4cb69d463b9a95bebafa9c60142e95daa
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
> Renaming Lmp to Lollipop
> Lollipop_MR1 instead of directly using 22
> Using M APIs directly instead of reflection
Change-Id: I10a307f46e3be15b3299f549a2fd7e0e215a6a1b
- This refactoring ensures that LauncherStateTransition does not
do its own animation on the QSB, and that all animations to the
SearchDropTargetBar go through its own animators.
Bug: 22515084
Change-Id: Ia7d13c44d861eac7517076b52a9651a90911ed0a
> Sometimes a folder gets rearranged, without updating the model,
like when an app in uninstalled. In that case, we need to update
the icons for folder items, which were previously hidden
Bug: 22813360
Change-Id: I99754911c969bf2153efb2948c226c1c69219b88
> Using View property instead of strings to avoid extra reflection step
> Using ViewPropertyAnimator when several properties are being animated
Change-Id: I41625643b38b70bac11e2c81d18058ec878d73bd
> When two animations are running simultaneously, getOutlineProvider does not
give the correct provider
Bug: 22166935
Change-Id: I54c9bcd8cf42dd130949ea98e87c77389c02d00f
> Changing dragObject to ItemInfo
> Removing dropPos which is always null
> Removing requiresDbUpdate which is only used in CellLayout
Change-Id: I753ddaae0880c8a9bfee5a1266095ff34610284a
-> Pulling out the parts of device profile which can (and need to be)
initialized and accessed without access to an Activity context,
ie. the invariant bits.
-> The invariant bits are stored in InvariantDeviceProfile which is
initialized statically from LauncherAppState.
-> The DeviceProfile contains the Activity context-dependent bits,
and we will create one of these for each Activity instance, and
this instance is accessed through the Launcher activity.
-> It's possible that we can continue to refactor this such that
all appropriate dimensions can be computed without an Activity
context (by only specifying orientation). This would be an
extension of this CL and allow us to know exactly how launcher
will look in both orientations from any context.
Sets the stage for some improvements around b/19514688
Change-Id: Ia7daccf14d8ca2b9cb340b8780b684769e9f1892
> Fixing some RTL errors by specifying both marginStart and marginLeft
> Moving all layout direction checks to Utilities
> Explicitely adding @TargetApi before every method
Change-Id: Ibe9c52b93b5a6adeadb27ace2b312770fd732ea0
> quantum_panel_shape is xml rectangle with no margin
> quantum_panel_bitmap is 9-patch drawable with inbuild shadow and margin
> quantum_panel uses xml-shape for lollipop and 9-patch image for lower
devices. It includes margin. For shadow, use elevation on lollipop
> All drawables have _dark variant
> Using #f5f5f5 for panel background, instead of #ffffff
Change-Id: Ia7c6cea6d514ee3774fcf5fef6139650bdd53208
1) Setting different icon and text size for workspace and all apps
2) Setting padding during BubbleTextView inflation
Change-Id: I59da6986b0d98e8e2aa6065743bb799a6bf06a37
> Do not allow empty cells on the last page to be click targets
> Make drop targets accessible
> Do not close folder on tap outside
Change-Id: I7cae20e45097092f41408b888e20b6c40c17d981
> Moving DragAndDropAccessibilityDelegate to a separate class
> Using getFocusedVirtualView() instead of using DownX and downY
> Updating various accessibility strings
Bug: 19776741
Change-Id: I85c2551d4d6172c30702e68f41b114bb999655b6
> Splitting DeleteDropTarget into delete and uninstall
> Showing UninstallDropTarget for app shortcuts on workspace
> Showing InfoDropTarget only when developer options is enabled
Change-Id: I4396571d2199d1581bb9c733aef88ab9b0ebd79d
The current drag-n-drop model assums that when a folder is open
it completely covers the folderIcon and its not possible to drop
anything on the icon. But its not true when a folder is in the
hotseat.
> When DnD finishes revert folder to the normal state
> Ensure that only one folder is open at a time
> Prevent folder icon from moving when the folder is open
Bug: 13646281,14680549
Change-Id: I016a4c3f0d9b57c388eaa28f40df9e7b7bbab5fc
> folder name alingment
> scroll hint direction
> Fake animation direction for icons changing pages
Change-Id: Ia17ab2861a6d72c876806427e2de1682976b7671
Elimates 304 methods based on dex analysis
The java compiler generates sythetic accessor methods for all private
fields, methods and contructors accessed from inner classes. By marking them
package-private and @Thunk instead, sythentic accessor methods are no
longer needeed. These annotated elements should be treated as private.
Change-Id: Id0dc2c92733474250d8ff12fa793d3a8adeb1f26