Commit Graph
232 Commits
Author SHA1 Message Date
Jon Miranda 51f037d674 Refactor edge of screen detection code.
There were two resources that both defined the edge of the screen.

Change-Id: I82ab553cc3123ef54ff1f0c692d29f3678ad04ac
2016-11-07 10:11:49 -08:00
Jon Miranda c3e4e228b1 Remove unused code in DeviceProfile.
Change-Id: I463302e6711ad39241257b8dff058d9f3e99d883
2016-11-02 16:56:52 -07:00
Sunny Goyal 2a65020da1 Removing the section break UI support
This was an exploration for an alternative UI in all apps, where we
show section headers before every section. This was never released.

Change-Id: I2d36f1d078cc9a6f3ba6f0ec9655412182c9b016
2016-10-13 09:39:36 -07:00
Sunny GoyalandAndroid (Google) Code Review f8fa9e4124 Merge "Simplifying fast scroller logic" into ub-launcher3-master 2016-10-11 22:09:48 +00:00
Sunny Goyalandandroid-build-merger 802f3255a7 Updating the folder cell dimensions to be closer to a square
am: 68f240eb54

Change-Id: I68047a8eba8b3a0c8117fedbc45b6100dd04b023
2016-10-10 21:17:28 +00:00
Sunny Goyal 5d9fb0e92f Simplifying fast scroller logic
> Using a separate view for drawing the popup. This allows us to use elevation
  property instead of drawing the shadow as bitmap.
> During the thumb animation, invalidating the full track width, instead of
  invalidating the track and thumb separately.
> The thumb path is calculated at 0,0 and drawn using canvas.translate().
   This avoids recalculating the path on every scroll.

Change-Id: I48741e5b4432df0d939016db284d7aaf52cc2aa6
2016-10-10 14:17:16 -07:00
Sunny Goyal 68f240eb54 Updating the folder cell dimensions to be closer to a square
Bug: 31813976
Change-Id: I05d7520daee28a310ff122deaf265951e454d21e
2016-10-07 13:36:56 -07:00
Tony Wickham 10236d6ac7 Update pre-drag lifecycle for apps with shortcuts.
- First of all, deferred drag has been renamed to pre-drag
  to avoid confusion with the existing deferred end drag.
- For normal drags, the cycle is still startDrag -->
  onDragStart --> onDrop --> onDropComplete --> onDragEnd.
- Pre-drags have two additional callbacks: onPreDragStart
  and onPreDragEnd. onPreDragStart is called between
  startDrag and onDragStart, and onPreDragEnd is called
  at the same time as onDragStart or onDragEnd.
- If the pre-drag has not transitioned to a full drag before
  onDragEnd, onDragStart and onDropComplete are skipped
  (onDrop is still called to allow the DragView to animate).

Change-Id: Icd7a8f75d5fcc159f9a52758c22ab6eae3edb9e2
2016-10-04 12:26:35 -07:00
Tony Wickham 0bc9e98d78 resolve merge conflicts of 9311387 to ub-launcher3-master
Change-Id: I449cd2c91c2906f04ebf844eab2d02befaeb2f4d
2016-09-28 14:40:28 -07:00
Tony Wickham 9311387a22 Enable light status bar when top of wallpaper is light.
(Light status bar = dark icons)

Bug: 29452834
Change-Id: I9f61a05d80158827761c8b62ab40fc50971e27a6
2016-09-28 14:16:11 -07:00
Jonathan MirandaandAndroid (Google) Code Review aff85503f0 Merge "Ignore long clicks triggered from the edge of screen." into ub-launcher3-master 2016-09-27 02:43:53 +00:00
Jon Miranda aca2145f2a Restore AllAppsContainerView UI to match spec.
Did some refactoring with Sunny's help.

Change-Id: Ie4c90c316f1e381829836e11c83eaaedfed4d621
2016-09-26 16:45:10 -07:00
Jon Miranda 379198ef5b Ignore long clicks triggered from the edge of screen.
Bug: 31572404
Change-Id: Ie531941669549ce84b92302b95be94555ee0bb73
2016-09-26 16:37:59 -07:00
Tony Wickham 6e74e899d3 Refactor shortcuts drag and drop.
- Instead of creating our own drag view within the container, and
  handling logic to determine when to start a real drag, we start
  the drag immediately and just defer onDragStart().
