Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31534b74 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix pixel buds icon is empty in output switcher" into rvc-qpr-dev

parents 99fe8f30 99aab3ca
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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
+14 −0
Original line number Diff line number Diff line
@@ -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();
    }
}