Commit Graph

118 Commits

Author SHA1 Message Date
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
Dave Mankoff
af8163f77d Revert "Revert "Refactor PanelView and NotificationPanelView into Controllers.""
This reverts commit da13c3fd3d.

This includes a fix for the original issue - an NPE in
NotificationPanelView.

Bug: 147295216
Change-Id: Id1a71b0e30aada460a70d738c5451e21dd412a7a
Test: atest SystemUITests
2020-01-08 14:55:19 -05:00
Zhuoyao Zhang
da13c3fd3d Revert "Refactor PanelView and NotificationPanelView into Controllers."
Revert "NoticationPanelView now has a controller."

Revert submission 9930899-b141751146-npv-controller

Reason for revert: b/147295216
Reverted Changes:
I9a92cad63: Refactor PanelView and NotificationPanelView into ...
I454bc4790: NoticationPanelView now has a controller.

Change-Id: Iae9db40e9385e1b88bd2f5f162a5f6d53d91878d
2020-01-08 18:30:30 +00:00
Dave Mankoff
59b9496c7b Refactor PanelView and NotificationPanelView into Controllers.
Bug: 141751146
Test: atest SystemUITests
Change-Id: I9a92cad636e30634ac5b1fa16121d320991492c2
2020-01-06 14:56:26 -05: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
Dave Mankoff
0cf8dfce9b Create controller for StatusBarWindowView.
This moves most of the logic out of the view and into
StatusBarWindowViewController. It is not beautiful, but
it is cleaner than before.

This removes the final call to Dependency.get(FalsingManager.class).

This also fixes a small, old bug in
StatusBarWindowView.onInterceptTouchEvent where the results
of calling hte super method were being unintentionally ingored.
(This bug would have been introduced nearly seven years ago.)

Bug: 141751146,136279712
Test: atest SystemUITests
Change-Id: I5e09c1c0f2a3098db1a47837ddce3d382099f483
2019-10-07 11:05:40 -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
Jerry Chang
f5ec09e661 Add dock info view overlay
Bug: 122806326
Test:  atest SystemUITests
Change-Id: Ic2a35b34fcb560e36e784fa0d0a962e9dae9b962
2019-01-17 13:08:12 +08:00
Robert Snoeberger
6a0140ab95 Add container for big clock behind NSSL and KeyguardStatusView.
Bug: 120497585
Test: Added tests to KeyguardClockSwitchTest, pass locally.
Change-Id: Icc1199a67b9a4728e4d0f0b50ea98f5221de904d
2018-12-20 13:20:39 -05:00
Rohan Shah
20790b89c7 Organize notification classes in row/stack
No functional changes. Reorganized logic under either row, stack,
logging, or row/wrapper. Haven't moved all classes over since there's
some classes that create conflicts due to weird use of
package-private/protected (primarily waiting for HUN and shelf classes).

Test: built, ran, used notifications
Bug: 110802404
Change-Id: Ia2152603bdbeb12c522360193511946c843b9266
2018-07-18 11:20:32 -07:00
Evan Laird
39254d469d QS visual updates for P
- Black status bar area up top
- Gradient view behind QQS area
- Added stub view for system icon area
- Most things are parameterized for qs_header_system_icons_area_height,
so this can be moved and overlaid for devices with a notch

Test: visual
Bug: 70799006
Bug: 63772836
Change-Id: Iee3a975f50d572084de370d1b183a37f5e8e9e1a
2018-01-19 09:31:19 -05:00
Jason Monk
8a514cb414 Make QS rounding match notifications
Test: visual
Bug: 70799006
Change-Id: Iae9bba222e7d34c520df2b673e6d346a44ebcc0e
2018-01-16 22:05:17 +00:00
Lucas Dupin
987f1937a0 Change keyguard theme when wallpaper colors change
Bug: 38163994
Bug: 37014702
Bug: 62053168
Test: visual
Change-Id: I5a2da4ef2ad6fc1dab71588f2d0f5bd207731900
2017-06-01 12:14:53 -07:00
Adrian Roos
8d4e99fe8b AmbientIndication: Move into container
This allows fixing the following bugs:
- ambient indication should be hidden outside keyguard
- ambient indication should animate with the unlock hint
- ambient indication should fade out when unlocking

Fixes: 38289189
Test: observe that the things above are working correctly
Change-Id: I34aff69bb5621a3f12c25e87eac6a89c8c7e2165
2017-05-30 17:48:23 -07:00
Anthony Chen
04d1ea759d Allow the width of the notification panel to be adjusted separately from
the quick settings panel.

