Commit Graph

42 Commits

Author SHA1 Message Date
Selim Cinek
d9b7dd4a5d Implemented animations for rounding
The corners now animate nicely instead of just
jumping.

Bug: 69168591
Test: manual, swipe away notifications
Change-Id: Ia45774b1fed4d7b0a5cf2ec56ff1560ff685503c
2017-11-22 02:32:02 -08:00
Selim Cinek
5ec560a12a Refactored clipping util to be used in core
We need the possibility to disable clipping
up a view hierarchy also in core, so I'm
moving it and refactoring it.

Test: expand, observe normal clipping
Bug: 63708826
Change-Id: I157395be8f2b7ac75afc0a3967cb0f2068a02fb6
2017-11-06 16:22:07 -08:00
Chris Wren
e901a7e0ed Enable experimentation on notification snooze options
Bug: 67003813
Test: runtest systemui

Change-Id: Id46ef3938e2edc633f64cec7b66e10d80c9a0bff
2017-10-02 17:38:16 -04:00
Selim Cinek
6eaacf25aa Fixed the icon clipping of the notification shelf
Before the icon wasn't clipped to it's notification container
and could go out of bounds. We're now clipping it to it's
surrounding notification.

Change-Id: I1b9a3650eb3e3f0bcd7d7cef087afb7cc41ccf62
Fixes: 63477094
Test: add notifications, observe icon animations, better clipping
2017-09-07 18:55:25 -07:00
Mady Mellor
920fd89aef Add customs accessibility actions to snooze, allow it to be focused
- Add plumbing for accessibility action IDs, enabling custom
  accessibility options in the local context menu
- Allow snooze view to be focusable
- When option is selected announces the selection via window state change

Test: manual
Bug: 34840333
Change-Id: Idca0b0e00e792d3e3f71fc6a15b9b26d9136f6da
2017-06-12 17:16:58 -07:00
Jason Monk
395617fd35 Start drawing QS slashes rather than using AVDS
These need a bit more work like length control and animations, etc.
but this is a decent start.

Test: visual
Change-Id: I750d777b2b4a19f8c586066712f5a3f7e79befd6
2017-05-05 14:25:43 -04:00
Selim Cinek
7b9605b79c Added a new API to colorize notifications
Ongoing notifications can now be colorized.
This will use the color provided as the background
and invert most text colors

Test: runtest -x cts/tests/app/src/android/app/cts/NotificationTest.java
Bug: 34469375
Change-Id: I818e8db96c868d8bcde8f28c253efd581eeccaa2
2017-01-25 15:31:53 -08:00
Julia Reynolds
bb983d20d2 Use internal volume controller and status bar.
Remove code that let these components be replaced by external
processes.

Bug: 33006669
Bug: 34106436
Test: manual. reboot device, play music, change volume,
view notifications
Change-Id: I458f11537ab9db6f23735487513815553004613f
2017-01-06 15:59:45 +00:00
Chris Wren
5e6c0ffd3e Create a global registry for system message IDs
Port all system UI notifications to use the registry.  Retain stable
integer IDs where they exist. Assign new stable IDs where resource IDs
were previously used.

Using "message" rather than "notification" since we may eventually
want to include dialogs and toasts.

Bug: 32584866
Bug: 30995038
Test: runtest systemui
Change-Id: Iec4d7cebbd88683e339ada29a279315222699942
2017-01-06 09:22:02 -05:00
Jason Monk
26bc8996c8 Add notifications for incorrect plugin versions
Test: runtest systemui
Change-Id: Ic59a583202a8a20fbfc6fb504e6ab60ecc71ce78
2017-01-04 15:57:30 -05:00
Andrew Sapperstein
9625b4fce1 Merge changes from topics 'thermal-notif-2', 'thermal-notif'
* changes:
  Add VR mode check for thermal notification
  Show notif when device reaches throttling temp
2017-01-04 19:18:24 +00:00
Selim Cinek
f082fe2319 Made it easier to use updatable Animators
The existing system is extended such that AnimationProperties
can be easier animated and running animations updated.

As a first sample this animates the scale of the
icons in the shelf.

Change-Id: Ic88e8094d53f37ab13f5e9e00796b63d229a5114
Test: runtest systemui
Bug: 32437839
2016-12-21 12:12:31 +01:00
Andrew Sapperstein
b7caf1d06d Show notif when device reaches throttling temp
Adds logic to SystemUI that shows a notification alerting the user
that their phone has reached a certain temperature and has throttled
itself in order to cool down.

The logic is controlled by a configuration resource:
R.bool.config_showTemperatureWarning. If false, no action is taken.

When true, PowerUI checks every 30 seconds if the current temp of
HardwarePropertiesManager.DEVICE_TEMPERATURE_SKIN is greater than
the throttling temp of HardwarePropertiesManager.DEVICE_TEMPERATURE_SKIN.
If any one of the temperatures returned is greater, a notification is shown.

