151 Commits

Author SHA1 Message Date
Jorim Jaggi
50ff3afb01 Start pulse fading exactly when screen is turned on
Bug: 23163299
Change-Id: I0f6d5dbfa02e455292e06a4f8f69ab68e9da2b6b
2015-08-14 18:47:59 +00:00
Jorim Jaggi
9ff1510aeb Fix vibration when expanding notifications
To make it more consistent with other vibration feedback in the
system.

Bug: 21549323
Change-Id: Ia4ef1cf17c28f6069635797af94991a639e1cef0
2015-06-10 23:17:32 +00:00
Selim Cinek
2c97e5cc5e Shortened the duration of HUNs
Bug: 20917402
Change-Id: I7c1af3507b28a70432c5352f07530d0ea47a731c
2015-05-29 17:08:05 +02:00
Jorim Jaggi
be4116a347 Round rect clipping for notification contents
Enable round rect clipping on notifications for the following kind
of notifications:
- Big picture style.
- Big media narrow style.
- Custom notifications.

Bug: 16142505
Change-Id: I157650fe470636ed624a81557c08135827eac0cb
2015-05-26 14:14:10 -07:00
Jorim Jaggi
3b028d754f Use platform delay for assist long press gesture
Bug: 20853645
Change-Id: I1f25a04bfc7d07077211743b9d258fd637a402e6
2015-05-13 14:17:16 -07:00
John Spurlock
8dbcda1b33 Merge "Volume: Simple dialog footer, DND in quick settings." into mnc-dev 2015-04-29 14:02:52 +00:00
John Spurlock
d9c75dba75 Volume: Simple dialog footer, DND in quick settings.
- Show DND tile by default, this is now the only
   place to manage DND modes / end conditions.
 - Remove super footer from volume dialog, replace with
   a simplified version that displays the current mode
   and allows ending DND.
 - Remove obsolete text-only footer from codebase.
 - Migrate remaining volume items into main resource files.
 - Rename "No interruptions" to "Total silence".
 - Add new user information banner for "Total silence"
 - Crude media filtering for Total Silence.
   (deeper muting changes will be done as a followup)
 - Disable volume dialog sliders completely if muted due
   to zen.
 - Cleanup ZenModePanel: assume embedded mode, remove
   expandable subhead
 - Remember "favorite" DND mode inside the DND config panel.
 - AudioService: consult ringer-mode-delegate before voluming
   down into silent.
 - Add new hour options to time-based exit conditions.
 - Volume dialog visual updates to move closer to final visuals.
 - Unify ringer=silent with DND.

Bug: 19260237
Change-Id: I05d7e001eca3b5125418ec3bc4087d0cb8866717
2015-04-29 09:58:38 -04:00
Selim Cinek
684a442b81 Follow up CL for heads up notification refactoring
Change-Id: Iaf286dfd30a86d3d7d6dd947d3c10ac9eb8c2b1e
2015-04-28 16:24:40 -07:00
John Spurlock
90be37953d An update on VolumePanel.
Retired, and removed all claimed resources.

VolumeDialog is now the only option.

Bug: 19260237
Change-Id: I6e8abff0f8c16c4e02c47c8b7f24d5703cb3dbdf
2015-04-16 12:14:56 -04:00
Andrew Flynn
a478d70a68 SysUI: Carrier Network Change icon
- Listen for new PhoneStateListener.CARRIER_NETWORK_CHANGE events.
- Show/hide a new unique animated icon in status bar and quick settings during
  Carrier Network Change events if we are instructed by PhoneStateListener
  and it's during a period without connectivity.
- ObjectAnimator doesn't let you animate colors between themed colors, so
  there's quite a bit of boilerplate duplication in the animation xml.
- Add a new demo mode command to toggle it on/off.

Change-Id: Ic5bb2aa7444303c6b7f2456526a9c25325c6e1f4
2015-04-16 08:37:43 -04:00
Selim Cinek
b8f09cf553 Integrate Heads-up notifications into the shade
Change-Id: I4ca0fb4e76e7c974490538c168da0564fe97e0ae
2015-04-15 12:32:00 -07:00
John Spurlock
3c4076a246 DND: Add a hidden DND tile to quick settings.
Invisible by default, not activatable when the platform
volume controller is active.

