Commit Graph

224 Commits

Author SHA1 Message Date
Julia Reynolds
138111fca3 Show snoozed conversations in conversation header
- And allow them to be unsnoozed with a tap.
- Also use the conversation's shortcut icon and name if available.
- And ignore the setting to turn off the strips since it now requires
explicit user action to make the strip visible

Note 1: unsnoozing a notification causes it to make sound again - we
probably want to change that for manually unsnoozed things
Note 2: the entries in the header don't yet persist across a reboot

Test: atest, manual
Bug: 149486431
Change-Id: Id661c25a49bc982e39deab977eb912f51eaf6757
2020-02-28 02:48:07 +00:00
Fabian Kozynski
1e88cfefac Merge "Add QSLogs using new loggers" 2020-02-12 15:10:27 +00:00
Dave Mankoff
9d81f0ab04 Merge "Unregister prox sensor when QS or Bouncer are expanded." 2020-02-12 01:36:37 +00:00
Dave Mankoff
1b2144d69d Unregister prox sensor when QS or Bouncer are expanded.
The FalsingManager doesn't need the prox sensor when its not being
used.

Bug: 149307116
Test: atest SystemUITests
Change-Id: Ib68c0a269c9f94b1a1bb0ba137a2bb5fde340bba
2020-02-11 14:49:18 -05:00
Fabian Kozynski
ca30f57095 Add QSLogs using new loggers
Test: manual using DumpController
Test: atest

Change-Id: Id665ff047d60ddfa5f8f2fe907b7e20f84bd0013
2020-02-11 10:31:52 -05:00
yingleiw
5e0f9f4b02 Revert "Partially revert "modify quick settings to adopt the accessibility state api""
This reverts commit 7a64815b74.

And added the info.setText() part in onInitializeAccessibilityNodeInfo()
in QSTileBaseView.java so that related tests are not broken.

Test: tested with quicksettings and
android.platform.test.scenario.sysui.quicksettings.ToggleWifiOn#testToggle (pass)
and android.platform.test.scenario.sysui.statusbar.NotificationIconOverflow#testNotificationOverFlow
(fails without and with my cl).

Change-Id: I611177fcbd32d35532cfcafbb2b7a73961d1ddc2
2020-02-10 09:57:50 -08:00
Fabian Kozynski
e87ef4d98d Remove prototype for color QS tiles.
This removes the prototype added in ag/9363655

Test: build
Test: toggle settings and observe
Change-Id: I48785ea90b039793591d048fcbd330ab1caf6cd7
2020-02-04 10:44:41 -05:00
Zhen Zhang
42faa9914c Merge "Partially revert "modify quick settings to adopt the accessibility state api"" 2020-01-30 21:40:13 +00:00
yingleiw
7a64815b74 Partially revert "modify quick settings to adopt the accessibility state api"
This reverts commit 4a72a74b2a except for
the api part.

Fix: b/148501707

Test: not needed
Change-Id: I3cf75589ca0abd2aa58a4291a0261b5ce42d066a
2020-01-30 21:38:38 +00:00
Matt Pietal
f07bac46ee Remove all control experiments
And plugins, and flags, and any associated code

Bug: 148207527
Test: atest SystemUiTests
Change-Id: Id1b800d6ec96b5297e6ed4792ca003d45b61e53e
2020-01-30 08:49:20 -05:00
yingleiw
4a72a74b2a modify quick settings to adopt the accessibility state api
Seperated out the state part from contentDescription. Also changed the
tile on/off states from mocking switch to unavailable/on/off state
description based on State.state. During testing, I removed event
merging (including source node merging) for state and content change
events. Use event text for state description changed part will be in a
seperate CL.

Test: tested on the quick settings tiles for focusing and state change
evnets. With the event merging removed, the state change is announced
when the focus keeps on the tile. Before my change, content change is
not announced when the focus keeps on the tile due to source node change
in event merging.

Fix: 148473520

Change-Id: I5b6aee6f0982cf4e0a3962fbe15239314f3a2de4
2020-01-28 13:31:13 -08:00
Julia Reynolds
12ba4cf7a8 Add conversation-centric inline controls
Round one - needs polish, and actions may be added or removed
in the future, and demote isn't working yet.

Bug: 137397357
Test: atest
Change-Id: Ia52598bec58fc54b8bde29168cd419a24d1e4dab
2020-01-15 10:20:29 -05:00
Dave Mankoff
9febfeb097 Disable falsing when resting on a Dock.
Fix typo: Classifer -> Classifier.

Use Executor instead of Handler in falsing related code.

