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

Commit c652d588 authored by Inseob Kim's avatar Inseob Kim Committed by Android (Google) Code Review
Browse files

Merge "Don't use product specific resources" into main

parents f10b604a 6e4519c9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1340,11 +1340,11 @@
    <string name="notice_header" translatable="false"></string>

    <!-- Name of the phone device. [CHAR LIMIT=30] -->
    <string name="media_transfer_this_device_name" product="default">This phone</string>
    <string name="media_transfer_this_device_name">This phone</string>
    <!-- Name of the tablet device. [CHAR LIMIT=30] -->
    <string name="media_transfer_this_device_name" product="tablet">This tablet</string>
    <string name="media_transfer_this_device_name_tablet">This tablet</string>
    <!-- Name of the default media output of the TV. [CHAR LIMIT=30] -->
    <string name="media_transfer_this_device_name" product="tv">@string/tv_media_transfer_default</string>
    <string name="media_transfer_this_device_name_tv">@string/tv_media_transfer_default</string>
    <!-- Name of the dock device. [CHAR LIMIT=30] -->
    <string name="media_transfer_dock_speaker_device_name">Dock speaker</string>
    <!-- Default name of the external device. [CHAR LIMIT=30] -->
+19 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.hardware.hdmi.HdmiDeviceInfo;
import android.hardware.hdmi.HdmiPortInfo;
import android.media.MediaRoute2Info;
import android.media.RouteListingPreference;
import android.os.SystemProperties;
import android.util.Log;

import androidx.annotation.NonNull;
@@ -45,6 +46,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settingslib.R;
import com.android.settingslib.media.flags.Flags;

import java.util.Arrays;
import java.util.List;

/**
@@ -63,6 +65,17 @@ public class PhoneMediaDevice extends MediaDevice {

    private final DeviceIconUtil mDeviceIconUtil;

    /** Returns this device name for media transfer. */
    public static @NonNull String getMediaTransferThisDeviceName(@NonNull Context context) {
        if (isTv(context)) {
            return context.getString(R.string.media_transfer_this_device_name_tv);
        } else if (isTablet()) {
            return context.getString(R.string.media_transfer_this_device_name_tablet);
        } else {
            return context.getString(R.string.media_transfer_this_device_name);
        }
    }

    /** Returns the device name for the given {@code routeInfo}. */
    public static String getSystemRouteNameFromType(
            @NonNull Context context, @NonNull MediaRoute2Info routeInfo) {
@@ -80,7 +93,7 @@ public class PhoneMediaDevice extends MediaDevice {
                name = context.getString(R.string.media_transfer_dock_speaker_device_name);
                break;
            case TYPE_BUILTIN_SPEAKER:
                name = context.getString(R.string.media_transfer_this_device_name);
                name = getMediaTransferThisDeviceName(context);
                break;
            case TYPE_HDMI:
                name = context.getString(isTv ? R.string.tv_media_transfer_default :
@@ -135,6 +148,11 @@ public class PhoneMediaDevice extends MediaDevice {
                && Flags.enableTvMediaOutputDialog();
    }

    static boolean isTablet() {
        return Arrays.asList(SystemProperties.get("ro.build.characteristics").split(","))
                .contains("tablet");
    }

    // MediaRoute2Info.getType was made public on API 34, but exists since API 30.
    @SuppressWarnings("NewApi")
    @Override
+2 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static android.media.MediaRoute2Info.TYPE_WIRED_HEADSET;
import static com.android.settingslib.media.PhoneMediaDevice.PHONE_ID;
import static com.android.settingslib.media.PhoneMediaDevice.USB_HEADSET_ID;
import static com.android.settingslib.media.PhoneMediaDevice.WIRED_HEADSET_ID;
import static com.android.settingslib.media.PhoneMediaDevice.getMediaTransferThisDeviceName;

import static com.google.common.truth.Truth.assertThat;

@@ -114,7 +115,7 @@ public class PhoneMediaDeviceTest {
        when(mInfo.getType()).thenReturn(TYPE_BUILTIN_SPEAKER);

        assertThat(mPhoneMediaDevice.getName())
                .isEqualTo(mContext.getString(R.string.media_transfer_this_device_name));
                .isEqualTo(getMediaTransferThisDeviceName(mContext));
    }

    @EnableFlags(Flags.FLAG_ENABLE_AUDIO_POLICIES_DEVICE_AND_BLUETOOTH_CONTROLLER)
+1 −4
Original line number Diff line number Diff line
@@ -475,10 +475,7 @@ public class MediaDeviceManagerTest : SysuiTestCase() {

        // Then the device name is the PhoneMediaDevice string
        val data = captureDeviceData(KEY)
        assertThat(data.name)
            .isEqualTo(
                context.getString(com.android.settingslib.R.string.media_transfer_this_device_name)
            )
        assertThat(data.name).isEqualTo(PhoneMediaDevice.getMediaTransferThisDeviceName(context))
    }

    @Test