However, when the platform volume controller is not active,
it can be enabled via a broadcast intent.

When enabled, the status bar icon also changes to a single
dnd icon.

Very little more than embedding the existing zen mode panel
into the detail pane of a new QS tile.

Change-Id: I1e0ff6fbb99b00f67b53bceda8cbf121f3ef6b52
2015-02-25 12:46:13 -05:00
John Spurlock
60c08aceea Doze: pulse less often. automerge: 618e420 automerge: 43c7741
automerge: 90fc289

* commit '90fc289102465e7c267d3f19f7e3e5c56beb5fc0':
  Doze: pulse less often.
2015-02-10 19:06:05 +00:00
John Spurlock
618e420adf Doze: pulse less often.
Remove the trailing pulse @ 2 minutes, and only allow 2 schedule resets.

Bug: 19330195
Change-Id: I492581c081fafd2a1e5e09f7cce08d7a14da6d6b
2015-02-10 09:23:29 -05:00
Chris Wren
930eccaf44 Don't let the heads up close too quickly.
The public API of HeadsUpNotificaitonView was not well suited to the
new requirements, so it changed slightly.

Old API:
 - showNotification: show or update a notification
 - clear: close the window and forget the notification
 - release: send the notification to the shade and forget about it.
 - releaseAndClose: release and close the window
 - dismiss: clear the notification if clearable, or release it

New API:
 - showNotification: show a new notification
 - updateNotification: show a new version of the same notification
 - removeNotification: respond to a cancel
 - release: send the notification to the shade at some point
 - releaseImmediately: send the notification to the shade right now

The new API makes updating vs. posting and removing vs. releasing more explicit.

There is a new internal concept: lingering.  The heads up lingers
after an event that would have closed it if the minimum visibility
time has not been satisfied. In the case that the notification was
deleted, the heads up may be visible, but mHeadsUp will be null.  In
this case, touches on the notification views are disabled.

More responsibility for control of the heads of policy was moved into
the HeadsUpNotificaitonView class. This should continue on master.

Some changes to support testing.

Added a test to cover all the edge cases for minimum visibility time:
 1. extend visibility when canceled too soon
 2. extend when updated with a low-priority version, fast update.
 3. extend when updated with a low-priority version, slow update.
 4. don't extend the visibility in any other case

TODO: Policy parts of HeadsUpNotificationView should be split out
into a separate HeadsUpNotificationPolicy class, and even more of the
policy should be lifted from status bar that new class.

Bug: 17878008
Change-Id: I192419d0685dd022ee7edcd792e346a4f39c6adb
2015-02-04 17:16:16 -05:00
John Spurlock
8cbfad3934 am 7fb346ec: am 4b41400b: am e2f4ab93: Merge "Default "pickup peforms proximity check" to false." into lmp-mr1-dev
* commit '7fb346ec209eac91b9673840e10b3c9040dbef3f':
  Default "pickup peforms proximity check" to false.
2015-01-28 18:04:56 +00:00
John Spurlock
b9fe4e1713 Default "pickup peforms proximity check" to false.
Don't assume the pickup sensor will perform a proximity check before
starting to pulse.  This will add some latency, but necessary if
we can't trust the sensor.

Bug: 19083596
Change-Id: I51b7daf5ed76b2780ec5c949a75cc1fca247ddad
2015-01-26 18:55:29 -05:00
Jorim Jaggi
2325f276cf Remove dead code #9: Remove ticker code in PhoneStatusBar
Change-Id: I2236790435d89962d70c642fa1879d44981bc71b
2015-01-21 16:56:33 +01:00
Jorim Jaggi
0ed01deb2f Limit item count in QS detail
- Introduce a maximum number of items to be shown in QS detail view
  depending on the device configuration.
- For Wifi and Cast, make the panel exactly that height as we would
  show the maximum count of items, in order to prevent that the
  buttons jump around.