Show a dump of BrightLingFalsing related information.

Bug: 139785197
Test: atest SystemUITests && manual.
Change-Id: I3be68cb9f27ccfb5a686947cc85aae74f21f099c
2020-01-03 15:21:04 -05:00
Heemin Seog
e9f4e96c0a Move dozing related methods out of ShadeController
isDozing is already provided by StatusBarStateController.
wakeUpIfDozing doesn't need to be in ShadeController and can stay in
StatusBar for now (potentially move into a dozing related controller in
the future?)

Bug: 144702768
Test: manual, atest SystemUITests
Change-Id: I8f7d6a452388308de5fdd1adfbcd200fd3076a2f
2019-12-09 12:32:28 -08:00
Andy Wickham
202970155d Adds NavigationEdgeBackPlugin to iterate on different Back implementations.
NavigationBarEdgePanel now implements the new plugin. As part of that,
some of the UI-specific logic from EdgeBackGestureHandler has been
moved to NavigationBarEdgePanel (e.g. Dark region detector and logic
around the arrow position).

Test: Built and manually tested existing back behavior.
Fixes: 143907351
Change-Id: I0e01581d6b69e6a8a03a4338be83ed5ff8b2da65
2019-11-15 13:19:15 -08:00
Beverly
8cf4996fdf Set a good example - don't export ExamplePlugin
Plugins should never be exported because this would allow other
packages installed on the device to attempt to launch it via
Context#startService which can crash SystemUI.

By default, if a service has an intent-filter, exported is set to true.
Therefore, we must explicitly set exported=false.

Test: n/a
Bug: 142012333
Change-Id: Iaf4191ee3006cc07eb0309f068854c103683e99d
2019-10-30 20:39:16 +00:00
Steve Elliott
bfc57f36d8 Finer-grain control of people sorting via plugin
This change allows for NotificationPersonExtractorPlugin implementors
to mark notifications as "people" (to be sorted into the People
bucket) separately from extracting data from them for PeopleHub.

Test: manual
Change-Id: Ieb8a9aeea06bbfe70976ebf46274567347e695d7
2019-10-24 15:35:32 -04:00
Steve Elliott
984cfec745 Plugin interface for PeopleHub
This allows for plugins to add additional "people notification"
detection logic, useful for prototyping against apps which do
not post MessagingStyle notifications.

Test: manual
Change-Id: I8b7b824beed50dfb86689f41ff151b3014737ffb
2019-10-23 11:23:59 -04:00
Jorim Jaggi
956ca413e3 Window Manager Flag Migration (4/n)
Wire up the appearance and the transient state of system bars between
WMS and System UI. The derived classes of CommandQueue.Callbacks no
longer listen to setSystemUiVisibility, but listen to showTransient,
abortTransient, and onSystemBarAppearanceChanged instead.

Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
            InsetsPolicyTest WindowStateTests CommandQueueTest
            RegisterStatusBarResultTest InsetsFlagsTest
            LightBarControllerTest
Test: build on specific target
Change-Id: Ie35f4b4468bce7ef8c76f091e306610c069fba85
2019-10-19 16:59:06 +08:00
Ioannis Ilkos
5a5678d244 Merge "Revert "Window Manager Flag Migration (4/n)"" 2019-10-17 09:49:58 +00:00
Ioannis Ilkos
8cca14103c Revert "Window Manager Flag Migration (4/n)"
This reverts commit cb1b848084.

Reason for revert: Droidcop-triggered revert due to b/142849532

Change-Id: If81eba4e979e21202e78839bb1afbc66691098d2
2019-10-17 09:38:00 +00:00
TreeHugger Robot
0be9fec5c1 Merge "Window Manager Flag Migration (4/n)" 2019-10-17 05:46:19 +00:00
Jorim Jaggi
cb1b848084 Window Manager Flag Migration (4/n)
Wire up the appearance and the transient state of system bars between
WMS and System UI. The derived classes of CommandQueue.Callbacks no
longer listen to setSystemUiVisibility, but listen to showTransient,
abortTransient, and onSystemBarAppearanceChanged instead.

Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
            InsetsPolicyTest WindowStateTests CommandQueueTest
            RegisterStatusBarResultTest InsetsFlagsTest
            LightBarControllerTest
Change-Id: I1dcaff47ae57ccee91146fdc042cde5e26fc0b3f
2019-10-17 01:41:34 +08:00
TreeHugger Robot
f3c1c427b2 Merge "Home Controls: Add a new Controls tile for prototyping" 2019-10-16 16:53:46 +00:00
Matt Pietal
b6da00e69a Home Controls: Add a new Controls tile for prototyping
Must edit the QS area to add the new Controls tile and have set:

