diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-12-07 08:13:01 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-12-07 08:13:01 +0000 |
commit | 792df3a32fc347802e16596dff615cee79bd9575 (patch) | |
tree | aea03a1173f40198a3f74c0d959c3767b4246829 | |
parent | c6db9acce650989cbbe05fe3713740bb61b76713 (diff) | |
parent | 31534b741c7213b73fa3f654752bca56105c2126 (diff) |
Merge "Fix pixel buds icon is empty in output switcher" into rvc-qpr-dev am: 31534b741c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13162479
Change-Id: Iac1a78ec85d20bf244053e556ebdb276dd6bda59
2 files changed, 19 insertions, 5 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java index 00f94f5c2e64..9d4669a5a37d 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java @@ -18,6 +18,7 @@ package com.android.settingslib.media; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; import android.content.Context; +import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; @@ -56,8 +57,9 @@ public class BluetoothMediaDevice extends MediaDevice { @Override public Drawable getIcon() { - final Drawable drawable = getIconWithoutBackground(); - if (!isFastPairDevice()) { + final Drawable drawable = + BluetoothUtils.getBtDrawableWithDescription(mContext, mCachedDevice).first; + if (!(drawable instanceof BitmapDrawable)) { setColorFilter(drawable); } return BluetoothUtils.buildAdvancedDrawable(mContext, drawable); @@ -65,9 +67,7 @@ public class BluetoothMediaDevice extends MediaDevice { @Override public Drawable getIconWithoutBackground() { - return isFastPairDevice() - ? BluetoothUtils.getBtDrawableWithDescription(mContext, mCachedDevice).first - : mContext.getDrawable(R.drawable.ic_headphone); + return BluetoothUtils.getBtClassDrawableWithDescription(mContext, mCachedDevice).first; } @Override diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java index 8973d116e438..e887c45083c0 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.when; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothProfile; import android.content.Context; +import android.graphics.drawable.BitmapDrawable; import com.android.settingslib.bluetooth.CachedBluetoothDevice; @@ -96,4 +97,17 @@ public class BluetoothMediaDeviceTest { assertThat(mBluetoothMediaDevice.isFastPairDevice()).isFalse(); } + + @Test + public void getIcon_isNotFastPairDevice_drawableTypeIsNotBitmapDrawable() { + final BluetoothDevice bluetoothDevice = mock(BluetoothDevice.class); + when(mDevice.getDevice()).thenReturn(bluetoothDevice); + + final String value = "False"; + final byte[] bytes = value.getBytes(); + when(bluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET)) + .thenReturn(bytes); + + assertThat(mBluetoothMediaDevice.getIcon() instanceof BitmapDrawable).isFalse(); + } } |