diff options
Diffstat (limited to 'tests/unit/src/com/android/tv/util/TestUtils.java')
-rw-r--r-- | tests/unit/src/com/android/tv/util/TestUtils.java | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/unit/src/com/android/tv/util/TestUtils.java b/tests/unit/src/com/android/tv/util/TestUtils.java index e3bda138..d200733d 100644 --- a/tests/unit/src/com/android/tv/util/TestUtils.java +++ b/tests/unit/src/com/android/tv/util/TestUtils.java @@ -21,8 +21,8 @@ import android.content.pm.ServiceInfo; import android.graphics.drawable.Icon; import android.hardware.hdmi.HdmiDeviceInfo; import android.media.tv.TvInputInfo; +import android.os.Build; import android.os.Bundle; -import android.support.v4.os.BuildCompat; import java.lang.reflect.Constructor; @@ -47,7 +47,11 @@ public class TestUtils { int type, boolean isHardwareInput, boolean canRecord, int tunerCount) throws Exception { // Create a mock TvInputInfo by using private constructor // Note that mockito doesn't support mock/spy on final object. - if (BuildCompat.isAtLeastN()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + return createTvInputInfoForO(service, id, parentId, type, isHardwareInput, canRecord, + tunerCount); + + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { return createTvInputInfoForNyc(service, id, parentId, type, isHardwareInput, canRecord, tunerCount); } @@ -57,6 +61,24 @@ public class TestUtils { /** * private TvInputInfo(ResolveInfo service, String id, int type, boolean isHardwareInput, * CharSequence label, int labelResId, Icon icon, Icon iconStandby, Icon iconDisconnected, + * String setupActivity, boolean canRecord, int tunerCount, HdmiDeviceInfo hdmiDeviceInfo, + * boolean isConnectedToHdmiSwitch, String parentId, Bundle extras) { + */ + private static TvInputInfo createTvInputInfoForO(ResolveInfo service, String id, + String parentId, int type, boolean isHardwareInput, boolean canRecord, int tunerCount) + throws Exception { + Constructor<TvInputInfo> constructor = TvInputInfo.class.getDeclaredConstructor( + ResolveInfo.class, String.class, int.class, boolean.class, CharSequence.class, + int.class, Icon.class, Icon.class, Icon.class, String.class, boolean.class, + int.class, HdmiDeviceInfo.class, boolean.class, String.class, Bundle.class); + constructor.setAccessible(true); + return constructor.newInstance(service, id, type, isHardwareInput, null, 0, null, null, + null, null, canRecord, tunerCount, null, false, parentId, null); + } + + /** + * private TvInputInfo(ResolveInfo service, String id, int type, boolean isHardwareInput, + * CharSequence label, int labelResId, Icon icon, Icon iconStandby, Icon iconDisconnected, * String setupActivity, String settingsActivity, boolean canRecord, int tunerCount, * HdmiDeviceInfo hdmiDeviceInfo, boolean isConnectedToHdmiSwitch, String parentId, * Bundle extras) { @@ -87,6 +109,7 @@ public class TestUtils { resolveInfo.serviceInfo = new ServiceInfo(); resolveInfo.serviceInfo.packageName = packageName; resolveInfo.serviceInfo.name = name; + resolveInfo.serviceInfo.metaData = new Bundle(); return resolveInfo; } } |