adb shell settings put system qs_controls_tile_enabled 1

Test: visual
Change-Id: I7359d394d6d0a5eb408de7049bf0b3051c83e361
2019-10-16 11:18:49 -04:00
Fabian Kozynski
05843f07cc Add support for BooleanState in CustomTile
Added API for a TileService to declare that they are a boolean tile. In
that case, the tiles behave like frameworks tiles when using TB.

Test: atest CustomTileTest
Test: manual, added to DevelopmentTiles and observe behavior
Test: manual, Grayscale behavior doesn't change
Bug: 138579147
Change-Id: I2f2dae90a49897015138ab9615a4a556da623358
2019-09-23 20:34:15 +00:00
Dave Mankoff
63a1282b03 Make DozeSensors, DozeTriggers use ProximitySensor
This CL takes the features used in DozeSensors and applies
them to the publicly available util.sensors.ProximitySensor class.

It introduces a RateLimiter class for temprorarily suspending the
ProximitySensor as requested.

It introduces a ProximityCheck class for a quick, one time test
of the proximity sensor.

There is some reshuffling of Sensor related code to its own package
as well.

Bug: 141122220
Test: atest SystemUITests
Change-Id: If126be9a56c6966c1678ee70fa6f4623e51361a7
2019-09-18 11:25:43 -04:00
Matt Pietal
b3e8cbd2a6 QS - Prototype visual affordance for detail panels
Builds on ag/9335278 to show "..." below tiles that support direct to
detail view on touch.

Test: manual
Change-Id: I1c192656505bac228a3935f0aa498c37a468d973
2019-09-12 12:09:31 -04:00
Fabian Kozynski
67ffcf8936 Add colors to tiles
Protoype for modifying color of tiles. Provides 2 modes:
qs_color_enabled: allows changing background of tiles
qs_color_icon: allows changing color of icon (only use with
qs_color_enabled)

Enable using:
adb shell settings put system <name> <value>
where name is one of (qs_color_enabled|qs_color_icon) and value is (0|1)

With qs_color_enabled, color of individual tiles can be changed using
adb shell settings put system qs_color_enabled/<spec> <color>
where spec is as defined in QSFactoryImpl and color is one of
(red|green|blue|yellow|accent).

Test: manual

Change-Id: I66096cfa5cb8570074b1547ca3e41bd0888973fa
2019-09-10 15:45:42 -04:00
Fabian Kozynski
3bf518dd98 Adding a Plugin to attach things under QQS
This plugin responds to expansion and changes in theme, ui, etc.

Test: manual

Change-Id: I5d866a4fff491aa6273edfb765e538864b270534
2019-09-05 12:26:13 -04:00
Matt Pietal
50c8b50b37 Controls: Add a temporary space for home controls integration
This space will only be visible by setting a flag to enable split
status-bar functionality:

adb shell device_config put systemui qs_split_enabled true

To populate the view, you will also need to build and install an
experimental plugin from google3, coming shortly.

Test: manual
Change-Id: Iccf712a0355ebf8d9c6da2dac63874820270d405
2019-08-21 13:40:12 -04:00
Jeongik Cha
eb50963ac5 Merge "Add platform_apis in Android.bp" am: cebe8f985f am: 869f3888bd
am: 820f1feefa

Change-Id: If1d59e4bf335f1179bebf83f03644e735415a130
2019-07-25 02:12:54 -07:00
Jeongik Cha
820f1feefa Merge "Add platform_apis in Android.bp" am: cebe8f985f
am: 869f3888bd

Change-Id: Ia8b15bc76441e5240bc90429b56cfdf1591a93f5
2019-07-25 02:03:22 -07:00
Jeongik Cha
869f3888bd Merge "Add platform_apis in Android.bp"
am: cebe8f985f

Change-Id: Ia9f556a6066985a4c210192b196f54c5c35d6cd6
2019-07-25 01:53:31 -07:00
Dave Mankoff
73d48ab970 Add cleanup method to FalsingManager to prevent memory leaks.
When the FalsingManager gets reloaded (due to plugins) it can
leak its listeners and callbacks. This change fixes that.

This is a CP of http://ag/8668802.

Bug: 136351609
Test: manual
Change-Id: I7ea8384678b60e78ed384e19bbd7932722fe2b9c
Merged-In: I2b52d018d478dbcad4ecb7d8a5b361638d5c5877
2019-07-22 10:50:22 -04:00
Dave Mankoff
4c5a13ebd9 Add cleanup method to FalsingManager to prevent memory leaks.
When the FalsingManager gets reloaded (due to plugins) it can
leak its listeners and callbacks. This change fixes that.

