Commit Graph

101 Commits

Author SHA1 Message Date
Rohan Shah
a840199853 [QS] Fix irritating animation for QS
We're animating 2x the icons and, due to the transparent grey
background color, it looked like the icons were getting darker.

Fixed by having it exclude the full icon frame while animating.

Test: Visually
Bug: 72173914
Change-Id: Ie36973ab44a86e6e1edd99b9266420a274d9aaa2
2018-01-29 12:20:31 -08:00
Beverly
925cde8f74 Alarms and Media visibly muted in PriorityOnly dnd
- if alarms and/or media cannot pass dnd and the phone is currently
in priority only dnd, then the alarm and/or media volume stream
will appear muted in the volume dialog and sound settings
(Settings > Sound)
- if all behavior for priority only dnd is not allowed to bypass dnd
(discluding alarms and media), then ringer is muted when priority-only
dnd mode is on. If a user clicks this ringer in the volume dialog, then
dnd ends
- Updated default zen config to version 3 (added alarms and media)
Test: manually toggle alarms + media in Settings > Sound > DND >
Behavior, toggle on/off dnd and then look at volume dialog and
volume bars in Settings > Sound
Test: runtest --path cts/tests/tests/media/src/android/media/cts/AudioManagerTest.java
Fixes: 72052742

Change-Id: Ia9e809ec2be93cb5a9ba6518dce04bf3ce45110b
2018-01-26 18:39:06 +00:00
TreeHugger Robot
1d92689eee Merge "Add QS scrolling support" 2018-01-25 16:50:16 +00:00
Julia Reynolds
6692b47d37 Display the current connected audio device
If connected via bluetooth.

Also fix long press behavior on the ringer footer, and
change the output chooser icon.

Test: manual
Bug: 63096355
Change-Id: I2c4d86fb03f8ac38721b6fc580bba45871d59f5d
2018-01-24 16:59:10 -05:00
Jason Monk
231b052d1f Add QS scrolling support
The brightness slider and tile layout are now a scrollview and
can handle nested scrolling between the views. There is some
black magic which manages the touches to allow a scroll up to
continue into a collapse gesture.

TODO: need to add edge effect colors to theme

Test: visual
Bug: 70799330
Change-Id: Ief0c1480f001cae62175c8ac4f3784daaa0ed2b8
2018-01-24 11:30:00 -05:00
Jason Monk
c17b7d9143 Add support for secondary text in QS
Test: visual
Bug: 70799372
Change-Id: I64b1d050807e69f1755604e0baff94b89c9aeb2b
2018-01-16 22:11:25 +00:00
Matthew Ng
a8f2426df6 Beginning implementation of quickscrub (1/3)
When enabled via launcher, the home button is able to be be pulled to
the right side to send events to launcher via binder calls of when the
quick scrub operation starts, ends and progress changes between each
interval. Launcher will use this information to determine how the
recents apps are laid out with vibration feedback.

When the home button is pulled and released under 150ms, quick switch
will occur. A binder call will tell launcher to switch to the previous
app used.

While quick scrub or switch is active, launcher will not get any nav
bar motion events, only events for quick scrub and switch.

Bug: 67957962
Bug: 70180755
Test: enable new experience via launcher settings
Change-Id: I344f5d67f259ff454205ea4d2e95140f783d3b5c
2018-01-12 12:24:03 -08:00
Evan Laird
daad3da642 Merge "Fix incorrect colors for CustomTile in QS" into oc-mr1-dev am: 859f8c4a21
am: e5d55d52b6

Change-Id: I7ab8bd9a58a7582286e73f1888b81d4a745eac24
2017-10-18 15:13:54 +00:00
Evan Laird
b3daf2b88c Fix incorrect colors for CustomTile in QS
Add support for Supplier<Icon> in QSTile.State, allowing a method for
CustomTile not to cache the drawable for its IconViews. This fixes the
problem that the ImageViews in QQS and QS were trying to use the same
drawable and putting it in a bad state.

Test: Add 3rd party tile to first position in QS and turn on/off; visual
Change-Id: I408d6391a718fcb3f847e72bd303551d2d004dbb
Fixes: 67356768
2017-10-17 16:00:29 -04:00
Charles He
9851a8da99 StatusBar: add DISABLE2_GLOBAL_ACTIONS.
We add a new StatusBarManager flag to disable the global actions dialog
(a.k.a. the power button menu), which is required in certain kiosk mode
scenarios.