Bug: 18665311
Change-Id: I7c0c383a902d295f1b486b8a074e15b990fbe562
2014-12-11 21:51:30 +01:00
John Spurlock
530052a2fe Zen: New behavior for built-in downtime + nextalarm conditions.
- Downtime: Allow user to enter downtime early, offer as an end
   condition four hours before downtime starts.  Available in
   either none or priority, regardless of settings configuration.
 - Downtime: Always exit before next alarm if zen=none.
 - Downtime: Make more like any other condition provider, remove
   special status (mostly).
 - Downtime: New auto-triggering rules, allow triggering after a
   manual condition ends, once.
 - Decouple NextAlarm + Downtime providers, allow them to offer
   their conditions at the same time.
 - Downtime/NextAlarm: Update conditions if they change while being
   requested, even if unsubscribed.
 - Make all three built-in condition providers optional, via config.
 - New internal helper for runtime config.
 - Don't follow changes to next alarm, consider the condition false.
 - Isolate downtime calendar logic into separate class (for testing).
 - Allow a:bb -> a:bb as a valid downtime range (all day).
 - Volume dialog: configuration establishes maximum number of visible
   conditions, including built-ins.
 - Zen mode panel: avoid widget updates during layout transition.
 - Zen mode panel: move controller callers to background thread.
 - Zen mode panel: hide/show/rebind rows instead of adding/removing.
 - ZenLog: Add downtime autotrigger results.
 - Volume panel: Smarter refresh on ringer/zen changes.

Bug: 16373455

Change-Id: I4f801018ddb0beb6eb9fa03a81c79f7949888a3f
2014-12-08 11:00:57 -05:00
John Spurlock
621afac810 Doze: Don't block pickup pulses on a proximity check.
Pulse immediately, assuming the pickup sensor will not fire
if prox=near.  Perform a non-blocking additional proximity check
in these cases purely to collect verification diagnostics.

Also tweak the interpolator for pickup pulses to ramp up more
quickly.

Bug: 18373928
Change-Id: I8607f4b37435722e293db741c273914183cec7be
2014-12-03 16:04:28 -05:00
John Spurlock
f5d250deec Doze: Fast path for pickup pulses.
Decrease the pulse duration when pulsing for pickup.
Add an option to skip the proximity check entirely, but don't
turn it on yet.

Bug: 18373928
Change-Id: I54f8dee004229193a18d488759bf797a16470cab
2014-12-03 13:48:28 -05:00
John Spurlock
3e07701636 Zen: Improve zen mode panel condition selection.
- Decouple condition requests from expansion, now
   pre-request when zen panel unhidden.
 - Animate zen mode panel expansion.
 - Improve default selection logic, ensure something
   is selected as soon as we are in the expanded state.
 - Tweak visual spacing.
 - Map null condition to Indef properly when we start
   out in zen.
 - Avoid unnecessary condition teardown when the conditions
   are updated but unchanged from current.
 - Cap number of optional conditions to display, default=3.

Bug: 18335618

Change-Id: I007b7c3b2e75e2b42805af240684aa8581e9951a
2014-11-30 10:41:33 -05:00
Chris Wren
1aa63f0baf Merge "Push back notification means snooze the package." into lmp-mr1-dev 2014-11-24 15:58:17 +00:00
Chris Wren
a6d4fb60ed Push back notification means snooze the package.
Bug: 18451923
Change-Id: I90160f9d14cde12a5bc03e46e64eedf770149a90
2014-11-21 15:51:41 -05:00
John Spurlock
686e4d57d8 Doze: Make proximity check configurable.
Default to true, but make it available for overlay or setting
at runtime.

Bug: 18373928
Change-Id: I6abc1924ea0f03620f4683dc055f64ede5782809
2014-11-20 21:59:13 -05:00
Winson Chung
6aa73cf266 Merge "Tweaking animation XMLs and removing dead code. (Bug 17672056, Bug 18415217)" into lmp-mr1-dev 2014-11-18 20:10:05 +00:00
Winson Chung
c041d883c3 Tweaking animation XMLs and removing dead code. (Bug 17672056, Bug 18415217)
- Use shape drawable for pin background instead of asset.
- Includes fix for scrolling regression when task stack scroller was not reset.

