Commit Graph

55 Commits

Author SHA1 Message Date
Charles He
6a79b0dff1 StatusBar: add DISABLE2_SYSTEM_ICONS flag
Add a StatusBarManager flag to control the visibility of system icons
such as connectivity info, battery, etc. Note that the clock is
controlled separately through DISABLE_CLOCK.

Also note that this flag differs from DISABLE_SYSTEM_INFO, which
controls the system icons and the clock as a whole, but only works for
the collapsed status bar (CollapsedStatusBarFragment).

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

Change-Id: Icb61c7bb1a625edd818be7a66d7f15c3e812237b
2017-09-25 21:29:27 +01:00
Jason Monk
f8c2f7bd7b Add metrics for status bar
Test: runtest systemui
Fixes: 65289824
Change-Id: Ife5ce98862fc6a92740eaf80cdc0b74cb01dd04e
2017-09-06 15:03:41 -04:00
Jason Monk
a6f1db3a9e Fix multi user battery percentage
Test: Use battery percentage with multi user, like at all
Change-Id: Ie59d2409e79469138c04450528ed3e9f4e1c06aa
Fixes: 64442190
2017-08-30 19:18:00 -04:00
Evan Laird
75c98207b8 Merge "Fix battery percent text not updating on Font size change" into oc-dev am: 2ca91661f0
am: 2c34b5bf55

Change-Id: I95d4e069fa93ac025598a7a2954f7ed9f566fd25
2017-06-20 20:07:40 +00:00
Evan Laird
ecc93f28b9 Fix battery percent text not updating on Font size change
The view wasn't actually setting the new text size when there was a
display scale or font size change. But now it does.

Test: visual
Change-Id: I3a38c779fe75e4fe29e962bb7d46cdef4da9e829
Fixes: 37919352
2017-06-16 09:57:29 -04: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
Daniel Nishi
8af93cb240 batterymeter -> just meter.
This updates some of the names of the colors to make them more general
for non-battery usage.

Bug: 35245772
Test: Manual
Change-Id: I048f673037c4bd7279fd7c55f2d55be6b3618b41
2017-05-15 14:37:20 -07:00
Jason Monk
9a376bcd45 Fix the status icon colors in QS
Requires lots of theming magic

Test: visual
Change-Id: I1cd28b570f30989b496065c0e06a5aca461deb41
Fixes: 37619734
2017-05-12 16:16:39 -04:00
jackqdyulei
ff5bd948b0 Refine BatteryInfo and battery drawable
1. Remove "m" prefix for all public field
2. Change logic about field "discharging", now it only controlled
   by whether it is plugged in.
3. Change Paint in drawable to protected
Bug: 36862496
Test: RunSettingsLibTests
Change-Id: I2908ae6868dc877d3ce6a8a63ec17826a6dcca1d
2017-04-12 12:57:55 -07:00
Jason Monk
d866b8aa03 Fix battery icon dark initialization
Test: visual
Change-Id: I333436dd0ffb4a7791a98caa53054d01e9ff18ef
Fixes: 36443516
2017-03-29 15:30:44 -04:00
Evan Laird
09ebefda2e Move percentage to left of battery
Original mocks had the percentage on the left side of the battery... So
I made it so.

Test: visual
Bug: 32539932
Change-Id: I311255777b74c2ff74e36c78cbe1b4b9743ec337
2017-03-24 10:55:29 -04:00
Evan Laird
bcf631d48b Move battery percent constant to Settings
This switch is moving to system settings so it should also be declared
by Settings. Also changed the constant's name to make sense in the
System context.

Test: runtest systemui
Bug: 32539932
Change-Id: I7cce21b50702f31465328dd8faed3fbac47528ea
2017-03-13 13:42:11 -04:00
Dan Sandler
df14c20be4 Don't show the percentage twice when charging.
The old percentage textview is now gone from the layout.
When the device is charging (but the user doesn't have
percentage display turned on all the time) use the new
percentage built-in to BatteryMeterView.

