Commit Graph

115 Commits

Author SHA1 Message Date
Mady Mellor
b3a6aed980 Add 'Snooze' to local context menu for notifications
Bug: 34840333
Test: manual - 1. turn talkback on
               2. have a notification focused
               3. invoke local context menu, note that 'snooze' is an option
               4. select snooze, note that notification is snoozed

Change-Id: Id3ea62a0a9e5c2b8893aa5b548e64bb2b341d7a2
2018-05-14 12:52:22 -07:00
Amin Shaikh
4c9048c364 Ensure QS tile secondary text marquees.
Update the logic to marquee only the currently selected page.

Change-Id: Idc2398e1c67c614414ae4298c43a1609431c62fa
Fixes: 78159844
Test: visual
2018-04-20 11:33:20 -04:00
TreeHugger Robot
b17c2388a5 Merge "Control the QS label marquees." into pi-dev 2018-03-30 21:13:04 +00:00
Julia Reynolds
ac55e01e1c Volume UI updates
- Reorder streams
- constrain ripples
- Show an introductory ripple on the ringer toggle
- Add sound/vibration feedback for the ringer toggle
- resize some elements

Test: manual
Bug: 76438403
Fixes: 73892482
Change-Id: I92dd6f5681f1822ae493a5a2b218b15970293e80
2018-03-29 16:42:28 -04:00
Amin Shaikh
0f8ea543c1 Control the QS label marquees.
- Start the marquee when fully expanded and pause when collapsed.
- Also do not change qs label to multiline once it's already been resized
to single line.

Change-Id: I2dd4f6b5473a6a5147999c29441537227751b705
Fixes: 74757991
Test: visual
2018-03-27 15:10:30 -04:00
Matthew Ng
2ea93b708d Revert "Revert "Centralized quick step/scrub/switch logic (1/2)""
This reverts commit 0e490d9208.

Reason for revert: Will be merged with fix
Bug: 74726495
Test: manual

Change-Id: I36ea9c2702107b23eff4adb1f3ba9fdc1be12999
2018-03-14 13:51:26 -07:00
Winson Chung
0e490d9208 Revert "Centralized quick step/scrub/switch logic (1/2)"
This reverts commit b06ae3bf13.

Reason for revert: b/74726495
Bug: 74726495

Change-Id: I4bce8df13f9fa9e1b420382f7a96f9855510196f
2018-03-14 19:41:16 +00:00
Matthew Ng
b06ae3bf13 Centralized quick step/scrub/switch logic (1/2)
Moved all the logic for quick step/scrub/switch to QuickStepController
so touch events can be used for deciding which gesture is used. Once a
gesture is decided, the rest will not handle the other gestures.

Quickstep will trigger when passing a touch slop on navigation bar. The
event onQuickStep (with a motion event) will be sent to launcher when
this occurs telling it that systemui is not handling anymore motion
events. During quickstep motion events will still be proxied.

Used raw X and Y motion events for Opalayout and KeyButtonView so that
the moving over the touch slop can be detected to ignore button (long)
press state.

Fixes: 73971902
Fixes: 74456391
Test: swipe up
Change-Id: I40b931aa0a9f123b810ff9206c9b1ce040a68a56
2018-03-13 17:21:22 -07:00
Julia Reynolds
b586745d86 Show app ops guts when tap app ops icons
Test: runtest systemui
Bug: 64085448
Change-Id: Ia51044f77311ab705ffb9dd1ae204d0131316396
2018-03-08 01:45:09 +00:00
TreeHugger Robot
5a169cf2f6 Merge "System sounds get its own dnd toggle" into pi-dev 2018-03-07 16:39:40 +00:00
Anton Hansson
d137c872cd frameworks/base: Set LOCAL_SDK_VERSION where possible.
This change sets LOCAL_SDK_VERSION for all packages where
this is possible without breaking the build, and
LOCAL_PRIVATE_PLATFORM_APIS := true otherwise.

Setting one of these two will be made required soon, and this
is a change in preparation for that. Not setting LOCAL_SDK_VERSION
makes the app implicitly depend on the bootclasspath, which is
often not required. This change effectively makes depending on
private apis opt-in rather than opt-out.

Test: make relevant packages
Bug: 73535841
Exempt-From-Owner-Approval: Global cleanup
Change-Id: I26458e41ecb84de91ac9a356a5d4bafb44f463c1
2018-03-07 11:42:04 +00:00
Beverly
d696476fb3 System sounds get its own dnd toggle
- Added logic for streams to be muted by dnd (unassociated with ringer)

Test: runtest -x frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
Bug: 73362490
Change-Id: I1101e67282f7331497e91eb510d2bf4f1ea6b4b1
2018-03-06 09:08:29 -05:00
Jason Monk
ba055f8f9d Import some plugin documentation into the tree
In the spirit of writing things down

Test: none
Change-Id: I93371eab99721ace1fd32d07739b861d492e4be6
2018-02-23 14:52:37 -05:00
Julia Reynolds
ee57193bb6 New small volume dialog
- Remove labels
- Remove output chooser dialog
- Reorder icons
- Add settings affordance
- Add instructive toast

Test: manual
Change-Id: I6640fb8147707936fe22e3c756ab29116973fbe3
Fixes: 73719758
Fixes: 73333233
Fixes: 71663761
2018-02-22 10:10:42 -05:00
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