Change-Id: I11eec1f3b0386b4354c8c5e3deca2b17cff83be1
2014-11-17 17:55:28 -08:00
Winson Chung
96d7041866 Add some flags to reduce memory usage on svelte devices.
Bug: 10918599
Change-Id: I235413a243d47fdd9be4a27f6bd726311a51cb6f
2014-11-17 14:52:29 -08:00
John Spurlock
bb4a702e6f Volume dialog: Add zen mode icons and notification access.
- Add icon above text to all three zen mode states, update text style.
- Remove zentoast.
- Update shared borderless rect background, masks now support shapes.
- Update size of volume stream icons.
- Ensure all volume icons are expressions of white.
- Make volume icons testable via new demo mode command.
- Add a divider + secondary icon to access the notification slider.
- Animate the transition when accessing notification slider.

Bug: 18206097
Bug: 16303068
Bug: 18102850
Change-Id: I5eb6f820dc317e89be272cc78f6c80ed969ad5e9
2014-11-10 08:32:23 -05:00
Jorim Jaggi
16423aa0c6 Improve doze transitions
This change animates the status bar and the bottom area when exiting
doze mode from touch. We also prevent all animations when exiting
from other means, i.e. usually when the power button is pressed, so
we don't have a distracting animation there. In addition, this also
optimizes the scrim animations a bit in terms of interpolation and
duration to make the experience smoother and cleans up some logic.

Bug: 18146441
Bug: 17717584
Change-Id: I495ce480c25de24b6433adebdfe923b637d98f66
2014-10-29 14:24:00 +01:00
John Spurlock
f2565a8b48 Volume: Make VolumeUI startup configurable.
Can now disable the default volume dialog in SystemUI with
a standard product overlay.

Bug: 17753150
Change-Id: I305015dbfc40cde2428fa593c89af0f4568e1b74
2014-10-23 20:16:22 -04:00
John Spurlock
289d797a6a QS: 7 day timeout for color-inversion tile.
Bug: 17631628
Change-Id: I4f8a6ce3ea1f79d696686760732c3e8216bfb6c4
2014-10-17 12:06:38 -04:00
Winson Chung
9cb5c4e385 Ensure that we don't show excluded tasks when we are not in that task (Bug 17657618)
- Fix regression with launching an affiliated task due to clipping changes (Bug 17755902)
- Tweaking previous changes to home transition
- Disable the debug mode option
2014-10-01 17:48:05 +00:00
Jorim Jaggi
0e66439387 Add option to enable scrim SRC optimization
It turns out that the optimization to disable glClear + draw scrim
with SRC is not good for all devices, so this CL adds a config flag
to revert to the old behavior.

Bug: 17673806
Change-Id: Ic4e0177f2d6fcf4448755d0be66e8fbef2d15ab5
2014-09-28 20:16:53 +00:00
John Spurlock
9d1d07551b Shorten the zen supertoast visible duration.
Bug:16215680
Change-Id: I7ac8e9637b7bf8eae55b0902c60ddc9d513f20a3
2014-09-25 20:14:41 -04:00
John Spurlock
27c7b9295d Supertoast when user changes zen mode.
If the user selects a new zen mode, display a quick toast
with the mode icon + text to aid in association.

Also fix a recent regression in the zen subhead alignment.

Bug:16215680
Bug:17641211
Change-Id: I4ead88d81be4d9c26459aed82c47b8c2fb32eafa
2014-09-25 15:04:32 -04:00
John Spurlock
6035834cdd Mark sysui config resource as untranslatable.
Bug:17523754
Change-Id: I8917c110acc02c501e4dc011de4e6e7f8a0545c5
2014-09-19 20:48:24 -04:00
Winson Chung
bf5dbf1c15 Enabling recents stack clipping
The taskviews now avoid overdraw by clipping invisible
parts. Also adapted some timings of the animation.

