Commit Graph

258 Commits

Author SHA1 Message Date
Tony
acaf5b3a37 Remove gap between popup items
- Unround interior corners
- Update colors (shortcuts are gray when next to
  notifications, notifications always white)
- Clean up animation to animate entire popup with
  simple reveal instead of individual items
  animating with reveal and icon scale

Bug: 35766387
Bug: 36110804
Change-Id: I33685d53e2db3904731676123dc230be4dabb5d4
2017-05-31 15:11:43 -07:00
Jon Miranda
896e71a859 Update FolderIcon preview to be 1dp bigger (stroke) than other
shortcuts.

Bug: 38338424
Change-Id: I2e9cdb2285e97e9d899eda13947bedb40d6fbcb2
2017-05-24 12:15:24 -07:00
Sunny Goyal
8b6ac00a1b Adding an option to change the shadow size
Change-Id: I8ec810c5cf06852771247af5f1d717f41079c4f5
2017-05-17 13:43:45 -07:00
Sunny Goyal
dc19a07aba Adding support for top padding in BaseRecyclerView. The scrollbar is
drawn below the top padding.
Also adding callback for getting the all-apps vertical pull range
so that it can be controlled by SearchUiManager

Bug: 37616877
Change-Id: Ib4642073f3e92f6676caede3bddd652fda89c86f
2017-05-15 14:14:04 -07:00
Tony
e37d2b9f32 Merge "Visual updates for popup" into ub-launcher3-dorval
am: 5cfde85cb6

Change-Id: I4e97cb52054b5c5ff467f3481b92730f6f9a3e8e
2017-05-10 01:19:41 +00:00
Tony
0b8a6fe532 Visual updates for popup
- Update some dimens
  - Increase left padding for shortcuts
  - Adjust arrow and notification ellipsis offset accordingly
  - Align shortcut dividers to be same width as text
  - Notification text 14sp instead of 15sp
  - Increase width of popup by 12dp
- Shortcuts text 87% black instead of 54%
- Arrow has same color as attached side, so takes on header
  gray instead of white when appropriate

Bug: 37753827
Change-Id: I0844b85995f22218a3b7e605e1653cceaed6cda1
2017-05-09 20:02:23 -05:00
Sunny Goyal
da1dfa32d0 Creating a custom drawable to customize shadow.
> Fixing DrapTargetBar set to visible (with alpha = 0) in the start
causing unnecessary draw

Bug: 37616877
Change-Id: Iaaff96099910f504f6e2f81c9376ddacde50ff6a
2017-04-27 05:35:28 -07:00
Sunny Goyal
d519052281 Separating top and bottom paddings for the hotseat
Bug: 37616877
Change-Id: I2f187576c28d62f9bb8257c9b9295edb7a8e44c0
(cherry picked from commit 751e41eb66)
2017-04-26 06:00:21 +00:00
Tony Wickham
1237df0a7c Update icon badges to match spec
- Size defined as percentage of app icon size
- Width changes when there are 2 or 3 digits (round rect)
- Offset slightly away from the app icon
  - Had to move drawing to BubbleTextView instead of
    FastBitmapDrawable
- Hide badge when dragging and while popup is open
- Tweaks for some color/text parameters

Bug: 35744066
Change-Id: Ibb15ca634abaa0729aea637c904c4c6889a58c7c
2017-04-25 12:55:02 -07:00
Tony
58292674e5 Slightly round corners of popup arrow
Bug: 35766387
Change-Id: I8d2be54c977074dbcf0d5884f44347edd0217bb5
2017-04-17 10:25:49 -07:00
Tony Wickham
ce44516dd8 Update popup to match redlines
- Update specs in dimens.xml and colors.xml
- Move notification count to top right, and keep "Notifications" in left
    - Also removed NotificationHeaderView and instead use FrameLayout
- Limit to 2 shortcuts instead of 3 if there are notifications
- Use SP instead of DP for text (b/35869307)

Bug: 35766387
Change-Id: I892640933ad6351946af3df6c805b98bb4e7cb50
2017-04-11 16:44:38 -07:00
Tony Wickham
26b1746593 Add support for system shortcuts in popup container
- Currently the system shortcuts are just widgets and app info
- As shortcuts, they live in ShortcutsItemView
- They are populated either as icons only (if there are deep
  shortcuts) or as icons + text
- Widgets are disabled until binding them is complete (we request for
  them to be bound on long-press now). We should revisit this.

Bug: 34940468
Change-Id: Ia51d002c3b3ede87658bdab57abfc3eeca1ed242
2017-03-30 16:35:56 -07:00
Tony Wickham
9407d4ab57 Update notification visuals (part 2)
- Background is now white, and color beneath and divider color
  updated accordingly (not from color extraction)
- Removed overflow text ("+6") and added it to a header
  ("6 Notifications"). Use "..." instead if there is an overflow.
- Even spaced out icons in notification footer between the
  far right icon and the ellipsis
- Remove code to change arrow tint, since it is always white
  now. This also fixes the issue where it was drawn as a rect.

Bug: 35766387
Change-Id: I03bfda4ff029f23dd8b3dd1b72f534ea0e2c0816
2017-03-02 11:27:16 -08:00
Tony Wickham
51889b0be8 Merge deep shortcuts in rounded rect
- DeepShortcutViews are added to ShortcutsItemView, which
  is in PopupContainerWithArrow
