From 9c7100a9164abed33d4ff1c4522a023df19e11f4 Mon Sep 17 00:00:00 2001 From: Beth Thibodeau Date: Wed, 5 Feb 2020 17:02:10 -0500 Subject: [PATCH] Ensure chip view updates on main thread This was causing a crash sometimes when the device list was changed Fixes: 148963732 Test: manual Change-Id: I2fecbfff2d254784ac3831fbe75aee3369b1ec91 --- .../src/com/android/systemui/qs/QSMediaPlayer.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java b/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java index 9e3e94ce41862..6c697184f0829 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java @@ -36,6 +36,7 @@ import android.media.MediaMetadata; import android.media.session.MediaController; import android.media.session.MediaSession; import android.media.session.PlaybackState; +import android.os.Handler; import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -370,6 +371,13 @@ public class QSMediaPlayer { if (mSeamless == null) { return; } + Handler handler = mSeamless.getHandler(); + handler.post(() -> { + updateChipInternal(device); + }); + } + + private void updateChipInternal(MediaDevice device) { ColorStateList fgTintList = ColorStateList.valueOf(mForegroundColor); // Update the outline color