Age | Commit message (Collapse) | Author |
|
Bug: 220074017
Change-Id: Idfdd94e902f656ac65a2a75dfdd199f6f85ba472
|
|
ag/15023698
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
|
|
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
Merged-In: I3dba7719ac4c4d178c9ec5265865961dbd0450f9
|
|
Fixes: 193758967
Test: atest SystemUITests
Change-Id: I7417ccd3899ffba05411ebb4e56c255f6ef09f54
Merged-In: I7417ccd3899ffba05411ebb4e56c255f6ef09f54
|
|
Ensures that EdgeBackGestureHandler is not a singleton.
Fixes: 193758967
Test: atest SystemUITests
Change-Id: I13f0130b57cf19d2ec8c3c4285a6785aba076486
Merged-In: I13f0130b57cf19d2ec8c3c4285a6785aba076486
|
|
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 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 523514fd24d72b8420c0ca184643751980e6f218
Bug: 173940864
Test: atest AccessibilityButtonTargetsObserverTest AccessibilityButtonModeObserverTest AccessibilityFloatingMenuControllerTest
Change-Id: I07fded55340644bce84a3f17a7a4da950268d2d2
Merged-In: I07fded55340644bce84a3f17a7a4da950268d2d2
|
|
Test: Manual, AutoTileManagerTest
Bug: 128465252
Change-Id: I735724658be186415604c89e66cf2ca3d586d719
|
|
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>
|
|
-Put MediaOutputDialogFactory in Dependency provider
-Inject MediaOutputDialogFactory in MediaControlPanel
-Use Dependency.get() to get MediaOutputDialogFactory in MediaTransferManager
-Use MediaOutputDialogFactory.create() to launch dialog in MediaControlPanel and MediaTransferManager
Bug: 155822415
Test: atest MediaControlPanelTest DependencyTest
Change-Id: I1b393d43bf4c7c869a3066404c9755ebef5f9c76
|
|
b3af577b3d am: 47a73ac9ac am: f3bcbd5bd2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1437251
Change-Id: I0668fc6154541bdf36ab9005f606ec2a76858193
|
|
b3af577b3d am: 47a73ac9ac
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1437251
Change-Id: Ieb63a9be346d1855e1f39c4a3f15ea969e6518dc
|
|
Test: manual, trigger KeyguardBottomAreaView#launchVoiceAssist
Fixes: 167421921
Change-Id: I9b366f2fb69f47e0fb7bf19ced0c5382d0bb9c7c
|
|
Create Bubbles interface and optional mechanism
The Dependency using still remain in some class will remove or
refactor in follow-up CL.
Bug: 161980186
Test: atest SystemUITests
Test: manual
Change-Id: I88e5cc6ead1c56985aac07fe8eac39f08f114248
|
|
Test: manual, atest
Change-Id: I807ff02212a5a4c9cffd5d19f79a70f5a980e2bb
|
|
This fixes group expansion for the new notif pipeline.
Creates a new interface, NotifGroupManagerHelper, which helps
controllers determine group information (ie: summary, parent, children)
given a notification entry. This is necessary for parts of the
notification pipeline that are shared between the old and new pipelines
that require querying group information (ie: HighPriorityProvider,
PeopleNotificationIdentifier).
Many parts of the old pipeline directly inject
NotificationGroupManagerLegacy. This indicates that when migrated to the new pipeline,
we can delete the old group manager's functionality since the new
pipeline handles the logic elsewhere (most likely in ShadeListBuilder)
For example, the new pipeline no longer needs to
track isolated entries nor suppressed summaries.
Test: test SystemUITests
Change-Id: Id716f881aa7122c08be6dada8fb43058594d89f1
|
|
Removes Divider from SystemUI component list since it is no longer
needed after the split screen feature migrated to WM shell library.
Provides optional controller of split screen for sysui components to
use. Different varients of SystemUI could leverage dagger module to
decide whether to load the controller or not.
Implements WMShell component in SysUISingleton scope to help delegating
sysui specific events to WM shell controllers.
Detached DisplayImeController's initialization step from split screen
feature with the reason that some of SystemUI varients might not have
split screen feature.
Bug: 161116823
Test: atest SystemUITests
Test: atest SystemUIGoogleTests
Test: atest CarSystemUITests
Test: manual verified spliscreen behavior
Change-Id: I4220b5ce53bc7b793b95cfca34100e808b9f052c
|
|
Create OnUserInteractionCallback (to repace OnDimissCallback) which will
handle user interactions with notifications (ExpandableNotificationRow)
and send this information to the relevant notification pipeline.
While we still have both notification pipelines in SystemUI, the new
pipeline will use a VisualStabilityManagerStub (used by
HeadsUpManagerPhone and MediaCarouselController) since the view layer no
longer needs visual stability since this will be taken care of by the
VisualStabilityCoordinator in the data-layer. Once we migrate to the new
pipeline, the legacy VisualStabilityManager + Stub should deleted.
Notes:
- Currently only one coordinator can attach a visual stability manager
or an IllegalStateException will be thrown.
- The suppressed group and section changes are logged in the
suppressedAttachState on the ListAttachState object on each entry.
- Currently we do not suppress the ordering of children as part of the
new VisualStabilityCoordinator; however the old pipeline does
suppress ordering.
Test: atest VisualStabilityCoordinatorTest
Test: SystemUITests
Change-Id: Ia26844ba885ac9ed3b8526af82e772f19e5dcd19
|
|
It is far easier to move _everything_ into SysUIComponent, and then
selectively promote things back to GlobalScope and/or WMScope than
it is to try to do it one at a time. With this change, though lots
of files are touched, very little actually changes structurally.
After this change goes in, folks should stop using @Singleton quite
so freely. Most things should live in @SysuiSingleton. @Singleton
is due to quickly be replaced by @GlobalScope.
Bug: 162923491
Test: atest SystemUITests && manual
Change-Id: Idc31d3d83b030581fb1fa869f7fafc4f2d3a8828
|
|
Bug: 162744974
Bug: 155711562
Test: manual, atest SystemUITests, atest :carsysui-presubmit
Change-Id: I1a8b6a31e6d965f849d678af0e4c46f236641aac
|
|
- Move off fragments, now we have direct ownership of
NavBarController -> NavBar (per display) -> NavBarView
- Move the nav bar components to its own package
- Removed some unused files
- Can finally dump NavigationBarController instead of FragmentService :)
- Clean up some of the dumps to be more consistent
Bug: 163690441
Bug: 158605244
Test: atest SystemUITests
Test: Test bar in various nav modes
Change-Id: I21130899df560f6cf8b7f38d4d86edca6d8f920e
|
|
This simplifies the dagger initilization, removing constructs that
provided no value to the process, but did serve to make the code
more complex to analyze.
Update dagger.md while we're here.
Fixes: 161911916
Test: manual
Change-Id: I84ced47d7cd6ce90664b68339acb7d7db765d56f
|
|
* changes:
Restricts notified app ops based on flags
Add back privacy chip
|
|
This adds back the privacy chip classes (Controller and view).
Change to using Executors and DeviceConfigProxy, also fix tests that
were flaky before.
Test: SystemUITests
Test: enabled hub and see chip appear (after re-opening QS)
Bug: 160966908
Change-Id: Id3e5981a87c33a8cabe7ce348f9512d81ad2b1d8
|
|
Bug: 161655636
Test: atest WindowManagerShellTests
Test: atest SystemUITests
Change-Id: I42f13ee7fbb14ba3b7f33ed5654ec72454dc6dba
|
|
This adds back the privacy chip classes (Controller and view).
Change to using Executors and DeviceConfigProxy, also fix tests that
were flaky before.
Test: SystemUITests
Bug: 160966908
Change-Id: Id3e5981a87c33a8cabe7ce348f9512d81ad2b1d8
Merged-In: Id3e5981a87c33a8cabe7ce348f9512d81ad2b1d8
|
|
ChannelEditorDialog now only uses the word "apply" when there are edits
to be made by pressing the button. Otherwise use "done"
Also removed ChannelEditorDialog from Dependency to allow for better
testing / initialization of the class
Test: atest ChannelEditorDialogControllerTest
Fixes: 138957374
Change-Id: Idc111ccb0bee50df65f4037d3e552b498e135660
|
|
Previously, it was difficult to tell when a notification was inflated
before trying to show the heads up, and we got around it with a (now
flawed) heuristic based off if a notification was just inflated and
it has a heads up view.
This issue stems from having two control classes that are not really
communicating with each other. By combining these classes into one
heads up controller, the logic becomes more readable and we can directly
put a callback to show the HUN when the HUN content is inflated.
Bug: 149028421
Test: HUN smoke test
Change-Id: Ibb75597cfe26ccaf7e4d5247dc69d69bdf421ee6
|
|
Take #2
Original CL disabled HUNs because NotificationAlertingManager was
removed from the StatusBar constructor (but never injected elsewhere;
therefore it was never instantiated).
bcb499478af43fa6bd7626da45f5ba937e8abf2e
Test: atest SystemUITests
Bug: 151050224
Bug: 150797570
Change-Id: I601d58bfff4422bd0c52e56ebdb4192ce9a8f880
|
|
Revert "Move HUNs and pulsing to interrupt package"
Revert submission 10548462-hun_interrupt_package
Fixes: b/151050224
Reason for revert: broke HUNs
Reverted Changes:
I5ad5546d6:Move HUNs and pulsing to interrupt package
I13be75809:Create interface for NotifInterruptStateProvider
Change-Id: I421a7906a87236fb18fc3d434d654fb18c35e6a2
|
|
- Remove calls to Dependency.get(NotificationInterruptStateProvider)
- Fix style errors in touched kt files
- Remove some unused injects
- Adjust Car components to match new interface
Bug: 150797570
Test: atest SystemUITests
Change-Id: I13be75809831656bf7eaf136f18aaa8b9b6225d2
|
|
Unify "everything that needs to dump stuff" to use the DumpManager.
Test: atest, manual
Change-Id: Ib475aba4eeccb24bd49ab909896f7d779a8e1b04
|
|
Introduces DumpManager, a unified dumping system that supports dumping
at different priority levels.
Currently, when a bug report gets taken, SystemUI is only dumped during
the CRITICAL section. This has its advantages (we get to go first!) but
also imposes a strict limit on how much we can dump. To get around this
restriction, we need to *also* dump SystemUI during the NORMAL section,
which has much more forgiving constraints.
This CL simply creates the mechanism for systemUI to dump at different
priority levels, but doesn't actually cause us to participate in the
NORMAL section (yet, see later CLs).
It introduces the DumpManager, unified replacement for DumpController &
various logic in SystemUIService and Dependency.java. See kdoc in
DumpManager for usage notes.
Migration of current users of DumpController coming in a later CL.
Test: atest, manual
Change-Id: If4f41ed496c0c64024a83aad812b77f60fe27555
|
|
Use the early TaskOrganizer concepts to implement Split-screen
in system-ui.
This includes changes to both FW and SystemUI. The changes to
FW involve removing the use of split-screen specific behavior (like
minimize dock and direct ordering) and also reducing things that
care about primary vs secondary. It also changed ActivityStack
to inherit bounds from parent** when in split-mode so that sysui
only needs to manipulate the tile and/or reparent stacks to
effect their geometry.
This means a lot of layout logic moves to SystemUI. The bulk of
the work done in ActivityStack which is split-screen related is
moved into SplitDisplayLayout. This basically takes a snapshot of
display configuration and manages the sizes of splits and their
snap targets.
Intermediate dragging of divider bar now only moves root task leashes
around rather than talking to WM. This includes position as well
as crop (which used to be stack crop). Once the user releases
the divider bar, it will calculate (based on snaps) the new
root task sizes and update their configurations via
WindowContainerTransaction. Because the interim updates are only
on the leashes, no configuration updates occur until the end.
Entering/Exiting split-mode is now handled by SplitScreentaskOrganizer#
onTaskInfoChanged. This is effectively a state-machine that
looks at the current split task membership vs. previous and then decides
when to move things into/out-of split tasks and how to coordinate with the
DividerView.
Minimized dock is relegated to a purely system-ui concept. To
accomplish this, **the home *stack* is set to the minimizedhomebounds
by systemui. This means that it's relative position to its parent is
negative! This allows us to leave the split sizes constant, have
their children inherit the "actual" split sizes, but keep the
home stack unchanging in its minimized size. We just adjust the crop
negative to reveal it.
IME handling is done through the same mechanism as app-driven IME
animation... only Divider receives the control instead of the app.
This allows synchronized animation of split tasks with IME. To
account for insets, though, when IME is opened, the bottom stack
will be repositioned in WM.
Bug: 133381284
Test: Manual, use split-screen, rotate device, launch unresizable
apps in split, use divider snap to close/maximize apps, etc.
Change-Id: I7133e151a1037c42b275b97857936437a7a6725f
|
|
CarStatusBar had one last reference in its dump method.
FalsingManager, however, directly registers itself with the
DumpController, so this call is redundant.
Bug: 136279712
Test: atest SystemUITests
Change-Id: I3731e7ecac2f147e5d3967d4219f22d17e810843
|
|
|
|
Bug: 148148105
Test: atest SystemUITests
Change-Id: I8614fe50cb87f66b1e403dfbfe8a68d1e043bd13
|
|
Bug: 144854916
Test: Take a sysui trace
Change-Id: Ia8a87c8c6756ecbb77beb06a60d5b46b883ed8d9
t stat
|
|
|
|
This is the first step to create another new window for status bar.
Small window => TYPE_STATUS_BAR: The bar on top of screen.
Large window => TYPE_NOTIFICATION_SHADE: Anything else.
Bug: 136993073
Test: build then flash
Test: atest WmTests SystemUITests
Test: atest RegisterStatusBarResultTest InsetsFlagsTest
Manual Test:
- Bouncer can show when leave showWhenLocked activity.
- StatusBar can show when comes HUN in fullscreen mode.
- StatusBar can play enter/leave animation in fullscreen mode.
- Able to drag notification panel when bubble/glow existing.
- Switch to market launcher, and run above tests.
- Drag notification panel from launcher several times and observe it
works fine.
Change-Id: Id9f72cd0e21f01b50d57f02ea60f97c6460926b7
|
|
Currently defaults to no taps, no audio. This adds a 3s countdown before
actually launching the recording, which can be stopped from either the
notification or the tile.
Bug: 137153302
Test: manual
Change-Id: I0e194dc8d43d8834e07e1f6d8de90a2c703a4c3a
|
|
Re-route ime-control to SystemUI when it isn't driven by an app.
This allows multi-window system-ui components to synchronize
with the ime (eg. adjusting for split-screen).
Ime control goes through a new interface IDisplayWindowInsetsController.
This gets set on WM and there is only 1 per display. All of this
is currently handled in DisplayImeController which will also
drive the animation of the IME and dispatch to ImePositionProcessors.
On the server-side, InputMethodControlTarget is separated from
InputMethodTarget so that IME can be controlled by a different
client than the IME target.
Bug: 133381284
Test: Existing IME tests pass
Change-Id: I8e8ed2e09c45998c228df72e52a671fa327308f2
|
|
Bug: 141882822
Test: atest SystemUITests
Change-Id: I3a7fbee69b08abffefc56b722c1753cb733eb528
|
|
@MainHandler, @MainLooper, @MainResources -> @Main
@BgHandler, @BgLooper -> @Background.
Also, move the providers for Handlers and Loopers into the
ConcurrencyModule.
Bug: 146510722
Test: atest SystemUITests
Change-Id: I991735e1fdca397784427409a2ae696a7374f584
|