Bug: 65813398
Test: runtest systemui
Test: manual, by using a modified version of TestDPC and
      DevicePolicyManagerService

Change-Id: Ib7da2f4837281e98e558afcc30be8bae6f2e179a
2017-10-10 21:04:42 +01:00
Jason Monk
d2aa1351c9 Roll back nav bar interface to version 2
Partial revert of If27641aedcd05ebc834c9dc0b38d18cd20ddae03

Test: make
Change-Id: I47de1ca026028e16e6c4075e6be5b18a9746962c
Fixes: 65055647
2017-08-25 16:00:01 -04:00
Daniel Sandler
d33fe05c66 Merge changes from topic "revert-injectors" into oc-mr1-dev
* changes:
  Revert "Add API to allow apps more control over instantiation"
  Revert "Add plugin to swap out recents"
2017-08-17 14:32:40 +00:00
Dan Sandler
f6e33b1b33 Revert "Add plugin to swap out recents"
This reverts commit 0ea67d82e3.

Bug: 64345190
Change-Id: I353c064db7bfaf91e98b5fd0d3e7180381a1b2b8
Test: n/a
2017-08-15 16:45:07 -04:00
Annie Chin
98cdafb191 Remove ButtonInterface.setCarMode()
Bug: 63444779
Test: Android Auto still functions
Change-Id: If27641aedcd05ebc834c9dc0b38d18cd20ddae03
2017-08-15 11:32:08 -07:00
Jason Monk
0b99402f87 resolve merge conflicts of de0c539dd4 to oc-mr1-dev
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I3f5eb2a0481fb09b98c0c522c82c233350c06375
2017-08-08 16:27:14 -04:00
Jason Monk
b4302182bc Move shutdown UI to sysui (when possible)
Test: click restart or power off in global actions
Change-Id: I0dc30a9772bbfb3cd3c3568f157e854fef87bf87
Fixes: 63576195
Fixes: 64125291
2017-08-08 09:13:51 -04:00
Anthony Chen
54daefe3aa Use custom QS fragment for auto use-case.
Use a custom QS fragment if the UI mode is car. This fragment disables
the quick settings row and expansion. Remove the config options that
used to have disabled this in the phone QSFragment.

To accomplish this, introduce a new QSFooter interface. The old
QSFooter.java now implements this.

Test: boot on phone and Android Auto headunit
Bug: 33210494
Change-Id: I5accc2d27d6725380ca5e271d332a03991c9419b
2017-06-28 14:32:28 -07:00
Jason Monk
0ea67d82e3 Add plugin to swap out recents
Adds new mechanism for activities in sysui to be replaced by plugins
and allows that to happen for recents.

Test: runtest systemui
Change-Id: I8b570ce7c57484c58a52afe5e247d24ebfa0c57f
2017-06-27 20:41:45 +00:00
TreeHugger Robot
51278d6a27 Merge "Add customs accessibility actions to snooze, allow it to be focused" into oc-dr1-dev 2017-06-21 18:31:35 +00:00
TreeHugger Robot
644f8e8583 Merge "Add plugin hooks to DozeService" into oc-dr1-dev 2017-06-13 23:51:13 +00:00
Mady Mellor
f33a097232 Add plugin hooks to DozeService
- Find out when the dreaming starts / stops
- Request the doze UI to show / hide

Bug: 62534409
Test: manual, have no plugin, check that doze still works as expected (i.e.
      pick up gesture shows it, noti shows it)
Change-Id: I11618e47e0bab18423f0d89c8daf285d8c14d238
2017-06-13 10:28:40 -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
Mady Mellor
f3f6ddf7cb Merge "Updates to NotificationMenuRowPlugin so that long press may be captured" into oc-dr1-dev 2017-06-12 21:48:45 +00:00
Mady Mellor
4ab2820e6c Updates to NotificationMenuRowPlugin so that long press may be captured
This will allow the NotificationMenuRow plugin to do something else
rather than showing a menu when the view is long pressed.

- Allow menu to intercept touch events
- If the menu item provided to long press is null, don’t show it
- Also passes the status bar notification when the menu is created
  or updated