Bug: 35521962
Test: visual
Change-Id: I91f3350f6203fd007f003ca260ac0ed78e29b771
2017-02-21 16:17:09 -05:00
Jason Monk
f13413e2f3 Various QS fixes and cleanup
Test: runtest systemui
Change-Id: If87f58f2af00b23c5e1a8e38a63a6a63d903002c
2017-02-15 17:48:27 -05:00
Dan Sandler
055bb61426 Percentage text now sits alongside the battery icon.
The old embedded percentage (introduced in change I6a3e7409) is hard
to read at status bar size, so we now draw it in a separate TextView to
the left (start) of the battery gauge. (The embedded code remains so
that it can be used by other places where the battery is drawn larger.)

The old system setting "status_bar_show_battery_percent" is still used
to control whether this percentage is shown, but note that it now
applies only to BatteryMeterView (i.e., the status bar) and not other
usages of BatteryMeterDrawable.

Bug: 32539932
Test: (manual) adb shell settings put system status_bar_show_battery_percent 1
Change-Id: Id298dba544f594b11269539284a2e8042fd4780b
2017-02-14 14:47:28 -05:00
Jason Monk
aa573e9e86 Work on separating out the status bar management
Lots of stuff:
 - Make StatusBarIconController be a permanent dependency
 - Break out dark stuff into DarkIconDispatcher
 - Create StatusBarFragment
   - This bit is a bit ugly for now, but will be better later
 - Other stuff probably

Test: runtest systemui
Change-Id: I4973bc9f944e66af92731bf1edd2b39657f1782f
2017-02-08 19:51:41 -05:00
Jason Monk
de850bbcaa Fix leaks in sysui
Add support for testing for PluginManager and TunerService leaks
and add tests for the known leaks and fix them. Also port PluginManager
and TunerService to Dependency to make them easier to handle in
tests.

Test: runtest systemui
Change-Id: I5642539ee24dd72f802905106decd0c87b41b4eb
Fixes: 34846972
2017-02-02 10:58:18 -05:00
Jason Monk
9c7844cb91 Work on sysui dependencies
One of the many problems with PhoneStatusBar is that it holds
dependencies for many other parts of SysUI. Fix this by creating
a static method of grabbing dependencies that are global to sysui
this cleans up a lot of chains of interdependence.

Also add easy way to inject mocks of these dependencies for the
purpose of testing.

Test: runtest systemui
Change-Id: Ia0e947faea62d15b665facada47ac9916c99f895
2017-01-23 12:55:53 -05:00
Jason Monk
3250885c9f Visual refresh for QS
Adds circles and things

Test: visual
Change-Id: I7d974fcfe6257357abfd1a7d0ee521f0e6cee588
2017-01-20 11:29:25 -05:00
Jason Monk
8852905b0b Unit testing for fragments.
Set up a base class for testing fragments that will generate the host
and run the fragment through some lifecycle checks to make sure it
does ok with standard lifecycle.

Fragment tests will also automatically check for any sort of leaks
related to bindings, receivers, or other callbacks in sysui. This
requires changing the statusbar.policy classes with callbacks to
have a common interface.

Lastly also fixes a few lifecycle bugs in QS found from the above
tests.

Bug: 32609190
Test: runtest systemui
Change-Id: I52007c696c2fd41914bba4ba9d8055f2b564a7d8
2016-11-11 11:20:10 -05:00
Geoffrey Pitsch
959ee2278c Add tests for BatteryMeterDrawable
Not meant to be an attempt at full coverage, just an example of
testing a Drawable.
To go farther with this, I would wrap the "logic" of the battery
appearance in a separate class for testing and this class would
reduce to the drawing operations, which are strongly coupled to
design and don't need much testing.

Test: runtest systemui
Change-Id: I5630e25face9a3ab5e30935fb3d7bab8f162d107
2016-10-03 09:37:06 -04:00
Adrian Roos
70dcf8392c A11y: Fix battery icon and clock descriptions
Now announces charging state on the battery icon
and AM/PM on the clock.

