After having been fully removed from Dependency.java, BatteryController
lost its dumpsys entries. This CL adds it manually, and removes the
entry from Dependency.java.
Test: atest SystemUITests
Test: adb shell -n dumpsys activity service com.android.systemui/.SystemUIService | grep "BatteryController:"
Fixes: 245739044
Change-Id: Ib1d6559cb1980f73bd98ab233ca012b4d12ac9a5
All removed code is unused; since all changes are relegated to
NotificationEntryManager.java, if this CL still builds, it is proof that
the code in question was not referenced anywhere (assuming no
reflection).
Bug: 200269355
Test: atest SystemUITests
Change-Id: If24a9a92c6af5c2edd4fe1b628bb720a6a12a311
Merged-In: If24a9a92c6af5c2edd4fe1b628bb720a6a12a311
This change is a no-op; the flag is now enabled-by-default, so all
removed code paths here are effectively dead.
Bug: 200269355
Test: atest SystemUITests
Change-Id: I6a04d1c238ea938a60cc2bb1f28d780480ad67fd
Merged-In: I6a04d1c238ea938a60cc2bb1f28d780480ad67fd
This CL ensures that back gesture is not disabled when a SysUI dialog is
shown, so that the dialog can be closed by swiping back or swiping home.
Test: Manual
Bug: 210270549
Change-Id: Id7d597105b3a44ca20c5aef42dd0a7318e5d91b7
Adds generic ScreenOffAnimationController that controls
different screen off animations. Currently it delegates
everything to unlocked screen off animation controller.
I will add fold to aod animation controller in the
next CLs.
Bug: 202844967
Test: screen off/on animation when unlocked
Test: screen off/on animation when locked
Test: screen off/on animation when timed out
Test: fingerprint unlocking from aod
Test: show/hide percentage in battery indicator
Change-Id: I8ff65baf4f4052a09dad3892ff31c6e4208da9f6
Add a new Controller for RemoteInputView that will eventually house
all of the non-View code currently located inside of RemoteInputView.
This CL establishes the new Dagger configuration needed to instantiate
the Controller, as well as the lifecycle management by the parent
Controller (in this case, NotificationContentView, which doesn't have
a Controller of its own; once a Controller is introduced for that
class, the reference to the RemoteInputViewController will move there).
Bug: 193539698
Test: mp sysuig, receive some notifications, nothing breaks
Change-Id: Ib5397abe03569d2285764b69136ef44b903b1247
controller construct it.
This will allow us to pass in a fake view for testing the controller.
This CL also moves the window view and controller into its own package
for slightly better organization.
Fixes: 204583449
Test: atest SystemUITests
Test: manual once-over of key user journeys
Change-Id: I4c2cc3f0c3a18466b2d1a1012c999f530329d3f7
This substitutes in calls to Dependency#get. While this feels like
a step backwards, it is the last step necessary before removing
acual view injection.
Removal of Dependency#get is ongoing and will include cleanup of this
class.
Bug: 149942757
Test: manual
Change-Id: I129f0751f101cdce7ae92554b2a09d2091b7c13b
Merged-In: I129f0751f101cdce7ae92554b2a09d2091b7c13b
This substitutes in calls to Dependency#get. While this feels like
a step backwards, it is the last step necessary before removing
acual view injection.
Removal of Dependency#get is ongoing and will include cleanup of this
class.
Bug: 149942757
Test: manual
Change-Id: I129f0751f101cdce7ae92554b2a09d2091b7c13b
Dependency.get() automatically registers its managed objects to the
DumpManager if they implement Dumpable. However, if code is refactored
that removes all usages of Dependency.get() in favor of Dagger
injection, then there is no longer a guarantee that the class in
question will be registered to DumpManager (and so included in bug
reports).
Instead, remove the auto-registration feature of Dependency in favor of
manually registering all dumpables with the DumpManager.
Bug: 198713580
Test: atest
Change-Id: Ie02a44fb7da0b76bf53da874cc9eee030a1b9173
Merged-In: Ie02a44fb7da0b76bf53da874cc9eee030a1b9173
Dependency.get() automatically registers its managed objects to the
DumpManager if they implement Dumpable. However, if code is refactored
that removes all usages of Dependency.get() in favor of Dagger
injection, then there is no longer a guarantee that the class in
question will be registered to DumpManager (and so included in bug
reports).
Instead, remove the auto-registration feature of Dependency in favor of
manually registering all dumpables with the DumpManager.
Bug: 198713580
Test: atest
Change-Id: Ie02a44fb7da0b76bf53da874cc9eee030a1b9173
Add InternetAdapter for Wi-Fi network in internet dialog
- Set each Wi-Fi entry into recycle view
- Add InternetAdapterTest for unit test
Add InternetDialog for showing current networks
- Set mobile data layout
- Set connected Wi-Fi layout
- Set recycle view and adapter for Wi-Fi entries
- Add InternetDialogTest for unit test
Launch InternetDialog from tile and onReceive
- Call from SystemUI: Inject
- Call from outside: Receiver
Bug: 187779230
Test: build pass
Change-Id: Ib127ad43831ada06fa6a07802b3648b30faac5b0
Merged-In: Ib127ad43831ada06fa6a07802b3648b30faac5b0
(cherry picked from commit 5dbe2af746)
StatusBarContentInsetsProvider provides the sysui backend for the
windowmanager api to communicate the location of the privacy indicators
to apps.
This CL hooks up that backend to the dot view controller and the
PhoneStatusBarView, which provides us with a stronger guarantee that
things are working and codifies the places where status bar content
layout can be changed. Also in this CL is a better dot positioning
algorithm that will ensure there is no flickering when the dot needs to
rotate.
Test: manual
Bug 187973222
Change-Id: I3dba7719ac4c4d178c9ec5265865961dbd0450f9
Ensures that EdgeBackGestureHandler is not a singleton.
Fixes: 193758967
Test: atest SystemUITests
Change-Id: I13f0130b57cf19d2ec8c3c4285a6785aba076486
Merged-In: I13f0130b57cf19d2ec8c3c4285a6785aba076486
To be able to inject Optional.empty to Optional,Recents>, this CL
removes raw Recents references and replaces those with
Optional<Recents>.
Bug: 144309772
Test: atest SystemUITests
Change-Id: Ib63739cab8da345a479cc27b2c8b011231f5cfe5
Ensures that EdgeBackGestureHandler is not a singleton.
Fixes: 193758967
Test: atest SystemUITests
Change-Id: I13f0130b57cf19d2ec8c3c4285a6785aba076486
To be able to inject Optional.empty() to Optional<StatusBar>, this CL
- removes raw StatusBar references and replaces it with Optional<StatusBar>
- replaces Optional<Lazy<StatusBar>> to Lazy<Optional<StatusBar>>
Bug: 144309772
Bug: 138625582
Bug: 187111275
Bug: 187111293
Test: atest SystemUITests
Change-Id: I07b63e417dd4cc75a17951619065ba0f234bc2aa
Merged-In: I07b63e417dd4cc75a17951619065ba0f234bc2aa
This CL reverts the status bar provider model behavior. It removes the
logic to show only one icon at a time, and removes showing the call
strength indicators.
This change keeps the Internet tile, and decouples SystemUI from the
system setting SETTING_PROVIDER_MODEL.
Bug: 191903788
Test: atest SystemUITests SystemUIGoogleTests; manual
Test: test with a SIM and a Wi-Fi connection and there should be both
icons in the status bar and quick settings with this change. As
well as the Internet tile should stay (rather than going back to
the Cell and Wi-Fi tiles).
Change-Id: I017c10e4d7c1b15b152c44d092695dbc77e4a0ec
Merged-In: I017c10e4d7c1b15b152c44d092695dbc77e4a0ec
This CL reverts the status bar provider model behavior. It removes the
logic to show only one icon at a time, and removes showing the call
strength indicators.
This change keeps the Internet tile, and decouples SystemUI from the
system setting SETTING_PROVIDER_MODEL.
Bug: 191903788
Test: atest SystemUITests SystemUIGoogleTests; manual
Test: test with a SIM and a Wi-Fi connection and there should be both
icons in the status bar and quick settings with this change. As
well as the Internet tile should stay (rather than going back to
the Cell and Wi-Fi tiles).
Change-Id: I017c10e4d7c1b15b152c44d092695dbc77e4a0ec
This adds the logging to RemoteInputView.java, where ACTION_REMOTE_INPUT_* were logged for Tron, in the same places as the existing Tron logging that this will eventually replace.
Test: atest RemoteInputViewTest; statsd_testdrive verified that events were logged with new IDs
Bug: 159697717
Change-Id: Ice4c274bfb114f90006a02dd895d92bbb701ecae
Remove calls to Dependency.get from EdgeBackGestureHandler,
making it injectable.
Bug: 186011223
Test: manual
Change-Id: I3d5e6b27f6afa46dcee88b6818f0b19722181421
Sketch of how things might work:
- SystemEventCoordinator ties together arbitrary events and funnels
them to the scheduler
- Scheduler - a very simple prioritization and scheduling utility,
since we don't want a spammy status bar
- Animation controller - this class is probably going to evolve the
most. Once an animation has a clear path, this class will actually
make sure views are visible and allow individual view to animate
in and out properly. It also potentially keeps the status bar open
in immersive mode
This CL stands up a couple of things meant to achieve system animations
(currently only privacy items) that live in the status bar:
1. SystemStatusAnimationScheduler - simple prioritization queue
which can take requests to play system status animations. It also
handles the running of said animations by maintaining
ValueAnimators and providing callbacks for the system to get out of
the way while animations are happening.
2. SystemEventCoordinator - This is the front end for generating
system events which trigger animations. Pretty simple, it sends
StatusEvent objects to the scheduler to maybe play the relevant
animation.
3. StatusEvent - Events are sent to be scheduled, and wrap a priority
int. They also create the view that is to be animated (still WIP)
4. SystemStatusChipAnimationController - handles the presentation of
the chip view. Still needs to be updated with prettier animations
5. PrivacyDotViewController - the most bespoke of classes added here.
controls the location of the privacy dots (more on this below)
System spaces are expected to listen for callbacks from the scheduler
and do whatever is appropriate to get out of the way. E.g., hide the
status bar system elements, keep the status bar window open in immersive
mode, or hide keyguard elements.
And finally, a note on the dot: for reasons(tm), the dot lives in
ScreenDecorations. But since screen decorations creates very special
windows that don't "just rotate", the locations are controlled by the
PrivacyDotController. However, to create the illusion that the dots are
in the status bar, they are always positioned on either side of where
the status bar happens to be.
Bug: 177323724
Test: coming soon to a theater near you
Change-Id: If528bd7e9d1e0ca3be7391f83f7416fa10e7a41b
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
* 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
A NavigationBarOverlayController is used to create and control buttons
floating as an overlay with the navigation bar.
Minor: Fix import order per lint error.
Bug: b/176190597
Test: manual
Change-Id: I9ce574f7a1c38baad12b4fc45a7799e07127fe87
Move BubbleController sysui dependent code to new class
BubblesManager and remove using of Dependency of Bubbles.
TODO: Tests still need to be remain on sysui, find suitable
method to test both classes independently.
Bug: 161980186
Test: atest SystemUITests
Change-Id: I7be1dfb81f7ddfb5fc20b180fc5affb7a1d8e93c
- Add initializer path for required shell dependencies
- Move shell dependencies into WMComponent scope, and expose shell
features to SysUIComponent explicitly
- Moved temporary Bubble's specific dependencies to global scope until
the migration finishes
Bug: 162923491
Test: atest WMShellUnitTestsWMShellUnitTests
Test: make SystemUIGoogle CarSystemUI ArcSystemUI AAECarSystemUI
Test: Verify pip/split/onehanded/bubbles still works
Change-Id: Ibaa8b5a718f32a1fff49d1756a18a009d6ad164f
Signed-off-by: Winson Chung <winsonc@google.com>