Also, introduce the option to allow the clipping that the panel by
default does to be disabled. This allows the items in the panel to be
swiped beyond the edges of the panel.

Test: booted up on AAE headunit and Angler device.
Change-Id: I8d8f501f98fea5c1c85541099df4ca34d10fc648
2017-04-26 11:47:44 -07:00
Anthony Chen
9fe1ee7413 Allow clipping of notifications to be toggled.
There are two clippings being changed. The first is the shrinking of the
height when a notification is being scrolled offscreen. This effect is
not noticeable on phones/tablet, where the background is a rectangle.
However, for Android Auto, the background is a rounded rectangle. By
allowing the clipping to be disabled, the notification now appears to
scroll off-screen and not that its height is shrinking.

The second modification is to allow the outline of the notification to
have rounded corners. This allows the outline to clip its contents along
the rounded edges.

Test: booted up on phone and Android Auto headunit
Bug: 33210494
Change-Id: Id41a57c9164cabe554b4c5b4d713e9d3cb805b09
2017-04-21 10:41:10 -07:00
Adrian Roos
75fa9648ec Ambient Indication: Add supporting infrastructure
Adds a stub for inflating the ambient indication. Also
adds some logic to the panel view to avoid the
indication by showing fewer notification while it's
there.

Bug: 36777988
Test: m SystemUI
Change-Id: Ifee218860a7561d77edf0f71a17e02c975132597
2017-04-20 21:30:13 +00:00
Anthony Chen
3cb3ad9998 Refactor notification to allow for overlay by Android Auto.
Android Auto requires different styling for notifications. In
particular:

- Background of scrim to be a different color
- Notification shade should always be full width
- No quick settings
- User switcher always visible
- Card styling, such as rounded corners and more spacing between items.
- Notification shade to be triggered from a button on the navigation
  bar.

Refactored different areas of the framework to allow for this. This
mostly means extending notification code and overriding methods where
appropriate.

Test: manually tested
Bug: 33487455
Change-Id: Ifcea70e121c1cbbeb057bb6ce8d351336ae41554
2017-02-01 10:05:07 -08:00
Jason Monk
0ceef21187 Move QS to a fragment
There is now a bit too much of the view/layout logic touching the
fragment, but sort out that later and get something over to fragments
for now.

Bug: 32609190
Test: Manual
Change-Id: Icf677f4a70e6b92892a0fc27a0e673940ebc7a73
2016-11-11 11:19:16 -05:00
Jason Monk
46767b77c0 Extract plugin interface for QS
Users must implement the QSContainer interface to be returned by
a ViewProvider plugin.  The QSContainer must contain a
BaseStatusBarHeader and have the id of quick_settings_container.

Test: Manual
Change-Id: Ibfaa835cad20855a530e4ae142d8a2aeba4a277b
2016-09-27 10:51:20 -04:00
Adrian Roos
7bb38a941b HIC: Add report facility for overzealous anti-falsing
Bug: 27405075
Change-Id: I15e5d601af3c7cc067371bbe51c873d2ce15ec83
2016-07-28 12:17:57 -07:00
Selim Cinek
c22fff6cf6 Added accessibility action for scrolling the notifications
Also made the stackscroller focusable if and only if it is
scrollable. This will allow it to be important for accessibility
again.

Change-Id: I7773ed3a19d23f6bc62a1b9a23464cfbecd0ec03
Fixes: 25673942
2016-05-23 16:51:16 -07:00
Clara Bayarri
9b1fdff2e7 Reinflate QS view on Locale configuration change
The existing DensityContainer already did this for density changes,
repurposed it to handle other Configuration changes. Also renamed
to AutoReinflateContainer.

Bug: 27952059
Change-Id: Ieb572abcbafe49aec73b16e1bcb8c294011afdd3
2016-04-21 14:32:07 +01:00
Jason Monk
8b9d67fb63 Move QS Edit into QSContainer
This will let it play nicely with heads up.

 - Move to QS Container.
 - QS Edit is always full height (some layout hacks to do this)
 - Always draw QS customizer on top when animating
 - Block all panel scrolling while QS edit is open (all touches
   go to editing)
 - Instantaneously change the height of the QS container at
   start/end of animation as needed