- Moved some shortcut-specific logic to ShortcutsItemView
  (namely, touch/long-click handling for draggin shortcuts)
- Moved round-rect clipping to PopupItemView
- Removed collapseToIcon() logic, including
  PillWidthRevealOutlineProvider, which was only used for
  that purpose. It isn't necessary now that the deep
  shortcuts have no background themselves.
- Replaced focus pill drawable with ripple effect on
  shortcuts and notification view.

Bug: 35766387
Change-Id: I6bc09f1851cfbb806df4bf75a6e435b0f1900c9c
2017-03-01 10:16:16 -08:00
Tony Wickham
7f3526a1a4 Update notification view to match newer specs
- Use smaller radius for notifications round rect background
- Remove "Notifications" header, and clip children to round rect path
- Flip main notification so that icon shows on the right instead of
  left; footer is also flipped so animation makes sense
- Clean up animations to animate view outline instead of height

Bug: 32410600
Change-Id: I6bd1e1f8395b3703f28c3b0056a89e67672368ab
2017-02-24 12:09:06 -08:00
Sunny Goyal
519fbdb2b3 Merge "Simplifying some launcher themes" into ub-launcher3-master 2017-02-17 17:53:58 +00:00
Sunny Goyal
1f3f07d47c Simplifying some launcher themes
> Replacing some colors with theme attributes
> Simplifying styles definition by removing unnecessary inheritance and inlining some definitions

Change-Id: Ifa167515cae6a7fd3720f1a52ff9ce11abb4495f
2017-02-16 15:24:37 -08:00
Sunny Goyal
7d87cb1a6e Updating the shortcut preview generation logic
Drawing a shortcut icon on a white round-rect with shadow
Also center aligning the preview

Bug: 34819119
Change-Id: Ic25be6bf301aeb11315a5050f009259b26c6134a
2017-02-16 13:41:04 -08:00
Sunny Goyal
c9f844db2b Merge "Updating the default widget preview generation logic" into ub-launcher3-master 2017-02-09 18:25:06 +00:00
Sunny Goyal
92bbfa19c3 Updating the default widget preview generation logic
We draw a while round rect box which is divided into the cells to
represent the widget size. The app icon is drawn in the center
for this white box.

Bug: 34819119
Change-Id: Ie4d83712577f21b276c6744a55993f71da368398
2017-02-08 15:28:02 -08:00
Tony Wickham
a799bed803 Show notification icon in place of "1" in badge.
- When notifications update, add the NotificationInfo to the
  BadgeInfo if there is only one for an app. BadgeRenderer
  will use the NotificationInfo to get the icon to draw.
- When retrieving the icon from the NotificationInfo, we draw
  it into a shader (similar to MaskableIconDrawable), which is
  rendered by BadgeRenderer.
- For now, we only use the notification icon if it is large.

Bug: 34839959
Bug: 32410600
Bug: 33553066
Change-Id: I31851804008dd15bab75d2759441187830c3265e
2017-02-07 09:48:43 -08:00
Tony Wickham
9438ed414f Add swipe-to-dismiss notifications in popup menu.
- Next secondary icon animates up to replace dismissed main notification
- Add padding around main notification so it always aligns with the
  straight edges of the view (not the rounded corners); looks more
  dismissable
- Notification view collapses as notifications are dismissed
- To mimic system notification behavior, we copy SwipeHelper,
  FlingAnimationUtils, and Interpolators. We also apply elevation
  to notifications and reveal a darker color beneath when dismissing.

Bug: 32410600
Change-Id: I9fbf10e73bb4996f17ef061c856efb013967d972
2017-01-25 17:36:31 -08:00
Sunny Goyal
a2441e88ff Updating widget preview generation to not embed any badge.
Instead drawing badge in the view directly.

This will allow us to reuse the same preview when we do not want to draw
badges. This also simplified badging of shortcut config activities.

Change-Id: I9c07c33bf9c2b8ef81a00026b1d42587868c906f
2017-01-19 14:00:40 -08:00
Tony Wickham
9a8d11f930 FastBitmapDrawable can draw an icon badge (notification count)
- Added BadgeInfo to contain data to be shown in a badge
  (currently just notification count).
- Added BadgeRenderer in DeviceProfile to contain things
  relevant to drawing the badge, such as size and Paint's.
- Added IconPalette to compute colors for the badge based
  on a dominant color (will also be used for notifications)
- FastBitmapDrawable uses these classes to draw the badge.

Bug: 32410600
Change-Id: I6595a4879943357590f7d20c22594691a573ecaf
2017-01-13 10:58:10 -08:00
Mario Bertschler
cd0f679030 This enables to slide up All Apps from anywhere in the workspace,
not only over the hotseat.

The tricky part handling with scrollable widgets is solved by
setting requestDisallowInterceptTouchEvent from within the
widget view host (and resetting it upon performing long click).

Change-Id: I8b60e7ea2c1e8ae830b4737e94ed2d796265fa24
2017-01-09 14:42:52 -08:00
Sunny Goyal
f5440cbd6c Removing FeatureFlag.LAUNCHER3_LEGACY_WORKSPACE_DND and corresponding logic
Change-Id: Ie10c087b4f72ee27be5bf12e2c81be5b7a3a6176
2016-12-15 08:05:09 -08:00
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 Goyal
f8fa9e4124 Merge "Simplifying fast scroller logic" into ub-launcher3-master 2016-10-11 22:09:48 +00:00
Sunny Goyal
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 Miranda
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