From f1b2b2c9c4c382f6a230833dae842d74f8bab0eb Mon Sep 17 00:00:00 2001 From: Beth Thibodeau Date: Wed, 8 Feb 2023 14:37:17 -0600 Subject: [PATCH] Use animated icon for ongoing sessions Bug: 268331353 Test: visual Change-Id: Icbc0e2d1932a13e889b9c7ede4acafd0e77b5ac9 --- .../res/drawable/ic_sound_bars_anim.xml | 225 ++++++++++++++++++ .../media/dialog/MediaOutputAdapter.java | 8 +- 2 files changed, 231 insertions(+), 2 deletions(-) create mode 100644 packages/SystemUI/res/drawable/ic_sound_bars_anim.xml diff --git a/packages/SystemUI/res/drawable/ic_sound_bars_anim.xml b/packages/SystemUI/res/drawable/ic_sound_bars_anim.xml new file mode 100644 index 0000000000000..43fdec50bbdc5 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_sound_bars_anim.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java index 99e57406c0cbf..00e9a79a3213d 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java @@ -27,6 +27,7 @@ import android.content.Context; import android.content.res.ColorStateList; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; +import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.Drawable; import android.os.Build; import android.util.Log; @@ -235,7 +236,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { mSubTitleText.setText(device.getSubtextString()); Drawable deviceStatusIcon = device.hasOngoingSession() ? mContext.getDrawable( - R.drawable.media_output_status_session) + R.drawable.ic_sound_bars_anim) : Api34Impl.getDeviceStatusIconBasedOnSelectionBehavior( device, mContext); @@ -334,7 +335,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { && mController.isSubStatusSupported()) { Drawable deviceStatusIcon = device.hasOngoingSession() ? mContext.getDrawable( - R.drawable.media_output_status_session) + R.drawable.ic_sound_bars_anim) : Api34Impl.getDeviceStatusIconBasedOnSelectionBehavior( device, mContext); @@ -399,6 +400,9 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { private void updateDeviceStatusIcon(Drawable drawable) { mStatusIcon.setImageDrawable(drawable); mStatusIcon.setColorFilter(mController.getColorItemContent()); + if (drawable instanceof AnimatedVectorDrawable) { + ((AnimatedVectorDrawable) drawable).start(); + } } private void updateProgressBarColor() {