* changes:
Revert^2 "Remove final calls to Dependency.get from keyguard."
Revert^2 "Remove Dependency.get from KeyguardStatusView."
Revert^2 "Add injection to ClockProvider."
Revert^2 "Remove Dependency.get from KeyguardSliceTextView."
Revert^2 "Add Controller for Emergency Button."
Revert^2 "Add ViewController to CarrierText."
Create central TelephonyListenerManager.
* Some Setting while empty should be assumed to be
non-zero by default ( ex AmbientDisplay )
Test: m, atest SystemUITests:SecureSettingTest
Fixes: 183498544
Change-Id: I44e1c4296be4e1a1f549d52d4dc0f5b2b7cef855
The TelephonyManager doesn't like have "too many" listeners
registered on int at any given time. It will actually throw
exceptions when this happens. To lighten the load from the SystemUI
side, TelephonyListenerManager now ensures that only one listener is
ever subscribed at any point.
SystemUI can now use this class instead, piggy-backing on the
possibly already subscribed listener to retrieve the events it cares
about.
Also, use Executors in CarrierTextController instead of Handlers.
Bug: 179775696
Test: atest SystemUITests
Change-Id: I626e80a91396161022e1fc6387598521f77bf4fc
Things are always a little wonky with the status bar icons, but
basically there is one (1) StatusBarIconController which funnels status
icon information to all IconManagers, of which there are typically three
(3) - Regular status bar, keyguard status bar, and quick settings
This CL implements a simple blockList at the IconManager level, so that
icons can be excluded for a given manager (and thus a given UI), and
blocks the following icons from keyguard and status bar: alarm, vibrate/mute
More can easily be added by adding them to the blocklist
Test: manual; atest SystemUITests
Bug: 177323724
Bug: 179830434
Change-Id: I01a9df748f92c086a6e86f1449cae8b4c9c092ca
* Remove all media-specific color extraction and colorization logic
* Remove all 'large icon' gradienting logic
* Simplify base (headerless) style to use a LinearLayout instead of tweaking margins
* Make compact media layout a tweak of the base (headerless) layout
* Make big_media layout a tweak of the big_base layout
* Fix an unnecessary swooping animation that happened on expand
* Ensure RTL layout also works
Fixes: 172652345
Test: manual testing w/ updated notify2
Change-Id: I11c1494c0ac32aaf3e9d2010560cc8f1d8c50037
Expand text to best-fit the layout by calculating maxLines for medium
and large layout.
Bug: 182377480
Test: PeopleSpaceUtils
Change-Id: I980ef776dfdf6e3007b8761ec7e1db3ec5fe5b7d
- Use formal API getSystemService to get ConnectivityManager.
- Use formal API PackageManager#hasSystemFeature(
PackageManager#FEATURE_TELEPHONY) to know whether device
supports telephony.
- Use formal API TelephonyManager#isDataCapable() to know
whether device has mobile ability.
- Replace NetworkCapabilities#equalsTransportTypes with
comparing two NetworkCapabilities' transport types directly.
- Replace ConnectivityManager#INET_CONDITION_ACTION by listening
onCapabilitiesChanged() network callback.
Bug: 183068713
Test: atest SystemUITests
Change-Id: I4a53223f36ea09a062a9ddea668a9d0662f0dbbc
UX landed on a format where we have 2 neutral palettes, and 3 accent
palettes. It's the ideal format to play with elevation and hue rotation,
in order to have a more vibrant and less muddy UI.
Fixes: 181986389
Bug: 173553055
Test: atest SystemPalette
Test: atest ThemeOverlayControllerTest
Test: atest ThemeOverlayApplierTest
Test: atest DeviceDefaultThemeTest
Change-Id: I80d3f7d1cc92e97efcb40fe6dc9f09918321d273
- Ensure requested rect overlaps with total rect.
- Ensure sequential tiles are adjacent
Test: atest ScrolCaptureControllerTest
Change-Id: Ib722b7b65a81df30930467cd5758d8e37bb71f4d
* AccessibilityManager might not ready when the phone just got booted.
Cherry picked from commit bf0ab7163d
Bug: 173940864
Test: atest AccessibilityFloatingMenuControllerTest
Change-Id: I0339597cd53ca5daade427fef257bfddb3b86bd8
Merged-In: I0339597cd53ca5daade427fef257bfddb3b86bd8
* AccessibilityFloatingMenuController will listen to the changes from AccessibilityButtonTargetsObserver and AccessibilityButtonModeObserver then handle the visibility of FloatingMenu
* Add abstract class SecureSettingsContentObserver to handle a registry of listeners of specific types and dispatch changes to child
Cherry picked from commit 523514fd24
Bug: 173940864
Test: atest AccessibilityButtonTargetsObserverTest AccessibilityButtonModeObserverTest AccessibilityFloatingMenuControllerTest
Change-Id: I07fded55340644bce84a3f17a7a4da950268d2d2
Merged-In: I07fded55340644bce84a3f17a7a4da950268d2d2
* changes:
Add new floating action menu for Accessibility targets. (5/n)
Add new floating action menu for Accessibility targets. (4/n)
Add new floating action menu for Accessibility targets. (3/n)
Add new floating action menu for Accessibility targets. (2/n)
Add new floating action menu for Accessibility targets. (1/n)
Action:
AccessibilityFloatingMenu has two shape types, one is oval style, the other is half oval style.
- Half oval shape when dragging.
- Oval shape when dropping.
The patch will provide the capability of switch shape type by dragging into the screen edge or out.
Cherry picked from commit 0a2e8f9a56
Bug: 173958541
Test: atest AccessibilityFloatingMenuTest
AccessibilityFloatingMenuViewTest AccessibilityTargetAdapterTest
Change-Id: Ib86713cd6a48e102cb9088beb6353391caeadc83
Merged-In: Ib86713cd6a48e102cb9088beb6353391caeadc83
Patch action:
1. Drag and drop anywhere on the screen.
2. Stick on the closest left side or right side of the screen when dropping.
3. Apply the different styles.
- Half oval style when dropping.
- Oval style when dragging.
Cherry picked from commit adad00ef6f
Bug: 173958541
Test: atest AccessibilityFloatingMenuTest
AccessibilityFloatingMenuViewTest AccessibilityTargetAdapterTest
Change-Id: I5f207b86b9ca4342f1414230c4d7524c59f48953
Merged-In: I5f207b86b9ca4342f1414230c4d7524c59f48953
Patch action:
1. Update the style depends on the settings icon and size key.
2. Under half circle shape mode, the menu will enlarge touch area.
Cherry picked from commit c26ac8c638
Bug: 173958541
Test: atest AccessibilityFloatingMenuTest AccessibilityFloatingMenuViewTest AccessibilityTargetAdapterTest
Change-Id: Iec53ef71d7e0abe5c7619d4e5f67862ca56dfd1f
Merged-In: Iec53ef71d7e0abe5c7619d4e5f67862ca56dfd1f
Goals:
- Trigger actions of accessibility features would be grouped into the floating menu.
Patch action:
1. Use current Accessibility Target functions to get the corresponding data.
2. The position of the floating menu is at the bottom-right corner of the screen initially.
3. Support dark theme.
Bug: 173958541
Test: atest AccessibilityFloatingMenuTest AccessibilityFloatingMenuViewTest
Change-Id: I28e729520d4eb8ecb0bcc41d4de9d1499380e7f5
Merged-In: I28e729520d4eb8ecb0bcc41d4de9d1499380e7f5
(cherry picked from commit 2be49c9be9)
- Also split impl and controller for ShellInit/ShellCommandHandler
(as with ag/13502602)
- Example implementation of exposing a subset of the Pip interface to
Launcher directly. This has the benefit of reducing unnecessary code
in SysUI just to pipe calls to the Shell.
The controller implements the binder interface which is collected
and exposed to Launcher when it binds to the overview service
and Launcher can call through the binders directly.
Note: this requires the shared lib to also build with the Shell
interfaces so changes to the Shell aidls will still require updating
the shared lib (until the shared lib prebuilt can removed).
Bug: 180074017
Test: atest WMShellUnitTests
Test: Verify Pip calls from Launcher work
Change-Id: Id74114da6a6a73d32c957f84fce5bbe23e87ba01
The effect is drawn in a full screen view in StatusBar, using a shader adapted from graphics/java/android/graphics/drawable/RippleShader.java. It plays whenever a phone is plugged in and wired charging begins.
Next steps:
- Add distortion effect to the first half of the animation.
- More API to support the UDFPS reveal effect.
Videos: https://drive.google.com/drive/folders/1c_QduSrELp4-Y4oJdHIllnypQkguDd-x?usp=sharing
Test: atest SystemUITests
Test: Manually
Bug: 182719493
Change-Id: If8885022a906f617332ca21132c3194ab26c09a4
This only changes when the flag value changes (which can happen at any
time, but is strictly for development so we can ignore) or the value of
the boolean resource changes, which only happens on configuration
changed. Instead of checking every time, we can cache the last known
value and update on configuration changes.
Bug: 182254944
Test: manual + atest SystemUITests
Change-Id: Iae54b7680ebfc84c48139bd21e3c7670739802a5