Bug: 136351609
Test: manual
Change-Id: I2b52d018d478dbcad4ecb7d8a5b361638d5c5877
Merged-In: I2b52d018d478dbcad4ecb7d8a5b361638d5c5877
2019-07-16 20:01:29 +00:00
Jeongik Cha
a1bf8a9b75 Add platform_apis in Android.bp
platform_apis must be true when sdk_version is empty.
So add platform_apis into file that is not included it.

Bug: 132780927
Test: m
Change-Id: Ie7badd61248bbabaf51ef8fb30bdd832af88da15
2019-07-11 15:40:04 +09:00
Selim Cinek
2cfa02421b Merge changes I5694a38e,I488f90aa,Ie9644dc8,I8d5b5b53,Ib8a0fa19 into qt-r1-dev
* changes:
  Continued the bypass experience
  Changing the lockscreen layout for the bypass
  Enabling auth to succeed whenever the bouncer is showing
  Enabled dragging down from the lock screen when bypassing
  Made sure huns can show on the lock screen even when awake
2019-06-20 02:04:12 +00:00
Selim Cinek
b0fada6ca0 Changing the lockscreen layout for the bypass
The notifications are now on the top and the user
can drag down to the full shade from there directly.
The quick settings header also comes down while
expanding from the pulse.

Bug: 130327302
Change-Id: I488f90aacd5912eda6f9423dc76862f06230d793
2019-06-19 16:13:53 -07:00
Beverly
f2d9819b19 Add skip gesture status type
Test: manual
Bug: 134143348
Change-Id: I538142e367489cd32cc788426e1fc881f0006e79
2019-06-14 15:57:16 -04:00
TreeHugger Robot
1f55123ee7 Merge "Make DozeParams available to Plugins" into qt-r1-dev 2019-06-08 01:14:30 +00:00
Beverly
1488f69eb0 Make DozeParams available to Plugins
Test: manual
Bug: 134519217
Change-Id: I4a2b0827b861ef922fab85e0e6a6dde2313ba78f
2019-06-07 18:52:27 +00:00
Beverly
e14f08e9f5 Add callbacks to StatusBarStateController
So plugins can receive this information without an IPC call

Test: manual
Bug: 133783909
Change-Id: I716ed6af78ab5a80a36fb680bc5d42758766523d
2019-06-07 17:36:00 +00:00
Dave Mankoff
468d4f6f79 Add support for FalsingPlugin to supply a replacement FalsingManager.
Bug: 130256776
Test: Manual
Change-Id: Icdf150e6e23d216f04a9243fe57919aa622706d5
2019-05-10 12:14:27 -04:00
TreeHugger Robot
7db0bf1a50 Merge "Remove plugin logical from NavigationBarView (1/2)" into qt-dev 2019-05-10 02:08:40 +00:00
Steve Elliott
86ef62853c Global Actions Panel plugin can override Global Actions background
Bug: 128828632
Test: manual
Change-Id: I7b68bd0be5243d0e42101d4e02ae24da786aee32
2019-05-09 18:07:35 +00:00
Matthew Ng
e0d5ccd331 Remove plugin logical from NavigationBarView (1/2)
Fixes: 129860064
Test: manual
Change-Id: I8cfa77cf40f62ab1e5f1ad8d1957107aca1557f2
2019-05-09 11:03:20 -07:00
beverlyt
f9dfd23ce6 Add callback to OverlayPlugin - updates forcePluginOpen
Test: manual
Bug: 132075794
Change-Id: I341d121711dfefbf9a888b080faafd0110d2b8ed
2019-05-07 16:57:38 -07:00
Dave Mankoff
dde5ee6953 Change FalsingManager to an interface for easier swapping.
This is a refactor. It touches a lot of files, but zero functionality.
The primary change is changing FalsingManager.getInstance() into
FalsingManagerFactory.getInstance(); chaning FalsingManager into an
interface, and then turning the existing FalsingManager into
FalsingManagerImpl, an implementation of that interface. Other changes
are merely references to those classes.

Bug: 130256776
Test: atest SystemUITests
Change-Id: I5d64a7673e4efc554105dd841b27807361ed3828
2019-05-03 10:13:39 -04:00
Steve Elliott
2f1382eaf2 Merge "Update GlobalActionPanelPlugin API with lockscreen state notifications" into qt-dev 2019-05-01 23:21:14 +00:00