diff --git a/services/core/java/com/android/server/display/color/ColorDisplayService.java b/services/core/java/com/android/server/display/color/ColorDisplayService.java index 8de150ac41240..223b8c181feae 100644 --- a/services/core/java/com/android/server/display/color/ColorDisplayService.java +++ b/services/core/java/com/android/server/display/color/ColorDisplayService.java @@ -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; } } } diff --git a/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java b/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java index 363c26b63bae9..bbed1b60f8bf7 100644 --- a/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java @@ -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. *