Clicking on the notification will show a dialog explaining more details
about what the device is doing in response to the high temperature.

The notification will disappear once the temperature drops below
the throttling temperature.

In order to check the temperature in SystemUI, HardwarePropertiesManager
has been updated to also allow any calls made by callers holding the
signature-level DEVICE_POWER permission.

Test: runtest systemui
Bug: 30995038

Change-Id: I1b3f122341911c68e90c8a49ad35267ac382b356
2016-12-20 18:19:03 -08:00
Selim Cinek
c40c79ac66 Added the possibility to animate X and refactoring
A viewstate can now animate its X value.
This also refactors the animation logic such that
an application when an animation is running will
update the existing animation nicely.

Test: manual, observe views animating in X
Bug: 32437839
Change-Id: Ic091d87e530af793281ca3f2b1e9370ff5dac236
2016-11-28 13:44:31 -08:00
Winson
ce9630da86 Tweaking accessibility actions for dock divider.
- Adding tl_full/70%/50%/30%/rb_full

Bug: 27724715
Change-Id: Ie3125ec81e6463696cf56640c6b86f9cfcbda945
2016-04-19 14:46:24 -07:00
Selim Cinek
c317933a91 Fixed fading and dozemode for custom notifications
The custom notifications were fading really ugly when they
had a dark background like media notifications, because
it was fading from dark to dark.
Now this background is shared for both custom views which also
reduces overdraw for them.

In addition does the doze mode now work much nicer because we're
only fading them to greyscale instead of inverting.
This also fixed an issue where legacy custom notifications with
a dark background were colorful during doze.

Bug: 19437552
Change-Id: I87798da9ac11b9abfe4470b6ca53b555da3aa629
2016-03-04 17:03:34 -08:00
Selim Cinek
dafa00cb98 Merge "Transforming notifications now based on the user dragging" into nyc-dev 2016-02-25 19:42:25 +00:00
Selim Cinek
8f2f6a67fa Transforming notifications now based on the user dragging
The animation is not a canned animation anymore but base on
the finger movement of the user.

Bug: 19437552
Change-Id: I0f81ac2ff05a92673e3f3b9b72a5c2de238890d0
2016-02-25 11:02:30 -08:00
Jorim Jaggi
88afd020b6 Accessibility for split-screen divider
- Add label
- Add actions

Bug: 27274494
Bug: 26894949
Change-Id: I041c44f793f1ec86ec27951cc8e87868148b527d
2016-02-25 13:18:12 -05:00
Selim Cinek
277a8aa409 Replacing alpha with shadowAlpha
Change-Id: I1fc75e395321d77fb959dd3e8ce520bd8378cfeb
2016-01-26 15:30:28 -08:00
Selim Cinek
587cbf30a7 Remove the scale animation from the lockscreen
With fullbleed notifications don't scale anymore when clicked.

Change-Id: I75fadb5e6ccb7f12ca8fc1cb9459c6d9576f4abd
2016-01-26 15:30:28 -08:00
Selim Cinek
646d2054dd Improved notification transformations
All views are now faded, even if they are not handled specially

Change-Id: I2970548667e0388984098293ac0dfcbdbed12df1
2016-01-21 19:42:49 -08:00
Selim Cinek
4ffd63611a Changed the transformation from when switching notification views
Change-Id: I2af3c2f36787d208be7745dabae96903df256156
2016-01-21 19:42:49 -08:00
Selim Cinek
5104a6db2e Fixed the animations on the notification scrims
When pulling down on a heads up notification the scrim would
fade in from 0 instead of fading to the new position.
The old behavior didn't work if the heads up notifications were
big, so we had to change it in order to always have a scrim.

Change-Id: I9ae387b75136c9240d863e06a8649c85b3c6c9dc
2016-01-21 19:42:49 -08:00
Jorim Jaggi
83eb6bb5d8 Improve motion for wake-and-unlocking while pulsing
- Move all fingerprint related to logic in on central class in
SystemUI that knows all the state of the UI so there is exactly ONE
place in which we decide what to do when we acquire a fingerprint.
- When pulsing and we get a valid finger, we fade the contents of the
Keyguard out and fade the scrim out almost the same way as we would do
in a normal wake-and-unlock sequence.
- Hide shadows while dozing, so we don't see the artifacts when we fade
the dozed Keyguard out.

Bug: 23225107
Change-Id: I82f78e61f2530cf7d507ade80f6f0a340c082567
2015-08-18 17:57:10 -07:00
Selim Cinek
0fccc729fd The heads up now correctly dissapears when clicking
Bug: 22729955
Change-Id: I977b36823bf936baab527f932b1e5576241f4d71
2015-07-30 23:05:42 +00:00
Selim Cinek
aac932591d Added the heads up scrim back
Also fixed a bug where the notification panel would
keep a hardware layer.
Also improved the interal structure of the HeadsUpManager