Bug: 17455301
Change-Id: Ifbf7bab363e530cb2ad842baed50fc16dcfcc4c4
2014-09-18 18:34:17 +00:00
Jorim Jaggi
cb5570316d Add option for recents to use fake shadows
Bug: 17522143
Change-Id: I61fdecf8c5aa86b6dacd65ff8729590553d0854a
2014-09-18 14:26:52 +02:00
Selim Cinek
e8199c582d Removed round rect clipping and hardware layers from recents
This saves us a lot of memory and we avoid the clipToOutline.
The view still looks the same, as we now draw the thumbnail
in a rounded rect.
We now only use a hardware layer on the header, which is much
smaller.

Bug: 17522143
Change-Id: I197a1172efe8450ffb0b537c780a240d38f84275
2014-09-18 14:26:35 +02:00
Christoph Studer
9077cbc30e Merge "SysUI: Add no-wallpaper recents theme for low GFX devices" into lmp-dev 2014-09-17 14:17:33 +00:00
Christoph Studer
37e4468be1 SysUI: Add no-wallpaper recents theme for low GFX devices
Also add a config flag to control the theme to apply to RecentsActivity.

Bug: 17522143
Change-Id: I8d03e84e37b77698243673f6c4e676b2c53e0d07
2014-09-17 13:28:46 +02:00
John Spurlock
50a8ea6ec2 Doze: Workaround vibration-related pickup gestures.
Ensure the pickup is registered a safe period of time after the
last notification before resetting the notification pulse schedule.

Bug:17496795
Change-Id: I0edc9bcbdf078cbf55df5935744a3eee7e902b5d
2014-09-16 09:12:03 -04:00
John Spurlock
5ff1d4f848 Merge "Doze: Aggressively dial down notification-related pulses." into lmp-dev 2014-09-15 19:37:56 +00:00
John Spurlock
190d026167 Doze: Aggressively dial down notification-related pulses.
When dozing and buzz-worthy notifications arrive, don't follow
the LED logic with periodic pulses.

Instead, follow a simple decay schedule after the initial arrival,
 pulsing only at 10s, 30s, 60s, and 120s.

The schedule is reset when a new notification arrives, but only
for the first three times, until either the pickup sensor is
triggered or the device exits doze.

Also:
 - Make the notification trigger configurable.
 - Centralize existing sysprop configuration into DozeParameters.
 - Decouple vibration from debugging, make separately configurable.
 - Remove "delayed" pulse concept, fold into new schedule.

Bug:17496795
Change-Id: I64fc1c862bcfa1c288a4fd91c9d17e3bff245add
2014-09-15 15:35:56 -04:00
Jorim Jaggi
81e0c8491f Aggressive tuning of recents memory usage
Limit the thumbnail count to a maximum of 10 thumbnails and the app
icon count to a maximum of 20 thumbnails, instead of using a
byte-size based limit.

Also prune entries immediately when leaving recents.

Bug: 16513124
Change-Id: Id9a32f87ca3f9f19e5cad5f115d54b19b26f4f93
2014-09-15 10:56:35 +02:00
John Spurlock
f50dc4993f Doze: Use configured doze brightness when pulsing.
Use the framework doze brightness configured for this device
when pulsing, instead of a separately configured value.

Bug:17409425
Change-Id: Icadc00d6c20909375d4ab726ec254dbafd997ead
2014-09-12 13:26:00 -04:00
John Spurlock
d06aa57037 Doze: Introduce a pulse period function.
Instead of pulsing every 30 seconds to mimic the LED, use
a function that pulses more frequently for new notifications,
decaying to a slower pulse, and eventually stopping.

Specifically, the step function for the interval is:
 - 10 seconds for the first minute
 - then 30 seconds until the five minute mark
 - then 60 seconds until the 30 minute mark
 - then no pulsing at all

 - Since we pulse more frequently on new notifications, remove
   the "multi-pulse" concept.
 - Move all doze-related duration parameters to a new helper,
   backed by config, overridable by sysprops, include in dump.
 - Wake up from dozing when hitting volume keys during a pulse.
 -
Bug:17393939
Change-Id: Ica86f08b25c738338fced165c77faf3dfccd0343
2014-09-11 14:25:11 -04:00
Winson Chung
31e8d7602c Merge "Separating the notion of transposed search vs nav bar. (Bug 17402331)" into lmp-dev 2014-09-09 18:33:08 +00:00