summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Oleg Blinnikov <olb@google.com> 2024-01-18 16:37:26 +0000
committer Oleg Blinnikov <olb@google.com> 2024-01-18 16:40:57 +0000
commitf18058bc4e36b49a9e47f59d3ca20ae7d286c165 (patch)
treef8aab22d15d12b0a40860f68a537f1578ebcce05
parentf16778beb1c85647bd813a8f546cbeb8a0d9ddc2 (diff)
Mock Resources in DisplayModeDirectorTest
Change-Id: If39c55b438bee54131411fb6c2197cffdbd794d7 Bug: 320994645 Test: atest DisplayModeDirectorTest
-rw-r--r--services/tests/displayservicetests/src/com/android/server/display/mode/DisplayModeDirectorTest.java85
1 files changed, 71 insertions, 14 deletions
diff --git a/services/tests/displayservicetests/src/com/android/server/display/mode/DisplayModeDirectorTest.java b/services/tests/displayservicetests/src/com/android/server/display/mode/DisplayModeDirectorTest.java
index 83479e28fe24..dd8c6a23b829 100644
--- a/services/tests/displayservicetests/src/com/android/server/display/mode/DisplayModeDirectorTest.java
+++ b/services/tests/displayservicetests/src/com/android/server/display/mode/DisplayModeDirectorTest.java
@@ -295,6 +295,7 @@ public class DisplayModeDirectorTest {
private static final float HBM_TRANSITION_POINT_INVALID = Float.POSITIVE_INFINITY;
private Context mContext;
+ private Resources mResources;
private FakesInjector mInjector;
private Handler mHandler;
@Rule
@@ -318,6 +319,8 @@ public class DisplayModeDirectorTest {
@Before
public void setUp() throws Exception {
mContext = spy(new ContextWrapper(ApplicationProvider.getApplicationContext()));
+ mResources = mockResources();
+ when(mContext.getResources()).thenReturn(mResources);
final MockContentResolver resolver = mSettingsProviderRule.mockContentResolver(mContext);
when(mContext.getContentResolver()).thenReturn(resolver);
mInjector = spy(new FakesInjector(mDisplayManagerInternalMock, mStatusBarMock,
@@ -325,6 +328,60 @@ public class DisplayModeDirectorTest {
mHandler = new Handler(Looper.getMainLooper());
}
+ private Resources mockResources() {
+ var resources = mock(Resources.class);
+ when(resources.getBoolean(R.bool.config_ignoreUdfpsVote))
+ .thenReturn(false);
+ when(resources.getBoolean(R.bool.config_refreshRateSynchronizationEnabled))
+ .thenReturn(false);
+ when(resources.getBoolean(R.bool.config_supportsDvrr))
+ .thenReturn(false);
+ when(resources.getInteger(R.integer.config_displayWhiteBalanceBrightnessFilterHorizon))
+ .thenReturn(10000);
+ when(resources.getInteger(R.integer.config_defaultPeakRefreshRate))
+ .thenReturn(0);
+ when(resources.getInteger(R.integer.config_externalDisplayPeakRefreshRate))
+ .thenReturn(0);
+ when(resources.getInteger(R.integer.config_externalDisplayPeakWidth))
+ .thenReturn(0);
+ when(resources.getInteger(R.integer.config_externalDisplayPeakHeight))
+ .thenReturn(0);
+ when(resources.getInteger(R.integer.config_fixedRefreshRateInHighZone))
+ .thenReturn(0);
+ when(resources.getInteger(R.integer.config_defaultRefreshRateInZone))
+ .thenReturn(0);
+ when(resources.getInteger(R.integer.config_defaultRefreshRate))
+ .thenReturn(60);
+ when(resources.getInteger(R.integer.config_defaultRefreshRateInHbmHdr))
+ .thenReturn(0);
+ when(resources.getInteger(R.integer.config_defaultRefreshRateInHbmSunlight))
+ .thenReturn(0);
+
+ when(resources.getString(R.string.config_displayLightSensorType))
+ .thenReturn(null);
+
+ when(resources.getIntArray(R.array.config_brightnessThresholdsOfPeakRefreshRate))
+ .thenReturn(new int[]{});
+ when(resources.getIntArray(
+ R.array.config_highDisplayBrightnessThresholdsOfFixedRefreshRate))
+ .thenReturn(new int[]{});
+ when(resources.getIntArray(
+ R.array.config_highAmbientBrightnessThresholdsOfFixedRefreshRate))
+ .thenReturn(new int[]{});
+ when(resources.getIntArray(R.array.config_ambientThresholdsOfPeakRefreshRate))
+ .thenReturn(new int[]{});
+
+ doAnswer(invocation -> {
+ TypedValue value = invocation.getArgument(1);
+ value.type = TypedValue.TYPE_FLOAT;
+ value.data = Float.floatToIntBits(10f);
+ return null; // void method, so return null
+ }).when(resources).getValue(eq(R.dimen.config_displayWhiteBalanceBrightnessFilterIntercept),
+ any(), eq(true));
+
+ return resources;
+ }
+
private DisplayModeDirector createDirectorFromRefreshRateArray(
float[] refreshRates, int baseModeId) {
return createDirectorFromRefreshRateArray(refreshRates, baseModeId, refreshRates[0]);
@@ -2911,31 +2968,31 @@ public class DisplayModeDirectorTest {
@Test
public void testNotifyDefaultDisplayDeviceUpdated() {
- Resources resources = mock(Resources.class);
- when(mContext.getResources()).thenReturn(resources);
- when(resources.getInteger(com.android.internal.R.integer.config_defaultPeakRefreshRate))
+ when(mResources.getInteger(com.android.internal.R.integer.config_defaultPeakRefreshRate))
.thenReturn(75);
- when(resources.getInteger(R.integer.config_defaultRefreshRate))
+ when(mResources.getInteger(R.integer.config_defaultRefreshRate))
.thenReturn(45);
- when(resources.getInteger(R.integer.config_fixedRefreshRateInHighZone))
+ when(mResources.getInteger(R.integer.config_fixedRefreshRateInHighZone))
.thenReturn(65);
- when(resources.getInteger(R.integer.config_defaultRefreshRateInZone))
+ when(mResources.getInteger(R.integer.config_defaultRefreshRateInZone))
.thenReturn(85);
- when(resources.getInteger(R.integer.config_defaultRefreshRateInHbmHdr))
+ when(mResources.getInteger(R.integer.config_defaultRefreshRateInHbmHdr))
.thenReturn(95);
- when(resources.getInteger(R.integer.config_defaultRefreshRateInHbmSunlight))
+ when(mResources.getInteger(R.integer.config_defaultRefreshRateInHbmSunlight))
.thenReturn(100);
- when(resources.getIntArray(R.array.config_brightnessThresholdsOfPeakRefreshRate))
+ when(mResources.getIntArray(R.array.config_brightnessThresholdsOfPeakRefreshRate))
.thenReturn(new int[]{5});
- when(resources.getIntArray(R.array.config_ambientThresholdsOfPeakRefreshRate))
+ when(mResources.getIntArray(R.array.config_ambientThresholdsOfPeakRefreshRate))
.thenReturn(new int[]{10});
when(
- resources.getIntArray(R.array.config_highDisplayBrightnessThresholdsOfFixedRefreshRate))
+ mResources.getIntArray(
+ R.array.config_highDisplayBrightnessThresholdsOfFixedRefreshRate))
.thenReturn(new int[]{250});
when(
- resources.getIntArray(R.array.config_highAmbientBrightnessThresholdsOfFixedRefreshRate))
+ mResources.getIntArray(
+ R.array.config_highAmbientBrightnessThresholdsOfFixedRefreshRate))
.thenReturn(new int[]{7000});
- when(resources.getInteger(
+ when(mResources.getInteger(
com.android.internal.R.integer.config_displayWhiteBalanceBrightnessFilterHorizon))
.thenReturn(3);
ArgumentCaptor<TypedValue> valueArgumentCaptor = ArgumentCaptor.forClass(TypedValue.class);
@@ -2943,7 +3000,7 @@ public class DisplayModeDirectorTest {
valueArgumentCaptor.getValue().type = 4;
valueArgumentCaptor.getValue().data = 13;
return null;
- }).when(resources).getValue(eq(com.android.internal.R.dimen
+ }).when(mResources).getValue(eq(com.android.internal.R.dimen
.config_displayWhiteBalanceBrightnessFilterIntercept),
valueArgumentCaptor.capture(), eq(true));
DisplayModeDirector director =