- To determine when the deferred drag should start, we add a
  DeferDragCondition to DragOptions. The default DeferDragCondition
  never defers a drag, but is overridden for apps with shortcuts
  to defer until the icon is dragged a given distance.
- Because the drag is handled in DragController, including checking
  when to start the deferred drag, DeepShortcutsContainer no longer
  needs to handle touch events and ShortcutsContainerListener has
  been removed.

This change has several immediate benefits:
- The code is much cleaner, because it allows touch handling to be
  done by the DragController through the normal drag flow, without
  recreating logic in ShortcutsContainerListener/DeepShortcutContainer.
- The janky second haptic feedback has been removed (now it vibrates
  when you long press, like everywhere else, but not again when the
  shortcuts close after dragging a distance).
- Drops are animated, instead of just popping the icon back into place.

Bug: 30769920
Bug: 30465972
Bug: 31533078
Change-Id: I679b412b72fbf6c3895d76963311eb5010c8e8db
2016-09-23 18:44:47 -07:00
Sunny Goyal baec6ffae2 Updating the paddings in folder cell
> Updating overall padding for the cell and adding drawable padding
> Ensuring that the folder cell is always rendered properly based
  on available vertical space

Bug: 30605958
Change-Id: I8ceb9fea5a25052b0d7461f52edca0e6a33fa085
2016-09-16 12:05:02 -07:00
Hyunyoung Song 016eaeea99 Change all apps caret target bounding box
b/30400751

1) This also fixes the issue of apps drawer sliding up when page is swiped
horizontally immediately above the hotseat area.

2) Disclaimer: this should be cp'ed to calgary.
Hence, I tried to keep the diff small. Ideally, CaretDrawable animation
handling should move to AllAppsHandleImageView via refactoring in
follow up CL.

