Commit Graph

58 Commits

Author SHA1 Message Date
Mady Mellor
904a39ca92 Merge "Fix gear being covered on notification update" into nyc-dev 2016-04-25 19:06:17 +00:00
Winson
bde852dbf5 Making the dismiss animation feel smoother.
Bug: 27154882
Change-Id: Idbabfe396bc75b598861fd12b78c846f08243a90
2016-04-18 18:20:32 -07:00
Mady Mellor
86889c2d21 Fix gear being covered on notification update
If a notification is updated to be non clearable but is in the middle of
being dismissed then it is snapped back into place. Part of the ways to
check if it was being dismissed is by checking the translation of the
notification.

In the case that the notification was translated to display the gear, then
when it was updated it would be snapped back over the gear. This CL fixes
this issue by snapping back to the gear instead of 0 in this situation.

Bug: 28019486
Change-Id: Ic6c4c29b0adee15d7b358fcdbc8446e8a4cd9f82
2016-04-18 16:37:06 -07:00
Mady Mellor
9c2c49634f Fix dismiss all clipping for tablet / landscape
Shouldn't animate the whole view, use the translatable views so that
they get clipped on tablet / landscape.

Additionally this changes the behavior in the case where the gear
might be showing, previously that would hide prior to the dismiss
all animation, UX prefers this to just have the notification cover
the gear and slide away or the gear fade away depending on the side
it's showing.

Bug: 28006639
Change-Id: I43027cb29410496de5b6e09c4a0c57a69484295c
2016-04-06 14:05:42 -07:00
Mady Mellor
5ba429c40a Merge "Fix slow dismiss animation" into nyc-dev 2016-04-04 23:29:07 +00:00
Mady Mellor
dc6c97df48 Fix slow dismiss animation
An accelerated interpolator is used for dismissing when the
the velocity = 0 which can occur with dismiss all or if the
noti is swiped far enough but not fast enough.

There is no duration specified when the noti is swiped far
enough, and the velocity passed in is 0 so the default
duration is used without taking into account the velocity.

This CL alters the code to pass in the velocity so that a
duration is calculated.

Bug: 27864379
Change-Id: Ifac04bb8d1b714c040102fef035d55737c844157
2016-04-04 12:53:49 -07:00
Selim Cinek
197823da52 Fixed a bug where longpress was not possible in landscape
The clause used there was using a reused value of a motion event
and therefore not trigger, even if it should have.
Also added a clause which this was actually used for to remove
the long press callback when using the inline settings slider.

Bug: 27352426
Change-Id: I9c432eeb354d7d5e72b375cfc5ead9e04a4e6c81
2016-03-25 15:26:42 +00:00
dongwan0605.kim
30637e41c9 Fix to snap notification view back when not clearable while updating
When a notification is being removed by swiping action,
actual removing will be performed after the swiping animation ends.
And also, it is same when removing notifications with <Clear all> button.
The actual removing will be performed after collapsing of status bar.
But before actual removing, the notification flags can be updated
to not clearable, and then the notification view can be remain
out of display by X-translation animation.

Therefore, fix to snap the notification view back when updating
if it is not clearable and need to be come back.

Change-Id: I005a9a8ac82bb513a47b5b8afc430bbe4880b52e
2016-03-17 17:39:29 -07:00
Mady Mellor
3a5e8dd820 Revert "Revert "Improve interaction around showing / hiding the gear behind notifications""
This reverts commit 88eca2aa0e.

It additionally fixes an issue with notification scrolling after gear is displayed
by indicating that the user is no longer swiping by calling onDragCancelled

Change-Id: Ieba0cea35bba9c383d8b5fdca08cb5ff083666c3
2016-03-11 17:17:00 -08:00
Mady Mellor
45eef7dbca Merge "Revert "Improve interaction around showing / hiding the gear behind notifications"" into nyc-dev 2016-03-11 23:41:08 +00:00
Mady Mellor
88eca2aa0e Revert "Improve interaction around showing / hiding the gear behind notifications"
This reverts commit 273ed107f1.

Change-Id: I5f4d2c2dfa2bd965abd2ea2ec385639deb4511f9
2016-03-11 23:36:41 +00:00
Mady Mellor
e11936725e Merge "Improve interaction around showing / hiding the gear behind notifications" into nyc-dev 2016-03-11 17:03:58 +00:00
Mady Mellor
287963146c Use FlingAnimationUtils for dismissing a notification
Addressing comment in ag/877913 PS6

