From efbefbc57fc5ae8014b99837ad4428a867b6901a Mon Sep 17 00:00:00 2001 From: Christine Franks Date: Wed, 22 Jun 2022 16:43:27 -0700 Subject: [PATCH] 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 --- .../server/display/color/ColorDisplayService.java | 2 ++ .../display/color/ColorDisplayServiceTest.java | 12 ++++++++++++ 2 files changed, 14 insertions(+) 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. *