b/29931405
> Also some method names to setTranslation -> setTranslationAndAlpha to
match its implementation.
Change-Id: Icb6ec5df8a267a9024803c70a694ea9b76e5e34d
Since the page's accessibility flag is updated when entering
drag mode, it does not need to be updated on state change
Bug: 29581071
Change-Id: I1a876b4e8530601cb9bf25d097ea37780b525610
- Add ShortcutsContainerListener to icons on workspace, folders, and
all apps. This handles long-press and forwards following touches to
the DeepShortcutsContainer that is created.
- Drag over shortcut before lifting finger to launch it.
- Shortcuts are rendered in pill-shaped DeepShortcutViews,
which are inside DeepShortcutContainer on DragLayer.
- The shortcut container orients above or below the icon, and left or
right-aligns with it. Biases for above + left-align.
- Long press a DeepShortcutPill to drag and pin it to the workspace.
Bug: 28980830
Change-Id: I08658d13ae51fe53064644e8d8f7b42f150fdd7d
> Hotseat alpha is changed by all-apps controller, workspaceStateTransition
and overlay transition. Created a 3 state alpha for hotseat and pageIndicator
> Simplified the page-background and alpha animation during state transition
by moving the code in the same if block
> Disabling partial page fading when pull-up all apps is enabled. This fixes
the bug when pressing home with all-apps opened causes other pages to disappear.
Change-Id: I4a75b89af12b48e9fbc49514e641fd424d07199c
> Adding custom actions on the page indicator to go to overview mode
> Disabling custom actions on the first page
> Disabling 'move page left' on the second page
Change-Id: Ib8154f70cb3f93e663a881357c6c46c33253887f
- This CL has no UI but provides the necessary backing for one.
- Adds new item type: ITEM_TYPE_DEEP_SHORTCUT, to distinguish from
ITEM_TYPE_SHORTCUT. We can reconsider these names.
- Adds ShortcutCache, using LruCache for up to 30 dynamic shortcuts
(pinned shortcuts are always cached in a HashMap).
- DeepShortcutManager queries for shortcuts and other things like
pin them. In a future CL it will use the cache, but for now it
simply makes an RPC for all queries.
- LauncherModel maintains counts for pinned shortcuts, pinning and
unpinning when counts reach 1 or 0, respectively.
- LauncherModel maintains a map of components to lists of shortcut ids,
which Launcher gets a copy of after it is changed in the background.
This will allow us to know how many shortcuts an app has immediately,
and query for details as the UI is animating.
Change-Id: Ic526f374dd10d72a261bae67f07f098fca8d8bca
b/28917826
> PageIndicator is also added in landscape
> Touch delegate allows the active touch area to be 36dp
Change-Id: If00f45fc88a13cd5a6759d771313439eb58561e3
> Renamed the id of 1st screen to 0 and making space for the QSB
by running the grid migration task.
> Added a feature flag to easily disable the QSB-in-workspace behavior
Change-Id: Ie3369f0d4433d916e9d6215d414770d4333f3e26
> Renaming it to simply DropTargetBar
> Moving AppInfo to the top bar as well
> The workspace pages will extend to the top edge (minus some padding).
Since the QSB is no longer displayed on top of every page, there is
no reason to reserve the space.
> In spring-loaded mode, the workspace cell layout will scale enough
to make room for the drop target bar at the top
Change-Id: I2baf607310335dd576c9d9fcbb75ab708f47ac03
- Stop showing indicator when resuming or ending transitions.
- In spring-loaded mode, prevent page indicator from auto-hiding.
Change-Id: I87070d2d8f46cf491e60380aed5540196f2fbba3
The QSB will only be resent on the first screen of the workspace
covering the full width of the first row. If will not be movable.
The first screen of the workspace will not be movable.
The searchDropTargetBar no longer contains the QSB (it can be
renamed in aseparate cl).
Refactoring all QSB related logic by moving it to a custom view
inflated only using xml.
Change-Id: Icb4fd6eb855df1af15f685961c38351bf4fd4f4a
framework page indicator (used in quick settings)
The active page is indicated with the accent color. During scroll
the active indicator expands to 2 dots corresponding to the visible pages.
Change-Id: Iaf57836b642cf87e5eed98048ecca7dd8e7643a4
- The current PageIndicator has been renamed to PageIndicatorDots
and PageIndicatorMarker has been renamed to PageIndicatorDot.
- PageIndicatorDots and PageIndicatorLine implement PageIndicator.
- PageIndicatorLine uses scroll progress and number of pages to
draw a line of the correct size and position.
- All of these page indicator files are now in a pageindicators package.
Bug: 27227498
Change-Id: I9230d2e0600ce583989bd31d0b0e252b148d15c2
LauncherAppWidgetInfo is a model item and does not need to reference
a view. Removing this dependency will allow cleaning up the
item unbinding logic
Bug: 28740269
Change-Id: I11fc2e2500b8fe29d157eefe74c70b1decdfd08d
This makes the pinch transition more consistent with other transitions.
One immediate benefit of this is that it updates adjacent overview
panels during pinch, regardless of whether they are completely visible.
Previously the adjacent panels' alphas weren't always reset to 0.
Specifically, if you made a small pinch from workspace, which
canceled and went back to workspace, adjacent pages retained a
slightly visible panel.
Bug: 27676309
Change-Id: I7e79fddec31cd649e0811e4524b9a9a501c627f9
b/26494415
- Removed bundle object that became redundant now that we have LauncherEvent proto
- Combined Stats and UserEventLogger as they are effectively doing same thing
- Removed parent field inside Target
- added predictedRank target inside Target
b/27967359
- make com.android.launcher3.action.LAUNCH broadcast explicit
Later CL: finish packageName/intent/componentHash/predictedRank fields
Change-Id: I441fb46c834f73e58a4d2324e8da7971e8713ec8
> Removing parent from ItemOperator as inconsistant values were
being passed in workspace and folderPagedView
> Fixing itemChanged causing multiple redraws, by passing a
'animate' parameter to explicitely request animation
Bug:27740161
Bug:28015426
Change-Id: Ide7b266bde9aad5f450a3f808a59182fe01a5110
-> Don't reuse the same background object for the folder create preview
since this can cause interruptions in the animations for previous
creation previews.
-> When drawing the background to preview creation, don't draw the stroke
above the icon since the icon is not yet contained by the folder.
Change-Id: Ib666dc2453df465b342c02f3bd109b553a769dcc
> When package gets unavailable or suspended, the disabled flag was getting
updated on the UI thread. This could lead to inconsistent model if launcher
activity didn't exist.
> Fixing: When unsuspending one work profile apps, all work profile apps get
unsuspended
Bug: 27673573,27673373,27403236
Change-Id: I7fde3f79c36204e73ca66ccf8431fa0f0cce3d08
Widget is loaded only when the user enters the overview mode and we keep
the list updated as long as the user is in the overview mode. Once the user
leaves the overview mode, we stop responding to widget updates
Bug: 26077457
Change-Id: I9e4904b8f1300bfe0d77e2bc5f59aa6963fad8d1
There are 3 classes coordinating the gesture: PinchToOverviewListener,
PinchThresholdManager, and PinchAnimationManager.
- PTOL listens for the pinch gesture on DragLayer.
- When a pinch is detected, the PTOL keeps track of the interpolated
progress and passes it along to both the PTM and PAM.
- The PTM uses the progress to determine whether a new threshold has
been passed, and tells the PAM to animate it if so.
- The PAM uses the progress to animate things like workspace scale
throughout the pinch.
- If the pinch ends early, the PTOL uses the last passed threshold to
determine whether to animate to workspace or overview, and tells
PAM to perform the animation at the same velocity as the pinch.
Bug: 24414635
Change-Id: I9e53706c705f8b2982409bf7c223d8d0e9618bf0
-> Refactored the preview background rendering to be much more self-contained.
This cleans up a lot of code in the CellLayout, and keeps the logic in the
right place.
-> We switch to software rendering for performance and compatibility reasons.
-> Removed all assets.
-> FolderIcon accept animation includes animation of the clipped region.
-> 1:1 hand-off of drawing of the FolderIcon background between the FolderIcon
and the CellLayout. Unfortunately, CellLayout rendering is still required
to work around clipping issues (due to use of software layer). We also
need this to support folder creation feedback.
Change-Id: Ib8f7fa6359dfedff8145f38dd50ba03849ca0d51