Change-Id: Ib8d249e60b555834e5e224287ea332178ce7c165
Fixes: 27552350
2016-04-20 15:51:59 -07:00
Winson
c0d7058b14 Referencing static interpolators.
Change-Id: I5d2292016e869ed533f5873e373a1eccce651fc5
2016-01-29 11:15:43 -08:00
Jason Monk
3e189877ab SysUI Tuner: Status bar work
Improve general status bar goodness, more exactness, less breakage.

Extra extra icons, disabled by default.

Control all the status bar things!

Probably other stuff (10000).

Change-Id: I5d6282a4dcbcefea9f0880042cdf6293cb693712
2016-01-19 18:58:05 -05:00
Jason Monk
c06fbb1298 Move battery saver notification to QS
Remove the battery saver notification and instead create a detail
panel within QS that allows it to be turned on and off.

Change-Id: I54654d26183586fa171fda04877a840701f8ef33
2016-01-11 14:29:23 -05:00
Jason Monk
abe1974a11 Add more QS tiles
(only for paging prototype)

Change-Id: Ifb09e3262540a486c9ee7e83a904f96cc4e33fec
2015-09-29 16:47:15 -04:00
John Spurlock
f40d08f8a3 Tuner: add battery pct preference.
And fix questionable code organization choices in BatteryMeterView.

Change-Id: I7c13197892b33aa0df9af51fbabb81e0ad0e00e1
2015-05-29 10:52:29 -04:00
Chris Craik
6a49ddef62 Revert "Fix build - Revert "Revert "Use default constructor to get anti-aliasing"""
Fix import

This reverts commit 7ed1431c83.

Change-Id: Id93eba3ed1d47a90384ba20dea6f74d78755792b
2015-05-12 10:44:30 -07:00
Chris Craik
7ed1431c83 Fix build - Revert "Revert "Use default constructor to get anti-aliasing""
This reverts commit dfe0a66cec.

Change-Id: I58a1bae649a284f3d3b6213064d903ea7fcf185a
2015-05-12 17:22:22 +00:00
Chris Craik
dfe0a66cec Revert "Use default constructor to get anti-aliasing"
bug:20948129

This reverts commit 58fc522a69.

Change-Id: Iddeccb4ad15b843bb3e610bd3673a0c7abc1bf46
2015-05-12 16:36:49 +00:00
Chris Craik
58fc522a69 Use default constructor to get anti-aliasing
Change-Id: I3e078a3bc91a2fd703984ba18b5e7e98069b32f1
2015-04-28 11:49:27 -07:00
Xiyuan Xia
b07ce17328 Use fillColor for battery bolt color.
Bug: 20178901
Change-Id: I19b1de98ece6681f5dd0a15a35f55fb88e4c2cfc
2015-04-24 13:53:33 -07:00
Jorim Jaggi
5443cc563c Change light status bar tint color to spec
Bug: 19233606
Change-Id: I0586e006b6783d3af23defb67da666477484c1ee
2015-04-02 11:44:16 -07:00
Alan Viverette
4a357cd2e5 Replace usages of deprecated Resources.getColor() and getColorStateList()
Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
2015-03-18 18:37:18 -07:00
John Spurlock
08c7116ab9 Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
2015-02-28 14:47:49 -05:00
Jorim Jaggi
dd0107a0db Add ability to colorize status bar
Bug: 19233606
Change-Id: I756599395c202c4d0dd04c44beac706fc19bfe17
2015-02-04 12:44:22 +01:00
Jorim Jaggi
a0221f3a9f Improve subpixel rendering of battery icon on all densities
Bug: 16161255
Change-Id: I97abc6a7a5cafb581e3f7c3d7509fdbf6d8542d5
2014-09-03 16:37:06 +02:00
Jorim Jaggi
5172dc2f36 Status bar iconography updates
- Use new assets for location, flightmode and "more" notifications
  icon.
- Update icon size and clock to spec.
- Change from fixed width of the icons to WRAP_CONTENT, so they look
  more evenly distributed.
- Adjust subpixel rendering of battery icon to match other vector
  icons.

