Allow color mode to be NOT_SET

When no config_availableColorMode modes are specified, allow the
chosen mode to remain NOT_SET (-1).

Bug: 236681859
Test: atest FrameworksServicesTests:com.android.server.display.color
Change-Id: I7bd805fe44be7ef6a475bed98ecdd9926ece0a1f
This commit is contained in:
Christine Franks
2022-06-22 16:43:27 -07:00
parent ab56bf206c
commit efbefbc57f
2 changed files with 14 additions and 0 deletions

View File

@@ -956,6 +956,8 @@ public final class ColorDisplayService extends SystemService {
R.array.config_availableColorModes);
if (availableColorModes.length > 0) {
colorMode = availableColorModes[0];
} else {
colorMode = NOT_SET;
}
}
}

View File

@@ -16,11 +16,14 @@
package com.android.server.display.color;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -1130,6 +1133,15 @@ public class ColorDisplayServiceTest {
eq(ColorDisplayManager.COLOR_MODE_BOOSTED), any(), eq(Display.COLOR_MODE_INVALID));
}
@Test
public void getColorMode_noAvailableModes_returnsNotSet() {
when(mResourcesSpy.getIntArray(R.array.config_availableColorModes))
.thenReturn(new int[] {});
startService();
verify(mDisplayTransformManager, never()).setColorMode(anyInt(), any(), anyInt());
assertThat(mBinderService.getColorMode()).isEqualTo(-1);
}
/**
* Configures Night display to use a custom schedule.
*