Change-Id: I4d808ee2eeca53b40c0b4e4e0e364fef056e26c3
2016-09-07 14:45:09 -07:00
Tony Wickham e04a07f6ac Ignore clicks on shortcuts' drag handles.
When touching down within the drag handle's bounds, we remove the
onClickListener temporarily (restored when touching down outside
of the drag handle's bounds). Long clicks still start the drag.

Also increased drag threshold from 12dp to 16dp.

Bug: 30816665

Change-Id: I0b33dc34bf95c0532376f2f7cf50865fa50093de
2016-08-15 14:02:08 -07:00
Tony Wickham 598e184352 Reduce distance to start deferred drag from shortcuts to 12dp.
Change-Id: Ida298760bb66b5894dab94ff4ccaa788c8604661
2016-08-04 15:38:26 -07:00
Tony 780c926db5 Match updated redlines for shortcuts.
- Align shortcut icons with original icon.
- Drag handle is lighter and smaller.
- Shortcut pills are slightly wider to accommodate long text.

Bug: 28980830
Change-Id: I8e9709e3cbdb9df86a805a4b63a696975c61df5a
2016-07-26 17:54:02 -07:00
Tony eec1f9a839 Add arrow view to deep shortcuts container.
- We create a trangular path, which we use as the view's
  outline (for the shadow) and as its PathShape background.
- We scale up the arrow as the container opens.

Bug: 28980830
Change-Id: I71e566552f063dfdb69067bb7e3cee659988f934
2016-07-26 17:10:05 -07:00
Winson 6231ede10c Matching hotseat to spec.
- Fixing regression in hottest folder background getting clipped
- Ensuring that the padding is correctly applied in vertical bar layout
  to match workspace

Bug: 30021487
Change-Id: I09bce21829867f4bd4e50646e565959421e4984c
2016-07-20 17:21:55 -07:00
Peter Schiller 03340309e2 Caret background protection
Change-Id: I5f902a3977677e7848932a6a60992a62f1638e39
2016-07-20 14:27:23 -07:00
Winson 1f06427266 Initial changes to tweak layout.
- Adding DeviceProfile callback for when the launcher layout changes due
  to insets.  This is necessary since there are now different layouts
  depending on which side the navigation bar is on
- Consolidating hotseat and other layout into the device profile 
  launcher layout logic
- Making the all apps icons match the workspace icon height
- Tweaking caret drawable to draw to the bounds specified to simplify
  layout in each orientation
- Fixing minor issue with page indicator shifting in landscape
- Centering overview buttons to the workspace page

Bug: 30021487
Change-Id: I1866bce00b2948f3edd06168c0f88d81207e3f13
2016-07-20 10:17:08 -07:00
Tony Wickham 8f58e61d02 Update shortcut animations.
- Open animation: shortcuts reveal using modified circular reveal
  (so that it reveals in the pill shape instead of a circle);
  slight translation away from the original icon; scale icon and text.
- Hover animation: scale the shortcut pill and translate others away.

Bug: 28980830
Bug: 30127368
Change-Id: I8ed05c7a082f2c2a3f6c663da7259f6cd33e394f
2016-07-19 13:58:51 -07:00
Peter Schiller a30b51ceb2 Adding stateful caret drawable
Change-Id: Iba30da09f882297f789c405f932fef10617bba89
2016-07-14 17:22:49 -07:00
WinsonandPeter Schiller b655b88500 Cleaning up scrollbar logic to properly calculate stable extents.
- Removing old logic which assumed that views were the same size,
  especially now we can have variable dividers, etc.
- Simplifying old scroll position logic.
- Removing unnecessary prediction icon layout (same as normal icon)

Bug: 30023608
Change-Id: I39e1126fa586a76a9bdd3ff38cd6e360ac3021e6
2016-07-12 12:16:26 -07:00
Peter Schiller c2a20ff0a8 Consolidate all the dividers to provide same look and feel
Bug: 30017936
Change-Id: I072cb116dba1df555a63f3f67b730f7f9c3a235a
2016-07-08 15:02:03 -07:00
Peter Schiller 243ad3dbf8 Updating alignment of search input
Bug: 30017936
Change-Id: I2f68711762872bc100b41b2b4768d33e2c0cd902
2016-07-07 18:52:51 -07:00
Peter Schiller 310a988993 Updating all apps to match spec
Change-Id: Ie351fdea2e3b05ca911e6533f0c5d00c17e0847c
2016-06-30 18:09:51 -07:00
Tony Wickham 1bce7fd342 Long-press on an app to reveal its shortcuts.
- 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
2016-06-29 17:48:46 -07:00
Hyunyoung Song eac1dac239 All apps pull up work
b/28917826
b/29469966
b/29542376

- Move state transition to when the finger is lifted and not when
the view settles.
- Refactor the vertical pull detector to use bit operation to define
which direction scroll to allow.
- Fixed many issues regarding screen rotation
- Fixes issue where slowly sliding the all apps goes into overview mode
- Fixes issue where quick slide up leads to animation starting from middle

Change-Id: I2384a0fcc5550e17359a044ef506bcc66507da5f
2016-06-21 16:37:13 -07:00
Hyunyoung Song 7d2fc8120e Add caret shaped all app pull up handle to page indicator.
b/28917826

> PageIndicator is also added in landscape
> Touch delegate allows the active touch area to be 36dp

Change-Id: If00f45fc88a13cd5a6759d771313439eb58561e3
2016-06-15 12:51:30 -07:00
Sunny GoyalandAndroid (Google) Code Review fb94f485ee Merge "Replacing overview panel icons with vector drawables" into ub-launcher3-calgary 2016-06-13 22:24:16 +00:00
Sunny Goyal 47328fd53f Removing the SearchDropTarget bar as it no longer contains the QSB
> 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
2016-06-06 16:15:46 -07:00
Sunny Goyal e7d7304fcb Replacing overview panel icons with vector drawables
Change-Id: I3ca6662a75ba8b07e817a7a5681ede79d305c41a
2016-06-03 11:21:47 -07:00
Sunny Goyal 6a4e02642a Removing some usused resources
Change-Id: Ib11db872270931f956ba7093e472c866a1b0e794
2016-05-18 19:57:00 -07:00
Sunny Goyal c64cfdd8fa Updating the folder page indicator to be more like the
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
2016-05-18 17:50:34 -07:00
Sunny Goyal 13178ac822 Adding an upper bound to all-apps width on larger devices
Change-Id: I16a0d8fb7c5023045d0a6b9e8089e0ab6a476d6d
2016-04-04 16:35:47 -07:00
Tony Wickham 855b1b5fff Add distance threshold for dragged items before accepted by targets.
With the new spring-loaded workspace, items are often very close to
button drop targets (e.g. App Info) at the start of a drag. This
threshold makes it less likely to accidentally drop on a target.

Bug: 24099531
Change-Id: I4912ceeb0b63958816177c7bde073e825176d987
2016-03-29 12:41:14 -07:00
Sunny Goyal 05c8c57fa7 Removing dependency on LauncherCallbacks for getting the search bounds
> Instead of handling insets in BaseContainerView, directly applying
  them to margins, as that scpace can't be used for scroll handling
> Appliying the top and bottom padding in xml
> The left & right padding is defied in xml which is reused for scroll
  handling

Bug: 27108154
Change-Id: Ia32e6d5e8fd1bfafb1d77d1244ce2268e4da9df9
2016-03-17 11:57:39 -07:00
Tony Wickham 95cdb3a021 Remove scrim on highlighted spring-loaded panel.
Bug: 27135377
Change-Id: I470955ed082a45ae7dc5f8fdd1f3decb2b573dbc
2016-03-16 11:09:09 -07:00
Adam Cohen 119e8982ab First pass at new FolderIcon visual treatment
-> Modeled as a set of items around a circle
-> Modulate the radius and icon size as number of items grow
-> Clip the icons by a circular clip aligned to the background drawable

Remaining issues
-> Probably want to move to a programmaticly drawn circle + shadow
-> Anti-aliasing of the clipped region will need more attention
-> Need to animate all items in the preview as it changes (this
   wasn't required before)

Change-Id: I678ec605f6c8a34e9d7e4aec4e9583e36a9ef394
2016-02-17 10:41:46 -08:00
Sunny Goyal 7c50b31f57 resolve merge conflicts of 3826bab27e to ub-launcher3-calgary.
Change-Id: I14ff2d67de4ba97628bdf651602724f9f4989173
2016-02-10 12:27:51 -08:00
Sunny Goyal 0ac7ede56a Merging search bar with all apps
Change-Id: I78577124cd3c05d52669c3e52b0294d6eb1d194d
2016-02-08 14:55:22 -08:00
Tony Wickham c32c63c46e resolve merge conflicts of b9759d399b to ub-launcher3-calgary.
Change-Id: I66230c15e5eaeef316d4e2f14b85c6ff1b6e977d
2016-02-01 14:51:35 -08:00
Tony Wickham 8a75806c1a Add extra space for the search bar.
Also fixed a broken test.

Change-Id: I1c270e69617528ea30f0e26a2101673e9b9fa63c
2016-02-01 14:15:37 -08:00
Tony Wickham 0f97b7874f Added config_springLoadWorkspace to enable/disable spring-loaded workspace.
- Added side hints back
- Only scale down icons if spring-loaded
- Only show App Info drop target if spring-loaded

Change-Id: I4b0dddccbe0e80b7ceb6b7266fc527f757744148
2015-12-04 14:56:54 -08:00
Tony Wickham c1ff24c077 resolve merge conflicts of a3c74d10a7 to ub-launcher3-master.
Change-Id: Ibeb2499ac278e4094a2922501cfffad2489e58ed
2015-10-30 10:37:43 -07:00
Tony Wickham a3c74d10a7 Setting correct height for search bar widget options bundle.
- Seperate search bar height from its top and bottom paddings
- Report this height plus 8dps top and bottom for the widget options
- Use a separate bottom padding to adjust spacing between QSB and
  the workspace
- Add tests to verify the height of the search bar in both normal and
  tall modes (ran on Nexus 6, 7, and 10)
Change-Id: Ia7557785d1b38194eee869d0460456e8f33447d5
2015-10-29 12:18:28 -07:00
Tony Wickham a72f49cfc4 resolved conflicts for fa3c369c to ub-launcher3-master
Change-Id: I6bfc3d3b731a414060d86d4f1dfc5480c279edc9
2015-10-09 10:05:56 -07:00