Bug: 62534409
Test: manual, have no plugin and long press -> see notification info
      have a plugin that returns null for long press -> nothing happens
Change-Id: I384c5217d5343e990f4c3506eb2477b015705e5c
2017-06-12 18:08:19 +00:00
Jason Monk
8f8b5ac031 Merge "Add notification listener plugin hook" into oc-dr1-dev 2017-06-09 16:57:49 +00:00
Jason Monk
98bf8ba30c Add notification listener plugin hook
Allows plugin control over notifications right at the entrance
to sysui and gives them the opportunity to mess with them how
they see fit.

Test: manual
Change-Id: I569bf37138da66d0524acecfa36ceb409f98fbb4
2017-06-08 19:23:11 -04:00
Jason Monk
d7dab0f36f resolve merge conflicts of a5b457b3bf to oc-dr1-dev
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I2aa49bfdbd2c44684d0edb21b52520fea406e167
2017-06-08 13:00:40 -04:00
Jason Monk
01df36f37f Move QS cell indicator back into mobile data tile
Remove it from the header and drop it back in its old location.

This reverts commit 10b4c8a4ab.

Test: runtest systemui
Fixes: 62331189
Change-Id: I087589c256894e0972656619e665b6a16536ce6c
2017-06-07 15:00:23 -04:00
Mady Mellor
cbff978fb4 Merge "Check for false touches when determining if the notif menu should be shown" into oc-dev am: 70739fb812
am: 2cd3e9c500

Change-Id: I393a87e48487ec51fc563cc1cb9f50d604970dc0
2017-05-26 15:13:59 +00:00
TreeHugger Robot
70739fb812 Merge "Check for false touches when determining if the notif menu should be shown" into oc-dev 2017-05-26 14:40:27 +00:00
Jason Monk
2775a1d82d Merge "Fix up the QS gutter" into oc-dev am: 78ee090f78
am: f4968f3c98

Change-Id: I9b7d99aa2b519c8c9629dbec32d22c906f0456f7
2017-05-25 22:00:15 +00:00
Mady Mellor
bd707492a2 Check for false touches when determining if the notif menu should be shown
If it's a false touch don't show the menu.

Test: manual: try swiping things away on the lockscreen (fast + long)
     try showing notification menu on the lockscreen
Bug: 38208094

Change-Id: I16ceedd90a5fbc80156a9495d6cfd6fa02771886
2017-05-25 13:26:53 -07:00
Jason Monk
4de5d3c03d Fix up the QS gutter
- Don't show when collapsed, show divider instead
 - Don't show when no notifications
 - Animate between states while expanding/collapsing
 - Other visual cleanup

Test: visual
Change-Id: I923c963fa70d63601b6a181299b04c5fc49922bb
Fixes: 38199857
Fixes: 38483355
Fixes: 38409326
Fixes: 38417776
2017-05-25 14:22:07 -04:00
Mady Mellor
97d52db854 Merge "Fixes issue where the notification menu was not visible after RTL changes" into oc-dev 2017-05-09 23:41:28 +00: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
Mady Mellor
d9c2232c99 Fixes issue where the notification menu was not visible after RTL changes
- Altered how the menu location is set so that it doesn't depend on RTL
  state
- Also fixes an issue where if you change from landscape to portrait or
  vice versa then the menu wouldn't be visible because the placement is
  based on the width of the notification which changes based on orientation

Test: (1) have notifications and show the menu, toggle the RTL state,
          show the menu, note that it is visible
      (2) have notifications and show the menu, rotate the device, note
          that the menu is still visible
Fixes: 36874498
Merged-In: I33b8f87e53a3393a2802842ad2196c9d089ec7fc
Merged-In: I3a3b688f2b301f5ac0446a55b668db79c323a95c
Change-Id: I3a3b688f2b301f5ac0446a55b668db79c323a95c
2017-05-05 00:15:14 +00:00
Jason Monk
767e2fe523 Merge "Fix QS visibility logs missing some info" into oc-dev am: df9b2e8d80
am: 86cc4bbac5