Bug: 16161255
Change-Id: I0a80f223b7d532bc53a201cff37b8f1cb09f08c2
2014-09-02 23:52:48 +02:00
Jorim Jaggi
708f7721e9 Remove battery color when in power save
Also changes to color to our consistent warning color.

Bug: 16849393
Change-Id: I71737c1b7c18af569b5f4e957b006db579266cd1
2014-08-20 20:54:02 +02:00
Jorim Jaggi
0d266899da Fix status icon reappearing for legacy activities
When closing the shade, and underneath was an activity without
colored status bars, the animation for letting the status icons
reappear was strange and the icons faded from 0% alpha. The cause was
possibly that we set hasOverlappingRendering on the whole group but
but inner views used layers for setting the alpha value which
violated the contract in the documentation of
hasOverlappingRendering: "The current implementation of the saveLayer
and saveLayerAlpha methods in Canvas necessitates that a View return
true if it uses the methods internally without passing the
CLIP_TO_LAYER_SAVE_FLAG."

Change-Id: I4b0accc8ec3fb8cb553c6860eb7dba8a12d04364
2014-07-28 15:05:15 +02:00
John Spurlock
3332ba54ae Heads-up notifications for low battery warnings.
Falls back to dialogs when heads-up are N/A.

Add new ongoing notification if battery saver mode
is active.  Offer to start battery saver on warnings,
if not already started.

True up BatteryMeterView's levels to the latest threshold
levels.  15% for first warning.

Bug:13329308
Change-Id: Id8ad11a1997079ee7165ae003a8fa1c744462ab3
2014-06-11 19:38:00 -04:00
John Spurlock
876e359b48 Merge "Make QS battery composite color match others." 2014-02-07 19:25:20 +00:00
John Spurlock
1fd0b933b8 Remove need for software layer drawing percentage text.
When the text is transparent, use the same approach as the bolt
to punch it through the rest of the shape - by first rendering the
text into a path.

When the text is opaque, draw the text on top as before.

Change-Id: I50f201b1bf0f92164728e3237ec45e22eb788d52
2014-02-05 11:56:17 -05:00
John Spurlock
29786fc72d Make QS battery composite color match others.
Change-Id: I2a906cd997d2372f5740532a159f04ad857d393d
2014-02-04 17:55:47 -05:00
John Spurlock
4b786ff4b5 Battery meter: remove bolt color compromise & improve pct.
- Bolt remains opaque (white) below a threshold level, otherwise
   transparent.
 - Draw the entire shape using a path, removing the need for a
   software layer.
 - Use a similar approach to make the percentage text readable,
   but this still requires a software layer (since text is involved).

Bug: 12131168
Change-Id: Ifde5e99121155bf1be171f44b2c80c116b17c9e7
2014-01-08 15:04:50 -05:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
John Spurlock
d8595fd8fe Battery icon tweaks.
Fix bottom padding, better bolt placement on non-HH devices.

Bug:11412369
Change-Id: I102a5ece73b2fcb5f78305c925fc2ed5fe9b2884
2013-11-05 11:55:04 -05:00
Daniel Sandler
05021e5e47 Don't show [!] battery at boot.
Defense in depth:
 1. If there's a sticky battery broadcast waiting around for
    us, apply its information immediately.
 2. If for some reason there is no battery information,
    just don't draw anything.

Bug: 11208146
Change-Id: I43e4b55a90a4ca619816ad0315e329f88b529581
2013-10-14 10:27:45 -04:00
John Spurlock
cfab990053 New battery meter view bolt shape + color.
Bug:10785785
Change-Id: Ia122bcaec1137ba45648ab3c97d8ec832fd26c85
2013-09-25 18:08:52 -04:00
John Spurlock
d19877f8a3 BatteryMeterView: Charging trumps empty.
Match the style implicit in the battery assets: if charging,
show the bolt, not the exclamation point.

Bug:10651062
Change-Id: I3edd822326ad611972e791cf4acc8c395e51a74d
2013-09-17 11:03:03 -04:00