Each CurrentUserTracker has one receiver per one object.
This could cause unnecessary transaction as Tracker counts
increases. The idea of redcuing receiver is creating
one static receiver for CurrentUserTracker and share it
with all object.
Test: Check if Quicksetting order is changed properly
after switching user.
Change-Id: I8404829826391f8b315b42bbd0f50e77b783eeab
The issue is that QSPanel get touch event while brightness mirros
is showing after density changes. This is because StatusBarWindowView
keeps the reference of detached brightness mirror view. We can refresh
it at onViewAdded function.
Test: manual(change device density > Check if can click QuickSettings
while dragging brightness slider.)
Change-Id: I646092abbc23b24bb91fc5c8525b12a143364b84
Last tiles are cached in QSTileHost and they are re-used
for other users. But when the cached tile is added, QSTileHost
doesn't check whether it is available or not. So Hotspot tile
is shown on Guest user. To fix this issue, QSTileHost should
check whether the tile is available when it is added.
Bug: 32817349
Test: manual - add Hotspot tile to default tiles
and switch to Guest user
Change-Id: I96d5876024f6d519bf72a462b5c79dcf41b253f9
SystemUI Tuner's activity changes to null when Multi-window's state is
changed after confirmation dialog about removing SystemUI Tuner is
shown. Then NullPointerException occurs by trying to finish the
activity to tap "REMOVE" button on the confirmation dialog.
So add null check before finish the activity.
Bug: 32786029
Test: manual - remove System UI Tuner on Multi-Window mode
Change-Id: I455d17c0c600eeb05c9dfb7d609d40307de2f855
When users open and close QS customizer quickly, QSCustomizer#hide()
is not called because QSCustomizer#isCustomizing() returns false.
The isCustomizing() becomes true when the expand animation ends.
The hide() should be called even though the animation is ongoing.
Bug: 30545089
Test: manual - open and close QS customizer quickly
Change-Id: Ic483addfb6ae9da31c997fec7778e5acd718c353
Developers of custom tiles should decide whether
the Drawable of their own tiles should be automatically mirrored.
So State#autoMirrorDrawable should be false by default.
Bug: 30930145
Test: manual - change to RTL language and open Quick Settings
Change-Id: Ia3fd8c2aeddb4a27b9ecfaaf52edbcce01fd7f48
When expanding a notification it could disappear and the
system would crash.
Test: Manual, expand notification group and have it removed while
doing so.
Change-Id: I421ab0cf7a9292e6894529c80784ba0989071fb0
Fixes: 31941185
The instance of Dnd tile leaks when user taps the edit button
of Quick Settings. To fix this issue, QSTile#destroy should be
called when the tile is no longer needed.
Bug: 32103239
Test: manual - go to Quick Settings -> Edit repeatedly
Change-Id: I9bc9ee836be5c8e46eb1ccd202bd5cc50070ef47
If applications whose targetSDK is below N build notification
without contentView, contentView is created at inside of build()
function in Notification.Builder. If application apply
removeAllViews to this contentView, Notification View can have
id 'status_bar_latest_event_content' without standard layout of
notification. When inflating this notification, SystemUI try to wrap
it with NotificationTemplateViewWrapper(its id is
'status_bar_latest_event_content'), and crash, because it does not
have expected views.
Test: Install & launch attached apk in below BUG url to N devices,
and try to make notification by clicking 'do it' button.
https://code.google.com/p/android/issues/detail?id=223479
Bug:31948446
Change-Id: Ifcdc79a117613e8afd2e8ed098afd211cceabf88
Particularly useful for Dialer, whose incoming call
notifications are basically useless if you accidentally mute
them.
Test: manual. With config_nonBlockableNotificationPackages
set to include com.android.dialer, receive or miss a
call and longpress the notification. No radio buttons
should be available.
Bug: 31360343
Change-Id: I6b8fa374fb8e811ec6922acbf222f23f18775a61