Bug: 26969293
Change-Id: Iedc6f5aaf659dcc6750972eae5f69cc0cd2df844
2016-03-07 09:55:27 -05:00
Jason Monk
46dbfb475f Handle density changes in QS
Bug: 26845796
Change-Id: Icc783c9d706382e553df49f699aaf44aac943d18
2016-03-01 11:08:19 -05:00
Jason Monk
16ac3774e3 Fix QS input handling
Remove the observable scroll view and put the qs container in its
place.  Also update the NotificationStackScrollerLayout to be aware
of the container and not eat up its touches as scroll events.

Change-Id: I8a56254bf8e76a7cdd63bd637a974c1f3aa49482
2016-02-10 16:54:16 -05:00
Jason Monk
e1be342615 Extract QS animations to QSContainer
Move some of the logic for QS animations into QSContainer with a
stable interface for NotificationPanelView to call.

This also moves the QSPanel out of the scroll container and up
to live in with the header (QSContainer is the parent of both
the header and the QSPanel now).

Change-Id: I618e363ccca2be9197a4a75256e0b7841ca2c61c
2016-02-10 15:42:39 -05:00
Selim Cinek
33d4614dfe Removed notification top padding
Moving more to fullbleed

Change-Id: I28e52963315bbec37819a355dc3f198431e9daee
2016-01-26 15:30:28 -08:00
Selim Cinek
924c612b87 Removed notification side paddings
Removed all notification paddings on the side.
Bug: 24866646

Change-Id: I1a3e7b9ec5156cb953e06a83afa72c5ad36a2025
2016-01-26 15:30:28 -08:00
Xiaohui Chen
dc630f0122 cleanup some confusing comments
Change-Id: I21fe6fb2ea37a811f69278058277dd595866ae9b
2015-12-30 11:32:05 -08:00
Jason Monk
42c8b4e734 Make QS header less broken on tablets
Instead have the prototype header a little broken