Adds FlingAnimationUtils to SwipeHelper for dismissing notification
so that it may better follow a user's finger. This is not used
when a dismiss all is called (i.e. useAcceleration is requested).

Additionally alters dismiss behavior to accelerate out if velocity
was 0.

Change-Id: Ia7dc15d64e8427d5cfbdee3f4e48ccd60f5b0b36
2016-03-10 18:24:32 -08:00
Mady Mellor
273ed107f1 Improve interaction around showing / hiding the gear behind notifications
If the gesture on the notification was not considered a dismiss gesture
the code always check if the notification had moved enough to display
the gear.

This causes some undesirable behavior:
- For unclearable notifications the gear would *always* be shown
- Even if the velocity of the gesture was enough to be a dismiss it
  may have failed other requirements and then the gear would be
  shown

This CL alters NotificationSwipeHelper to take into account the
velocity of the gesture, and if it was great enough to be a dismiss
but wasn't (unclearable, didn't meet other requirements) it'll just
snap the notification back into place.

Additionally this CL alters the behavior so that if the gear is
visible and the notification is swiped in the direction of the gear
it *won't* dismiss the notification but rather cover the gear. If
a dismiss gesture is made in the opposite direction of the gear, the
notification will still be dismissed.

Bug: 27378399
Bug: 27319053
Bug: 27335353

Change-Id: I0849eecc71f2c6722e811d284534c2ea29b1b8aa
2016-03-09 13:18:25 -08:00
Mady Mellor
34958fa272 Fix inline controls from being swipeable
Currently you can swipe / translate inline controls, this
should not be possible. This CL fixes that.

Bug: 22451710
Change-Id: I3e048dce7df6d44ce80ee79bd449973bde0bc222
2016-03-02 17:15:36 -08:00
Mady Mellor
4b80b1025f Initial implementation of dismiss gesture + inline settings icon
- Added a view to display / control the gear behind the noti
- Updated SwipeHelper to hide / show the gear based on the gesture
- Only one notification or notification group can show the gear
  at a time

Couple of things left to do that will come in a follow up CL:
- Animation (to / from inline controls, fading gear based on movement)
- For children in a group there needs to be a grey background

Bug: 22451710
Change-Id: I2f93edf48109a82bab0839c73cbaba1535caee9a
2016-02-19 10:04:27 -08:00
Winson
c0d7058b14 Referencing static interpolators.
Change-Id: I5d2292016e869ed533f5873e373a1eccce651fc5
2016-01-29 11:15:43 -08:00
Jorim Jaggi
9b0a2c921a Improve dismiss/scrolling handling in recents
Make sure to only enter dismiss mode if xDiff is bigger than yDiff,
and only start scrolling if yDiff is bigger than xDiff.

Change-Id: Id898752ff7a08df549e234678aed0dad074b202d
2016-01-27 13:46:39 -08:00
Selim Cinek
c18010f672 Refactored the interpolators to use only one single instance
Previously many objects parsed their own interpolators leading
to memory and computational overhead.
This is now unified into a single Static class.

Change-Id: I0537aca0e6dad10a7ffd52ba64b7356b0c5e4672
2016-01-26 15:30:28 -08:00
Winson
8aa9959413 Starting the dismiss animation in parallel with the gesture.
- Introduces notion of ignored tasks for the purposes of layout in 
  TaskStackView.  This can be used during drag and drop, and while 
  dismissing to calculate the state of the stack without the task that
  the user is currently interacting with.
- Fixing minor layout issue when the front/back task transforms are 
  improperly calculated when there is a single task
- Fixing minor issue when the anchor task is calculated incorrectly when
  dismissing task views

Change-Id: I1eb0864a52e53562e4d573a6ed4f8a5a1615aff9
2016-01-21 16:05:53 -08:00
Winson
c5fd350522 Removing extraneous calls.
- Removing calls to ensureCapacity, which was causing reallocations when
  using a temporary set with multiple uses.
- Fixing issue with update callback not being called when immediately 
  updating a TaskView’s transform
- Adding utility methods in preparation for refactoring code


