Pointer pointed to the right of bubble center. This happened because:
- Bubbles live in expanded view container (x includes expanded view padding)
- Pointer lives in expanded view, which has padding (x does not include padding)
This change removes expanded view padding when deriving pointer location from bubbles.
Bug: 132907741
Test: manual
Change-Id: Ic301d578fee4e6a36be9642ba30ac0cc74cdd3cb
Restricts Privacy Indicators behind the same flags as Permissions Hub.
When flag is set to false:
* PrivacyItemController is set to not listening (listens to changes in
flag)
* Location icon is reverted back to P behavior
* Location icon is shown in QS Header icons (listens to changes in
flags)
* No privacy chip shown.
We need to listen to changes because most of our views/controllers
persist forever.
Test: manual, change the flag and observe things appear/disappear
Fixes: 131826452
Fixes: 132644949
Change-Id: I329596760f3c06feb2161b077af008da782a50be
Media seems stuck on AOD if paused or stopped and still visible.
Test: play pause with bluetooth headphones
Test: play pause on lock screen
Test: skip songs on lock screen, go to aod
Fixes: 131314881
Change-Id: I3574bbf628b708d2f9d4c4363a912de5ded951ac
case testTelephonyCapable_SimState_CardIOError()
There is existing bug that KeyguardUpdateMonitor doesn't notify
CarrierTextController in State.CARD_IO_ERROR condition, so invalid text
doesn't display.
Notify CarrierTextController in State.CARD_IO_ERROR condition to allow
correct text to display
Bug: 132376981
Test: fake SIM state with State.CARD_IO_ERROR and make sure invalid text
is displayed. Also atest testTelephonyCapable_SimState_CardIOError pass
Change-Id: Iecb404689f57776c21591a049bc660fec17127d4
It's necessary to lock the current user, until the next screen power
cycle, to avoid unlocking the device accidentally.
Fixes: 132129109
Test: atest KeyguardIndicationControllerTest
Test: Unlock with biometrics, long press lock icon, swipe up
Test: Unlock with biometrics, swipe up
Change-Id: I23258a79531c21d0e63bd0a91db59d8950526197
This adds the flyout-to-dot transition, and encapulates the flyout logic in a custom view. This also adds support for the 'new' dot changing sides (previously unimplemented) and animates it changing sides when the stack changes sides.
Test: atest SystemUITests
Fixes: 129768381
Bugs: 129768381
Change-Id: I90697b437cf14e5c5a211c87ed2c131a12e697e7
Bug: 130451254
Test: manual
This reverts commit d9b9847ad6.
Reason for revert: found a better way to extract scrim colors without going through OverviewProxy
Change-Id: Iac97fee4d9b15757f7211889f6c370757c0870e3
Test was flaky because the messages were posted in main looper (that is
not injected) and needed to be flushed.
Test: this test
Fixes: 132420431
Change-Id: Ie0765b574f3b1425a4d65ca13c3a1ae5eaf53b5c
1) Add support of dynamically enabling/disabling overheat warning
upon Settings change at runtime.
2) Rename related classes, methods, and variables to improve the
readability.
3) Fix an issue where skin overheat warning fails to show when previous
dismissal is triggered by intent ACTION_DISMISSED_TEMP_WARNING or
ACTION_CLICKED_TEMP_WARNING.
Test: atest SystemUITests
Test: enable/disable overheat warning via adb command and trigger the
warning with emulated temperature.
Bug: 126326427
Bug: 129043751
Change-Id: I844f75a042651bdd433715fedfc190b8fbff0fd4
From NotificationGuts, tapping "Turn off notifications" will now present
a half-shelf allowing the user to directly block up to 4 channels (the
one given from the notification guts + up to 3 other channels from
that app) or the app itself.
Test: visual (for now)
Bug: 130307442
Fixes: 131432719
Change-Id: I7e82928dfd56b9e25e5bef02607eede55b11d9e3
This change adds onBubbleOrderChanged to BubbleStackView
to try to keep the order synchronized. There are some known
issues with the animation and visual state, which will be
addressed in a follow up CL.
Bug: 123542488
Test: BubbleControllerTest BubbleDataTest
Change-Id: Ie5a679df2f3069236f4d67a3fce4189b39b9eb28
In some cases, a BT device can change its ACL connection state without
going through proper disconnection and then BluetoothControllerImpl
would not be updated without this. Listening to this changes makes
BluetoothControllerImpl aware of more state changes in BT state.
In the BR, there is an ACL_DISCONNECTED right before the screenshots
time, that does not have a CONNECTION_STATE_CHANGED so this seems to be
the issue.
Also added DEBUG logs for the different state changes
Test: atest BluetoothControllerImpl
Bug: 130058055
Change-Id: I40449dba4fb30673fc21ce6b9955d66261776ea2
Modifying StatusBar#showBouncer to collapse the shade is not always the right things to do.
It caused a regression where KeyguardSecurityView would be visible but KeyguardSecurityContainer
would never be initialized.
This is a partial revert of ag/7157531
Fixes: 131322107
Test: remove locked sim card, add locked sim card, swipe up
Change-Id: I5fe41b0426c2975c0b0ffdc30c0f5e8adb3b00bc
Make sure to read the opportunistic carrier display property
Bug: 131849855
Test: verified that carrier text is displayed correctly
Change-Id: I93f9da8d0a9a8dae276370a0cca2df889229d4c3
- Add back arrow for QS customizer
- Update work profile status bar / QS / corp badge icon to GM2
- Add Settings and Launcher overlay icons
Bug: 131346125
Test: visual
Change-Id: I61b56b04993ef19b5e66c9ad3d78eddcfce3aeb1
TileServices#getTileWrapper created a TileServiceManager (that triggered
the binding of TileService through a Handler) and after populated the
maps with the respective tokens. As one of the keys is the
TileServiceManager, this had to do after creating it.
This created the situation that in certain cases, the binding would
happen before all the maps were populated (in particular mTokenMap but
sometimes mServices).
By decoupling the binding triggering from TileServiceManager constructor
into a separate method in TileServiceManager we can guarantee that by
the time the service is bound, the maps are populated. Also added some
guards to make sure that this method has been called and the tile has
been added.
The new method is called after populating the maps, and it would not
make sense for the TileService to be bound if the maps are not
populated.
Test: atest TileServiceMaanger TileLifecycleManager TileServicesTest
Test: atest CtsAppTestCases:android.app.cts.TileServiceTest (approx 50
times)
Test: test TileServiceTest ActiveTileServiceTest
Test: Development tiles and adding Grayscale tile work perfectly
Fixes: 124735442
Fixes: 129684780
Fixes: 130796699
Change-Id: Ie3c7277756c74551ba2e6b3e88dad4a98aeafc96
This is a refactor. It touches a lot of files, but zero functionality.
The primary change is changing FalsingManager.getInstance() into
FalsingManagerFactory.getInstance(); chaning FalsingManager into an
interface, and then turning the existing FalsingManager into
FalsingManagerImpl, an implementation of that interface. Other changes
are merely references to those classes.
Bug: 130256776
Test: atest SystemUITests
Change-Id: I5d64a7673e4efc554105dd841b27807361ed3828