Bug: 24963222
Change-Id: Ic6f2aa2dc003fbb603feb01bef3af79314d6f24e
2015-10-15 13:46:47 -04:00
Jason Monk
c34befb319 Quick prototype of new header
- Has first 4 quick tiles shown in collapsed mode
 - Shows date + settings gear in expanded mode
 - Still has a few gaps (alarms probably don't work)
 - Fix issue with placement of cell data type indicator

Change-Id: I629798b96f4f088fde47c7b67feea304dcc8450c
2015-10-12 16:15:26 -04:00
Jim Miller
ec3f3cdfb2 am 9853ae6b: am 3f711044: am 9c6c8df4: am 3dfd6389: Merge "Fix accessibility focus bug in statusbar" into lmp-mr1-dev
* commit '9853ae6b88eac952733d01f629e61e0210768c61':
  Fix accessibility focus bug in statusbar
2015-02-19 20:26:48 +00:00
Jim Miller
33a054d6fc Fix accessibility focus bug in statusbar
The notification_stack_scroller view of the new uber statusbar should
not be focusable for accessibility

Fixes bug 19296202

Change-Id: I1b3f43ee3c480c705044cb3d565c7c7f7019bcc3
2015-02-18 17:58:04 -08:00
Jorim Jaggi
b93024f1e8 Remove dead code #10: Clean up PhoneStatusBar
- Remove carrier label
- Remove emergency calls only label
- Remove dead methods and fiels.

Change-Id: If242a8fa926d21d77fc54867f4244e7d82626fff
2015-01-21 16:56:58 +01:00
Adrian Roos
2d1ef3012c Close keyguard user switcher on tap outside
Also closes when tapping the current user.
Also fixes a bug, where the background alpha was
not properly initialized. And while we're at it,
fixes a bug where the user switcher was closable
in simple mode by extending quick settings.

Bug: 17691134
Change-Id: I5444fe42a8a2887ab012ef6cbdcc57ba81a8c1c2
2014-10-28 17:46:03 +01:00
Selim Cinek
e32010ac61 Fixed focusing order for the notification panel and QS
Also fixed multiple bugs regarding focusability, where
some elements were focusable even though invisible.
The buttons, QS-tiles, QS-detail buttons, QS Header
icons and other elements now have the correct focusability
state.
The rect indicating accessibility focus is now also
correct for dual label tiles, instead of just the whole
button.
Also fixes an ordering issue where notifications were above
the camera circle when launching.
In addition the focus order of the notifications now work
correctly.

Bug: 15569922
Bug: 15682123
Bug: 17159249
Bug: 15690386
Change-Id: Ie9f7ae73397b41ce2e9a4060699301fdef3a0d01
2014-08-22 17:13:36 +02:00
Jorim Jaggi
3afddce73e Hide icons on Keyguard when QS is open
Bug: 16794381
Change-Id: Ic8525bb5e8882bd37bf63d29be60d4cc8f40b26a
2014-08-14 21:05:11 +00:00
Jorim Jaggi
bf1899e64c BG protection for user switcher on Keyguard.
Also fixes the position.

Bug: 15757197
Bug: 15545213
Change-Id: I9fab98652ab1ccad4e02d5cfa17b212a72a0a0b3
2014-08-07 15:45:53 +02:00
John Spurlock
7e6809ad64 Common shade width across devices.
Use 400dp as the visual width of the shade across all devices
and orientations, except small device portrait.

Since the width is now dynamic across orientations, update the
necessary views in SystemUI on rotate.

Remove obsolete styles + resources.

Set max QS columns to 3 on all devices, due to the newer shade
width.

Bug:16825515
Change-Id: Iff171549a79bc318a4d585a2d9ea2af9bc686922
2014-08-06 23:33:53 -04:00
Jorim Jaggi
dd5b88684d Navbar scrim when in QS
Bug: 16644711
Change-Id: I91d823671919068500a29878f3dfe9b481000a58
2014-08-05 19:22:53 +00:00
Jorim Jaggi
4538027ded Factor out keyguard components of StatusBarHeaderView
Make the header on keyguard a separate view, and move all Keyguard
components from StatusBarHeader into KeyguardHeaderView.

Change-Id: I1e2400d5c91898df3824fd8f27b10750d576a62c
2014-07-31 15:02:59 +02:00
Jorim Jaggi
bc976e3f4c Fix ordering of notifications, user switcher and QS panel
Also closes the user switcher when opening QS on Keyguard because
touch logic would interleave with QS.

Change-Id: I391dc9bcba7f9e2e99c0854d34ed0ec6efbb2f44
2014-07-25 19:03:47 +00:00
Jorim Jaggi
540454259d Quick settings improvements
- Remove hole in landscape when no notifications are shown.
- Start intercepting touch events directly when already flinging.
- Fix jump in top panel when collapsing QS in landscape.

Change-Id: If2da5215ee20ea1b0d3a0f88f32c8f5b0dd147da
2014-07-03 22:50:20 +02:00
Jorim Jaggi
563062569c Reenable touches to notifications in expanded QS
Revert "Closing the QS when tapping on the notifications now."
This reverts commit 3bb0bb8817690728a40edd3f8f665b09907a451b.

Revert "Disabled touch interaction when in Quick settings."
This reverts commit 5cd19bc6a4fac0513bb285fdaf08b1d19c87f4ae.

Also, shuffle order of notifications and quick settings such that
scrolling still works and delegate touches from stack scroller to
the scroll view for expanded QS panel.

In addition, make the panel close transition work when QS is expanded
and scrolled.

Last but not least, decrease scrim amount so the notifications still
look 100% interactive.

Change-Id: I17710e078cff84bcdf303c22986a31135dae2aee
2014-07-03 17:24:50 +02:00
Jorim Jaggi
30c305ce62 Implement nice motion for collapsing panel while QS open
Also remove the delay for actions which close the panel. Delaying is
no longer necessary as you still see the touch feedback when the
panel is closed.

Change-Id: I0dffae6998fc41b1590cb182667323f40be3a7d5
2014-07-03 17:24:24 +02:00
Adrian Roos
7028946402 Fix keyguard user switcher layering
Bug: 15822308
Change-Id: I4253a5f9ccb395b291696825923b251c4069c617
2014-07-02 15:22:36 +00:00
Jorim Jaggi
2580a976ec Improve motion when expanding/collapsing status bar.
- Don't fade the whole panel anymore.
- Parallax effect for QS header translation, fade on keyguard.
- Improve fling curve for dismissing the panel.
- Improve peeking behavior.

Bug: 14804452
Bug: 15407838
Change-Id: I34b7bcd457cb8a037e0bb06e9802ec66d2b39b73
2014-06-30 22:53:27 +02:00
Adrian Roos
8ddb2da875 Implement keyguard user switcher
Bug: 15545213
Change-Id: I2d18cc3c83d76991fe11fc4bff7e8eecc25df4b5
2014-06-19 15:47:46 -07:00