Loading packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java +0 −43 Original line number Diff line number Diff line Loading @@ -16,12 +16,9 @@ package com.android.settingslib.media; import android.content.Context; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; import android.text.TextUtils; import android.util.Log; import com.android.settingslib.R; import com.android.settingslib.bluetooth.BluetoothUtils; Loading Loading @@ -62,46 +59,6 @@ public class InfoMediaDevice extends MediaDevice { return MediaDeviceUtils.getId(mRouteInfo); } @Override public void requestSetVolume(int volume) { mRouterManager.requestSetVolume(mRouteInfo, volume); } @Override public int getMaxVolume() { return mRouteInfo.getVolumeMax(); } @Override public int getCurrentVolume() { return mRouteInfo.getVolume(); } @Override public String getClientPackageName() { return mRouteInfo.getClientPackageName(); } @Override public String getClientAppLabel() { final String packageName = mRouteInfo.getClientPackageName(); if (TextUtils.isEmpty(packageName)) { Log.d(TAG, "Client package name is empty"); return mContext.getResources().getString(R.string.unknown); } try { final PackageManager packageManager = mContext.getPackageManager(); final String appLabel = packageManager.getApplicationLabel( packageManager.getApplicationInfo(packageName, 0)).toString(); if (!TextUtils.isEmpty(appLabel)) { return appLabel; } } catch (PackageManager.NameNotFoundException e) { Log.e(TAG, "unable to find " + packageName); } return mContext.getResources().getString(R.string.unknown); } public boolean isConnected() { return true; } Loading packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java +25 −4 Original line number Diff line number Diff line Loading @@ -16,14 +16,18 @@ package com.android.settingslib.media; import android.content.Context; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; import android.text.TextUtils; import android.util.Log; import androidx.annotation.IntDef; import androidx.annotation.VisibleForTesting; import com.android.settingslib.R; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -113,7 +117,9 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * * @param volume is the new value. */ public void requestSetVolume(int volume) { mRouterManager.requestSetVolume(mRouteInfo, volume); } /** Loading @@ -122,7 +128,7 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return max volume. */ public int getMaxVolume() { return 100; return mRouteInfo.getVolumeMax(); } /** Loading @@ -131,7 +137,7 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return current volume. */ public int getCurrentVolume() { return 0; return mRouteInfo.getVolume(); } /** Loading @@ -140,7 +146,7 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return package name. */ public String getClientPackageName() { return null; return mRouteInfo.getClientPackageName(); } /** Loading @@ -149,7 +155,22 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return application label. */ public String getClientAppLabel() { return null; final String packageName = mRouteInfo.getClientPackageName(); if (TextUtils.isEmpty(packageName)) { Log.d(TAG, "Client package name is empty"); return mContext.getResources().getString(R.string.unknown); } try { final PackageManager packageManager = mContext.getPackageManager(); final String appLabel = packageManager.getApplicationLabel( packageManager.getApplicationInfo(packageName, 0)).toString(); if (!TextUtils.isEmpty(appLabel)) { return appLabel; } } catch (PackageManager.NameNotFoundException e) { Log.e(TAG, "unable to find " + packageName); } return mContext.getResources().getString(R.string.unknown); } /** Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaDeviceTest.java +0 −48 Original line number Diff line number Diff line Loading @@ -21,9 +21,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageStats; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; Loading @@ -36,14 +33,11 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowPackageManager; @RunWith(RobolectricTestRunner.class) public class InfoMediaDeviceTest { private static final String TEST_PACKAGE_NAME = "com.test.packagename"; private static final String TEST_PACKAGE_NAME2 = "com.test.packagename2"; private static final String TEST_ID = "test_id"; private static final String TEST_NAME = "test_name"; Loading @@ -52,27 +46,13 @@ public class InfoMediaDeviceTest { @Mock private MediaRoute2Info mRouteInfo; private Context mContext; private InfoMediaDevice mInfoMediaDevice; private ShadowPackageManager mShadowPackageManager; private ApplicationInfo mAppInfo; private PackageInfo mPackageInfo; private PackageStats mPackageStats; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mAppInfo = new ApplicationInfo(); mAppInfo.flags = ApplicationInfo.FLAG_INSTALLED; mAppInfo.packageName = TEST_PACKAGE_NAME; mAppInfo.name = TEST_NAME; mPackageInfo = new PackageInfo(); mPackageInfo.packageName = TEST_PACKAGE_NAME; mPackageInfo.applicationInfo = mAppInfo; mPackageStats = new PackageStats(TEST_PACKAGE_NAME); mInfoMediaDevice = new InfoMediaDevice(mContext, mRouterManager, mRouteInfo, TEST_PACKAGE_NAME); Loading Loading @@ -106,32 +86,4 @@ public class InfoMediaDeviceTest { assertThat(mInfoMediaDevice.getId()).isEqualTo(TEST_ID); } @Test public void getClientPackageName_returnPackageName() { when(mRouteInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice.getClientPackageName()).isEqualTo(TEST_PACKAGE_NAME); } @Test public void getClientAppLabel_matchedPackageName_returnLabel() { when(mRouteInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); assertThat(mInfoMediaDevice.getClientAppLabel()).isEqualTo(TEST_NAME); } @Test public void getClientAppLabel_noMatchedPackageName_returnDefault() { mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); when(mRouteInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME2); assertThat(mInfoMediaDevice.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); } } packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaDeviceTest.java +54 −0 Original line number Diff line number Diff line Loading @@ -23,9 +23,13 @@ import static org.mockito.Mockito.when; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageStats; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; import com.android.settingslib.R; import com.android.settingslib.bluetooth.A2dpProfile; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.HearingAidProfile; Loading @@ -39,6 +43,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowPackageManager; import java.util.ArrayList; import java.util.Collections; Loading @@ -58,6 +64,8 @@ public class MediaDeviceTest { private static final String ROUTER_ID_2 = "RouterId_2"; private static final String ROUTER_ID_3 = "RouterId_3"; private static final String TEST_PACKAGE_NAME = "com.test.playmusic"; private static final String TEST_PACKAGE_NAME2 = "com.test.playmusic2"; private static final String TEST_APPLICATION_LABEL = "playmusic"; private final BluetoothClass mHeadreeClass = new BluetoothClass(BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES); private final BluetoothClass mCarkitClass = Loading Loading @@ -111,6 +119,10 @@ public class MediaDeviceTest { private InfoMediaDevice mInfoMediaDevice3; private List<MediaDevice> mMediaDevices = new ArrayList<>(); private PhoneMediaDevice mPhoneMediaDevice; private ShadowPackageManager mShadowPackageManager; private ApplicationInfo mAppInfo; private PackageInfo mPackageInfo; private PackageStats mPackageStats; @Before public void setUp() { Loading Loading @@ -394,4 +406,46 @@ public class MediaDeviceTest { verify(mMediaRouter2Manager).selectRoute(TEST_PACKAGE_NAME, mRouteInfo1); } @Test public void getClientPackageName_returnPackageName() { when(mRouteInfo1.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice1.getClientPackageName()).isEqualTo(TEST_PACKAGE_NAME); } private void initPackage() { mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mAppInfo = new ApplicationInfo(); mAppInfo.flags = ApplicationInfo.FLAG_INSTALLED; mAppInfo.packageName = TEST_PACKAGE_NAME; mAppInfo.name = TEST_APPLICATION_LABEL; mPackageInfo = new PackageInfo(); mPackageInfo.packageName = TEST_PACKAGE_NAME; mPackageInfo.applicationInfo = mAppInfo; mPackageStats = new PackageStats(TEST_PACKAGE_NAME); } @Test public void getClientAppLabel_matchedPackageName_returnLabel() { initPackage(); when(mRouteInfo1.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice1.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); assertThat(mInfoMediaDevice1.getClientAppLabel()).isEqualTo(TEST_APPLICATION_LABEL); } @Test public void getClientAppLabel_noMatchedPackageName_returnDefault() { initPackage(); mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); when(mRouteInfo1.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME2); assertThat(mInfoMediaDevice1.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); } } Loading
packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java +0 −43 Original line number Diff line number Diff line Loading @@ -16,12 +16,9 @@ package com.android.settingslib.media; import android.content.Context; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; import android.text.TextUtils; import android.util.Log; import com.android.settingslib.R; import com.android.settingslib.bluetooth.BluetoothUtils; Loading Loading @@ -62,46 +59,6 @@ public class InfoMediaDevice extends MediaDevice { return MediaDeviceUtils.getId(mRouteInfo); } @Override public void requestSetVolume(int volume) { mRouterManager.requestSetVolume(mRouteInfo, volume); } @Override public int getMaxVolume() { return mRouteInfo.getVolumeMax(); } @Override public int getCurrentVolume() { return mRouteInfo.getVolume(); } @Override public String getClientPackageName() { return mRouteInfo.getClientPackageName(); } @Override public String getClientAppLabel() { final String packageName = mRouteInfo.getClientPackageName(); if (TextUtils.isEmpty(packageName)) { Log.d(TAG, "Client package name is empty"); return mContext.getResources().getString(R.string.unknown); } try { final PackageManager packageManager = mContext.getPackageManager(); final String appLabel = packageManager.getApplicationLabel( packageManager.getApplicationInfo(packageName, 0)).toString(); if (!TextUtils.isEmpty(appLabel)) { return appLabel; } } catch (PackageManager.NameNotFoundException e) { Log.e(TAG, "unable to find " + packageName); } return mContext.getResources().getString(R.string.unknown); } public boolean isConnected() { return true; } Loading
packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java +25 −4 Original line number Diff line number Diff line Loading @@ -16,14 +16,18 @@ package com.android.settingslib.media; import android.content.Context; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; import android.text.TextUtils; import android.util.Log; import androidx.annotation.IntDef; import androidx.annotation.VisibleForTesting; import com.android.settingslib.R; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -113,7 +117,9 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * * @param volume is the new value. */ public void requestSetVolume(int volume) { mRouterManager.requestSetVolume(mRouteInfo, volume); } /** Loading @@ -122,7 +128,7 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return max volume. */ public int getMaxVolume() { return 100; return mRouteInfo.getVolumeMax(); } /** Loading @@ -131,7 +137,7 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return current volume. */ public int getCurrentVolume() { return 0; return mRouteInfo.getVolume(); } /** Loading @@ -140,7 +146,7 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return package name. */ public String getClientPackageName() { return null; return mRouteInfo.getClientPackageName(); } /** Loading @@ -149,7 +155,22 @@ public abstract class MediaDevice implements Comparable<MediaDevice> { * @return application label. */ public String getClientAppLabel() { return null; final String packageName = mRouteInfo.getClientPackageName(); if (TextUtils.isEmpty(packageName)) { Log.d(TAG, "Client package name is empty"); return mContext.getResources().getString(R.string.unknown); } try { final PackageManager packageManager = mContext.getPackageManager(); final String appLabel = packageManager.getApplicationLabel( packageManager.getApplicationInfo(packageName, 0)).toString(); if (!TextUtils.isEmpty(appLabel)) { return appLabel; } } catch (PackageManager.NameNotFoundException e) { Log.e(TAG, "unable to find " + packageName); } return mContext.getResources().getString(R.string.unknown); } /** Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaDeviceTest.java +0 −48 Original line number Diff line number Diff line Loading @@ -21,9 +21,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageStats; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; Loading @@ -36,14 +33,11 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowPackageManager; @RunWith(RobolectricTestRunner.class) public class InfoMediaDeviceTest { private static final String TEST_PACKAGE_NAME = "com.test.packagename"; private static final String TEST_PACKAGE_NAME2 = "com.test.packagename2"; private static final String TEST_ID = "test_id"; private static final String TEST_NAME = "test_name"; Loading @@ -52,27 +46,13 @@ public class InfoMediaDeviceTest { @Mock private MediaRoute2Info mRouteInfo; private Context mContext; private InfoMediaDevice mInfoMediaDevice; private ShadowPackageManager mShadowPackageManager; private ApplicationInfo mAppInfo; private PackageInfo mPackageInfo; private PackageStats mPackageStats; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mAppInfo = new ApplicationInfo(); mAppInfo.flags = ApplicationInfo.FLAG_INSTALLED; mAppInfo.packageName = TEST_PACKAGE_NAME; mAppInfo.name = TEST_NAME; mPackageInfo = new PackageInfo(); mPackageInfo.packageName = TEST_PACKAGE_NAME; mPackageInfo.applicationInfo = mAppInfo; mPackageStats = new PackageStats(TEST_PACKAGE_NAME); mInfoMediaDevice = new InfoMediaDevice(mContext, mRouterManager, mRouteInfo, TEST_PACKAGE_NAME); Loading Loading @@ -106,32 +86,4 @@ public class InfoMediaDeviceTest { assertThat(mInfoMediaDevice.getId()).isEqualTo(TEST_ID); } @Test public void getClientPackageName_returnPackageName() { when(mRouteInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice.getClientPackageName()).isEqualTo(TEST_PACKAGE_NAME); } @Test public void getClientAppLabel_matchedPackageName_returnLabel() { when(mRouteInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); assertThat(mInfoMediaDevice.getClientAppLabel()).isEqualTo(TEST_NAME); } @Test public void getClientAppLabel_noMatchedPackageName_returnDefault() { mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); when(mRouteInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME2); assertThat(mInfoMediaDevice.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); } }
packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaDeviceTest.java +54 −0 Original line number Diff line number Diff line Loading @@ -23,9 +23,13 @@ import static org.mockito.Mockito.when; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageStats; import android.media.MediaRoute2Info; import android.media.MediaRouter2Manager; import com.android.settingslib.R; import com.android.settingslib.bluetooth.A2dpProfile; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.HearingAidProfile; Loading @@ -39,6 +43,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowPackageManager; import java.util.ArrayList; import java.util.Collections; Loading @@ -58,6 +64,8 @@ public class MediaDeviceTest { private static final String ROUTER_ID_2 = "RouterId_2"; private static final String ROUTER_ID_3 = "RouterId_3"; private static final String TEST_PACKAGE_NAME = "com.test.playmusic"; private static final String TEST_PACKAGE_NAME2 = "com.test.playmusic2"; private static final String TEST_APPLICATION_LABEL = "playmusic"; private final BluetoothClass mHeadreeClass = new BluetoothClass(BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES); private final BluetoothClass mCarkitClass = Loading Loading @@ -111,6 +119,10 @@ public class MediaDeviceTest { private InfoMediaDevice mInfoMediaDevice3; private List<MediaDevice> mMediaDevices = new ArrayList<>(); private PhoneMediaDevice mPhoneMediaDevice; private ShadowPackageManager mShadowPackageManager; private ApplicationInfo mAppInfo; private PackageInfo mPackageInfo; private PackageStats mPackageStats; @Before public void setUp() { Loading Loading @@ -394,4 +406,46 @@ public class MediaDeviceTest { verify(mMediaRouter2Manager).selectRoute(TEST_PACKAGE_NAME, mRouteInfo1); } @Test public void getClientPackageName_returnPackageName() { when(mRouteInfo1.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice1.getClientPackageName()).isEqualTo(TEST_PACKAGE_NAME); } private void initPackage() { mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mAppInfo = new ApplicationInfo(); mAppInfo.flags = ApplicationInfo.FLAG_INSTALLED; mAppInfo.packageName = TEST_PACKAGE_NAME; mAppInfo.name = TEST_APPLICATION_LABEL; mPackageInfo = new PackageInfo(); mPackageInfo.packageName = TEST_PACKAGE_NAME; mPackageInfo.applicationInfo = mAppInfo; mPackageStats = new PackageStats(TEST_PACKAGE_NAME); } @Test public void getClientAppLabel_matchedPackageName_returnLabel() { initPackage(); when(mRouteInfo1.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); assertThat(mInfoMediaDevice1.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); assertThat(mInfoMediaDevice1.getClientAppLabel()).isEqualTo(TEST_APPLICATION_LABEL); } @Test public void getClientAppLabel_noMatchedPackageName_returnDefault() { initPackage(); mShadowPackageManager.addPackage(mPackageInfo, mPackageStats); when(mRouteInfo1.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME2); assertThat(mInfoMediaDevice1.getClientAppLabel()).isEqualTo( mContext.getResources().getString(R.string.unknown)); } }