Change-Id: If62c3751ed6af15092a34435df08bb4d627536ea
2016-01-19 22:56:52 +00:00
Winson
671e8f91aa Removing custom swipe helper.
Change-Id: Ic28ab343f86ab6f80d8c0409a3218513bd8880af
2016-01-14 15:31:16 -08:00
Julia Reynolds
ead00aac15 Add importance to notification guts.
Note: the guts are still trucated to the height of the notification.
The slider initially shows the importance of the individual notification,
but changing the slider changes the importance for the whole group
of notifications.

Bug: 22451710

Change-Id: Id6de3aaace2bdb88a8cc5db517002dc7f0e349ae
2015-12-11 14:57:47 -05:00
Blazej Magnowski
6dc59b48c0 Integration into other unlock mechanisms
Replaces all the older falsing thresholds unless the
HumanInteractionClassifier is disabled.

Change-Id: Idfc3cb1b6bc0bbdbc792cd75499f0c3b4f1b7142
2015-09-25 12:36:25 -07:00
Jorim Jaggi
aea80f40d8 Cancel lockscreen/shade gestures when orientation changes
Bug: 18293929
Change-Id: Ifbf91c42fa9e68aa688ca4c390fcc24a358212a9
2014-11-10 22:42:30 +01:00
Selim Cinek
1d59af45f6 Mirrored clear all animation for RTL
Also automirrored the icon.

Bug: 18173905
Change-Id: I510efaf18b89a676959d72ad1b9e9a8edd417e60
2014-10-31 16:11:40 +01:00
Selim Cinek
34cf5c4bfc Increased the falsing threshold when woken up by touch
Bug: 17649103
Change-Id: Iea4736a761a1108e7832aa62cc2060ea0bd89376
2014-09-26 16:31:57 +02:00
Selim Cinek
19c8c708f1 Added anti-falsing logic to the keyguard.
Newly enforcing a threshold for the following cases:
Unlocking, Dismissing Notifications, Swiping Down Quick settings.
Also increased the affordance threshold slightly.

Bug: 15433087
Change-Id: I723346dedf9ae0e3f8b103182992ab572fc394b9
2014-08-27 12:38:15 +02:00
Jorim Jaggi
28f0e59329 Edge swipes should also dismiss notifications
To prevent falsing with phone/camera affordance.

Bug: 16571057
Change-Id: I5da5efc5529af8211357b556f1db4858e8775e05
2014-08-05 23:01:34 +00:00
Dan Sandler
4247a5c162 Notification inspector.
When longpressing a notification, instead of popping up a
menu we now replace the notification's view with an
inspector showing the app name and icon inline, along with a
proper app info button.

Bug: 15892646
Change-Id: I905e2fd5c9ea5cbbaccabd633f4b8257227a10bc
2014-07-25 15:10:36 -04:00
Dan Sandler
eceda3d838 Reintroduced the clear all button
A new text button is added to the bottom of the notification list
enabling the user to clear all notifications.

Bug: 14826666
Change-Id: I34dcccb59346798cca321bc1a19252b00e7c5689
2014-07-25 19:25:46 +02:00
Adrian Roos
5d9cc668e1 Update HUN visuals to UX spec
Adds gradient, fixes wrong padding on tablets
and adds a callback mode to swipe helper.

Bug: 15106201
Change-Id: I9c3f2d24665cb3de8e70904893f56c928b0caabb
2014-05-31 13:43:44 +02:00
Adrian Roos
de61fd7822 Implement HUN visuals: shadows and translucency
Bug: 15106201
Change-Id: I718e3d36355d0f58abc3daadb8c6a9d554f29bec
2014-05-26 19:03:00 +02:00
Selim Cinek
eb973565f3 Refactored the notification animations, improved stack scroller
Animations are now only triggered when absolutely needed.
In addition, the notifications are now not clipped anymore when starting
a drag on them and the notification below the dragged one is fadded in if
necessary.

Change-Id: I80e8b3ea8fb48505edfb3cace6176dfa00c5a659
2014-05-07 15:00:45 +02:00
John Spurlock
de84f0e77e Organize the imports in systemui.
To follow android conventions, more importantly to remove the
unused.

Change-Id: I75881718e84360a579a3b02c26489ad250bc9227
2013-06-12 14:50:47 -04:00
Michael Jurka
499293f096 Improve swipe performance in Recents 2013-03-06 18:08:45 +01:00
Michael Jurka
67b03701b6 Fix one cause of slow scrolling in Recents
Bug: 8208782

Change-Id: I8153001d1cea0c01f929d3091a722fed842038fa
2013-02-19 14:23:16 -08:00
Dianne Hackborn
7f3b379e99 Fix issue #6706369: Sometimes the "App info" popup shows...
...even though I don't long press