Change-Id: Ib765a9aa0807ddd074b3ff4b066c8f79eb2751a8
2017-05-03 19:16:35 +00:00
TreeHugger Robot
df9b2e8d80 Merge "Fix QS visibility logs missing some info" into oc-dev 2017-05-03 19:04:35 +00:00
Jason Monk
cb4b31d396 Fix QS visibility logs missing some info
Test: runtest systemui
Change-Id: I6deb71576b137dfbd51f863e88ad939d4f3fab1b
Fixes: 35454347
2017-05-03 10:37:34 -04:00
Adrian Roos
673c07f3da Merge "DozePlugin: Remove" into oc-dev am: b2484f2258
am: 825b574892

Change-Id: I5994fbdd9cc15c1dc42fbecd63792eb2214ab017
2017-05-03 13:55:11 +00:00
Mady Mellor
9d03a5254f Fixes issue where the notification menu was not visible after RTL changes
- Altered how the menu location is set so that it doesn't depend on RTL
  state
- Also fixes an issue where if you change from landscape to portrait or
  vice versa then the menu wouldn't be visible because the placement is
  based on the width of the notification which changes based on orientation

Test: (1) have notifications and show the menu, toggle the RTL state,
          show the menu, note that it is visible
      (2) have notifications and show the menu, rotate the device, note
          that the menu is still visible
Fixes: 36874498
Change-Id: I3a3b688f2b301f5ac0446a55b668db79c323a95c
2017-05-02 14:25:56 -07:00
Adrian Roos
664c9d7d16 DozePlugin: Remove
The DozePlugin has not been able to keep up with the changes to DozeMachine.
At this point it is cleaner to just remove it.

Bug: 30876804
Test: make SystemUI
Change-Id: Ie8cd1488eb862017c54b92b1fba07537c0143bff
2017-05-02 12:12:57 -07:00
Mady Mellor
4c19760b91 Don't offer snooze for foreground service notifications
Also updates NotificationMenuRow tests to actually check if menu
was created.

Test: Manual, have foreground service, check if snooze is visible
Bug: 37152715
Change-Id: I09cf60598c3e8991f2da731da1ef7e0a718c3435
2017-04-10 18:30:27 -07:00
Jason Monk
e645aee45a QS: Add transient icon for hotspot
Will make the loading time more clear.

Test: visual
Bug: 32270851
Change-Id: I0ea7591da132ff65fb7fc16b03b2891891e66598
2017-03-31 13:49:21 -04:00
George Mount
c7146beabe Make public getFragments() and onGetLayoutInflater() methods
Bug 34703669
Test: I846ef668e3dd7d664cfb56d2b9400467ba9b79f4
Change-Id: Ie202960ada86b25e964f98a639b5f5740c8fdb79
2017-03-29 14:58:42 -07:00
TreeHugger Robot
9d421ba050 Merge changes Ia971b2bc,I0001eb3d,I55a6951e
* changes:
  Remove framework-protos from SystemUI
  Disable proguard for PluginDummyLib
  Enable multidex for dx
2017-03-27 23:37:10 +00:00
Mady Mellor
be976024a8 Merge "Add plugin interfaces to control notification menu / swipe behavior" 2017-03-24 16:54:18 +00:00
Colin Cross
6a8a4d8912 Disable proguard for PluginDummyLib
Proguard fails for jars that contain no class files, disable it.

Test: m -j ANDROID_COMPILE_WITH_JACK=false PluginDummyLib
Change-Id: I0001eb3de7b7cea2fa9f91de0c1e59569d41ae8a
2017-03-23 18:08:41 -07:00
Jason Monk
782cd6711b Create plugin interface for volume dialog
Very few logic changes, mostly just breaking out certain interfaces
and classes to the plugin lib.

Test: make + volume keys
Change-Id: Ieabc6d35f6ef980842849236a0b8ffd5543b3a2c
2017-03-24 00:40:25 +00:00
Mady Mellor
95d743c38c Add plugin interfaces to control notification menu / swipe behavior
1) Updates the notification menu plugin to do more:
- The plugin can now supply the view it wants to display behind a
  notification as the menu
- Touch interaction (i.e. notification translating on top) is piped
  through to the plugin so it can update the view behind the notification

2) Makes NotificationMenuRow an implementor of the plugin which moves
   a bunch of that logic out of NotificationStackScroller

Test: runtest systemui
Change-Id: I8723b96c195ff7311317d5523418cfcbe2a79b52
2017-03-22 19:04:50 -07:00