Change-Id: I635e4a89b0a32573c26515cc3e65e142d77593ec
2015-04-15 13:14:27 -07:00
John Spurlock
cdb57aeb0e Allow sysui-managed remote volume controllers.
- Relax restriction on audio service calls that assume the volume
  ui is systemui, allow calls from a blessed component app.
- Blessed component app service saved in secure settings.
- SystemUI mediates requests to replace the volume dialog, prompts
  the user on activation.
- Show a low pri ongoing notification when the volume dialog is
  being replaced, to allow user restoration at any time.
- Replace the controller management code in VolumeUI to use a
  ServiceMonitor, backed by the new blessed app component setting.
- Add proper zen-related noman client wrappers, make avail to the
  registered volume controller.
- Everything is still @hidden, no api impact.

Bug: 19260237
Change-Id: Ie1383f57659090318a7eda737fdad5b8f88737d4
2015-02-12 22:48:37 -05:00
Jorim Jaggi
dd0107a0db Add ability to colorize status bar
Bug: 19233606
Change-Id: I756599395c202c4d0dd04c44beac706fc19bfe17
2015-02-04 12:44:22 +01:00
Chris Wren
d8775100b2 Standardize notification IDs in the sysui package.
Use the resource system to assign IDs for notifications,
so that we know there will be no collisions.

Bug: 10671709
Change-Id: I403e89f6ec953f6e2e63520b86e2cd464ebce6b3
2015-01-16 16:19:32 -05:00
Jorim Jaggi
a29e81bc7f Remove dead code #2: Remove unused Keyguard resources
Change-Id: If5e2b62556e6ee158e09e399c7ddec337dba15d5
2015-01-07 15:00:16 +01:00
John Spurlock
2d695813b4 QS: New rotation-lock tile icon, using AVDs.
Also:
 - Better icon change detection, unify tile.icon vs tile.iconId.
 - Fix regression in touch feedback by fixing a11y string calculation.

Bug: 17426910
Change-Id: I14772f4e9b3be127bc39106ae9146ed46488fa48
2014-11-03 19:08:39 -05:00
John Spurlock
e15452bb49 Doze: Improve icon treatment when dozing.
Instead of inverting them, simply desaturate.  Also, apply
a constant background to small icons and give them some
transparency.

Bug:17137319

Change-Id: Id772b4fcd9ffa461bec26b87a74302012fb27867
2014-08-21 16:06:11 -04:00
Selim Cinek
8df56452cb Improved animation logic of the new notifications
Scrolling and other local updates work much better now when an
animation is already in place.

Change-Id: I602899bc75ae132ebb30591e723be3f00f744e18
2014-05-08 15:25:40 +02:00
Jorim Jaggi
d552d9d8e9 Introduce AmbientState for StackScroller.
AmbientState is a global state for the algorithm of the
StackScroller. Dimmed and which child is activated was moved
into this state. Further, scale and dimmed is also a
StackScrollState and animated in StackStateAnimator.

Change-Id: Ia68131cee62b2e0005f55ea6dc400d149ec15278
2014-05-08 02:33:56 +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
8f1f0109d3 Remove unused status bar help and obsolete resources.
Bug:10502089
Change-Id: I813244c4d5535256a56b242b92e6373edbbaba93
2013-08-29 21:02:15 -04:00
Chris Wren
51c7510e49 allow rich notifications in the heads up.
new shouldInterrupt logic: screen on, not locked, not dreaming, and
  priority above HIGH and noisy, or has fullscreen intent
draft of API allowing devs to give hints about head up display

reuse inflateViews()
add an expand helper to the heads up space
move some things into Entry for reuse

don't allow touches in first second
delay decay if touched
make decay time a resource

add a custom viewgroup for notification rows to get view management
out of the NotificationData class.

Change-Id: I36464f110cfa0dabc3f35db7db6c35c27e8ee2ba
2013-07-23 11:38:56 -04:00
Daniel Sandler
e111ad300d No, that's German for "The Quick Settings, The".
Bug: ???????
Change-Id: I24ffb21b1566d98c9df6db48c4062390757cd8bc
2012-10-13 17:23:47 -04:00
Chris Wren
3ddab0dcc1 Don't allow the status bar to collapse things we're touching.
Bug: 6538918
Change-Id: Ie4e79aa593ac2097d0e6402f84816df934160687
2012-08-02 16:55:08 -04:00
Chris Wren
8fd12657e3 Auto-expand the top notification.
Bug: 6455789
Change-Id: Ia455f204544ad0c41ace77ea3ece6e0d3d3110d9
2012-05-10 13:40:19 -04:00
Chris Wren
80a76276dc Add visual feedback for notification expandability.
Change-Id: I0b82a465a126a6d0ec6cf6af87dc56817765b995
2012-04-20 12:45:02 -04:00