When you start scrolling from a point between two notification
items, only the first down goes to SwipeHelper.onInterceptTouchEvent(),
and the following events go to SwipeHelper.onTouchEvent().  However
when we call SwipeHelper.onTouchEvent(), we immediately bail if we are
not in the drag state, so we never clear the pending long press event.

Bug: 6706369
Change-Id: Icc46fba62fe7ee334d8d62ac39195d7c3aeff705
2012-06-26 16:39:02 -07:00
Daniel Sandler
491d3a9bfa Fix longpress handler in notifications.
Bug: 6452142
Change-Id: Iaa8e189cd1536f2826d5fe3721ead9bc33397711
2012-05-16 13:04:06 -04:00
Daniel Sandler
469e96e206 Close notification blame popups when the panel disappears.
Also be sure to cancel the longpress listeners when things
change.

Finally, increase the longpress timeout to 1.5x normal
longpress.

Bug: 6441520
Change-Id: Icea4d2a5c98a9a51a15f0762454de9e5cd454c50
2012-05-04 15:56:19 -04:00
Daniel Sandler
f7a1956b06 Long-press a notification to find out who sent it.
Bug: 5547401
Change-Id: I8d5d73723b3f03f5b0f8717faaca826b1530df7a
2012-04-19 11:39:49 -04:00
Daniel Sandler
6a858c347f Gestures for expanding notifications.
Change-Id: I104c157ffcc2d60b3f0a95c59d4322b07103b69f
2012-04-18 11:21:19 -04:00
Michael Jurka
4eaa983f25 Fix alpha when swiping recents on tablets
When you swipe to dismiss a recent item on a
tablet, fade the item to 0 alpha

Also, create common interface for Recents-specific
methods for Recents[Horizontal/Vertical]ScrollView

Bug: 5953654

Change-Id: I0a72b49b3cfae0607b42dbf8f6d4da9898d7e491
2012-02-29 16:49:01 -08:00
Michael Jurka
2db72fce6c Fix blip after notifications are swiped
Bug #6035662

Change-Id: I7f0274c9011247d0fd5ef09a05b7630eda0ca77f
2012-02-23 17:51:02 -08:00
Michael Jurka
99a9655b93 Making recents faster
Improving load time by:
- using window animation for fade-in and not
    waiting to create HW layer
- starting loading of thumbnails/icons earlier
- only initially creating views for the first
    screenful of items
- recycling views

Change-Id: I529b1085fe35d81aaafeb7433ccaed8e0537f01c
2012-02-13 19:11:40 -08:00
Chet Haase
2f2022afa1 Make notification panel delete-all animation smoother
Making the notfication delete-all animation smoother by carefully
choreographing the various parts of it. The problem with the previous
animation was that there was simply too much going on at the
same time, causing things like layout and recreating display-lists
in the middle of animations that became choppy as a result. This
approach swipes all items off quickly, then scrolls the shade up to the
top, making both sets of animations smoother as a result.

Fixes #5431207: Notification delete-all should be smoother

Change-Id: Iefe8ab5d661e05adcd10379dab85227d17904450
2011-10-18 13:05:28 -07:00
Michael Jurka
f1c8adc9ae Merge "Bug fixes in Recents" 2011-09-12 17:04:53 -07:00
Michael Jurka
0e8063a3b4 Bug fixes in Recents
- Making thumbnails invisible until loaded (fixes regression)
- Speed up dismiss animation from menu
- Make the max swipe velocity greater
- Make only the thumbnail and app title long-clickable
- No more click sound when tapping outside the thumbnails to dismiss Recents
- Tweaking color of recents app label text

Change-Id: If7b6cd59e92feb0472eb3ea266733549cb9f4d4b
2011-09-12 16:55:04 -07:00
Jeff Brown
68ebcdf3fd Fix ACTION_CANCEL handling in status bar.
Bug: 5198231

Widgets always need to handle ACTION_CANCEL properly since
it can happen at any time, such as when the screen is turned
off or the screen is rotated, removed or reconfigured.

Change-Id: Ia30b14bb6f68cdde5286b4d72e69130e9fb38732
2011-09-12 14:12:17 -07:00
Michael Jurka
ccbc2f309e Merge "Fix a NPE in Recents" 2011-09-02 15:44:09 -07:00