Updating sizes of icon based on code review discussion in ag/12013470.
Bug: 159990829
Test: manual - Verify icons (app and device) are same size in media
player.
Test: manual - Verify fallback device icon and app icon are the same
size.
Change-Id: I7dd12145ecdb96bdf4a7dc4e6e095e306453633b
Bug: 159990829
Test: manual - Change text size to smallest and look at app icon.
Verify that icon is aligned to center of app name text.
Test: manual - Change text size to largest and do the same check as
above.
Change-Id: I88ca6c7ff908d76f87bce2e87e8d11a07c77c902
Otherwise, the ouput switcher chip will expand to fill the avaiable
space.
Fixes: 159708142
Test: manual - Connect headphones with short name. Look at player in QS.
Verify that chip wraps the text and isn't too wide.
Change-Id: I574762cc2d327fe7c55a3c3c6105d15dec55f7ca
Make sure that there is a gap at least 10dp to the left and right of center
vertical in media view, between app name and output switcher.
Test: manual
Fixes: 159708142
Change-Id: If142bd920b6921c9d82fa2d6dfb2595f123df2ac
Fixes: 159231146
Test: manual - Cast YouTube and look at output switcher chip in player.
Verify that there is only a Cast icon.
Change-Id: I9dcd5f642e3f7400a9442c05b5de0566704af38a
Motionlayout had a few limitations because we didn't have
any control over the measure cache and the resizing
behavior wasn't very performant for our usecase.
We therefore implement a new Layout called DyanmicLayout
that dynamically allows you to move between different
ViewStates in a performance optimized way.
A new controller is introduced that is responsible
for caching the individual viewstates and react to
possible changes in the view hosts. This will make
sure that our layout is more stable than ever while
beeing fully optimized for multiple players with
various different viewstates, allowing us to implement
usecases much easier where players are conditionally
hidden or replaced when long-pressing.
MediaLocationStates are now fully owned by the
MediaStatesManager and the hiearchyManager only
operates on the bounds of the views, making it more
generic and resuable for future usecases.
Fixes: 156465387
Test: atest SystemUITests
Change-Id: Ica8c2b1404df52d3cc3bf3d0ee5dabbc886557cf
Because we're clipping children and MotionLayout doesn't hide them
when collapsed, views could flicker onto the screen
Test: add media notification, swipe down to shade and back, observe no flickering
Bug: 154137987
Change-Id: Ida591706e779215e13c6d3047be7e3b5318b4d19
Let there be hosts and transitions.
This also enables us to build again after the rebase
Bug: 154137987
Test: atest SystemUITests
Change-Id: I8aaed1718b35be46abae0b0255793f37b8a1fbd2
Screen recording can be launched via long press on screenshot in
the global actions menu if the local feature flag is enabled.
Otherwise, long press on screenshot will also trigger a screenshot.
Demo videos: https://drive.google.com/open?id=1oJzfzJb8aGXSUqn4CZ_Yn7qWmJ2dvRd5
Test: manual
Change-Id: I373d38ad86291ff6f26f7dca3195001bd8f5ee16
Bug: 111395687
Bug: 118826991
This change modifies NotificationIconAreaController such that icons for
low-priority notifications are not shown. This behavior is controlled
by a new switch in the SystemUI Tuner.
Test: manually
Bug: 116622974
Change-Id: I7f1d5b6c5757936aba93da3d0e50ae1dd8434b33
Using CarAudioManager to get volume change callback and set volume
change.
BUG: 78766946
Test: manual
Change-Id: I0563938ca20ad83b4b0de0b7cfe780bb6a97b0fd
Step one in simplifying the volume controls. All controls are still
shown as sliders at the top of the screen, and the ringer stream is
still the default stream.
Test: make, manual
Bug: 63096355
Change-Id: Ia66fbb58cbea6305a6e8a2b4567e23eb93200227
Also, add a config value for always on display availability.
Test: runtest -x tests/src/com/android/systemui/doze
Change-Id: Id5e0136a5bed0eac78ad48147b0bef8311b06986
Test: Check tuner for items, also try moving PIP around note it doesn't
minimize, also try long drag to dismiss, note it doesn't dismiss
Bug: 37476193
Change-Id: I1ac1abd9c75d40bd84f59dab8aba5cdb98cd59bb
Fixes: 37270258
Test: Double tap, make sure device does not wake up to lockscreen, only to ambient display
Change-Id: Iaf0c3bfb5dcf566adae7f37b51c866d92bce7a1d
This is by default turned off and is behind a tuner flag.
Allows the PIP to be dismissed if it is flung towards the bottom center
of the screen and the finger is released within the bottom area of the
screen.
Test: Manual - enable tuner setting, have a PIP, position it at top of
screen, long- fling it towards bottom center of screen, it dismisses.
Bug: 35358628
Change-Id: I2d3d50093f6523c7bb321e0486dab360095a398e
Test: Have PIP, try to minimize it (does not minimize).
Enable tuner item, have PIP, try to minimize it (success!)
Bug:35358768
Change-Id: Iee9c26055decd06dc27233ff21edb6905eef9d23
Bug: 30876804
Test: On user build, verify that "Ambient Display" does not appear in SystemUI Tuner.
Change-Id: I75ba7ce11346f9cb8bf5683b17debe77edca20bf
Bug: 30876804
Test: Open SysUI tuner -> Ambient Display -> Toggle wake up on sensors setting, verify that double tap and lift wake up phone instead of triggering ambient display.
Change-Id: Ia33ab1ab5ed532f239262d70e00dac3fec0330e2
Adds a service for monitoring the amount of tracked garbage.
If it exceeds reasonable levels, a notification with a leak
report is posted.
Test: runtest systemui
Change-Id: Ib55281f2aac557743b97c46bc616688261c72e9c
- #1: Move logic for handling IME size changes into SysUI, and only rely
on PinnedStackController to provide bounds when first entering
PiP and on rotation
- #2: Doing #1 allows us to move PipMotionHelper to SysUI completely, which
lets us aggregate the animation calls out of PipTouchHandler
- #3: Add proper callbacks to the listeners when the movement bounds
changed from config change, ime change, or aspect ratio change. This
allows SysUI to calculate the associated movement bounds for the
expanded state, and we can then remove the corresponding WM call.
It also means that SysUI is the only thing that needs to know about
the expanded state.
- #4: Fix issue where TV was getting the default bounds, not taking the
aspect ratio when the PiP was entered into account. Doing #3
allows us to report the right bounds.
- #5: Remove dead code related to edge snapping/minimizing now that they
are on by default and associated tuner setting, and controller
callbacks
Test: android.server.cts.ActivityManagerPinnedStackTests (all existing tests pass)
Change-Id: I3ef361bdf8d44094b4c0a11c70ba4db7d697fdec
Signed-off-by: Winson Chung <winsonc@google.com>
- Updating menu actions to match design, fixing issue where
the actions background would still be visible if there were
no actions
- Enabling tap-to-show-menu, minimizing, snap-to-edge by default,
and removing swipe to dismiss option.
- Making the visible size a fixed value instead of a fraction of
the PIP size
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: Ib767df497ca7bc901c553d35168080f3b737033a
Signed-off-by: Winson Chung <winsonc@google.com>
Allows option in tuner to switch between system theme overlays
if multiple exist. Requires a restart to take effect.
Test: Settings -> Tuner -> Other -> Theme
Change-Id: Iea43b9cbb67fd91c6008be594ad4cfd19c3f57ec
- Also refactoring the PIP touch handling to be independent gestures
Test: Enable the setting in SystemUI tuner, then drag the PIP slightly
offscreen. This is only experimental behaviour, and
android.server.cts.ActivityManagerPinnedStackTests will be updated
accordingly if we keep this behavior.
Change-Id: I5834971fcbbb127526339e764e7d76b5d22d4707
Test: Enable in SysUI tuner, drag PIP. This is only experimental to help
figure out what UX we want to keep.
Change-Id: I0d6f2f0c5909d6a76aae4a8fb84c5076f6996fdd
Test: Enable SysUI tuner, tap once on PIP to interact with the activity.
This is only experimental behaviour, and
android.server.cts.ActivityManagerPinnedStackTests will be updated
accordingly if we keep this behavior.
Change-Id: I278ab8c360c44718cfcac0fd761f476a875f9b15
Allow plugins to be manually turned off from within the tuner. This
screen only shows itself if at some point in time a plugin has been
active on this device. Plugins can also serface settings there by
receiving the com.android.systemui.action.PLUGIN_SETTINGS action.
Test: Manual
Change-Id: Ifb043c85e383fc072c6445ae322293a6401a6f2c