Update display color mode before white balance

White balance status is activated only if
DisplayTransformManager.needsLinearColorMatrix() is true, however
DisplayTransformManager is being updated after
updateDisplayWhiteBalanceStatus is called, causing white balanced
to be stuck in deactivated state when color mode changes.

This patches resolves this issue by updating DisplayTransformManager
before updating white balance status.

Bug: 134122978
Test: Manual because atest
FrameworksServicesTests:ColorDisplayServiceTest has many failing tests
Change-Id: I1dc8a918808cf7c0e0d43ced777ab642d8ba7548
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 64a9e00..fe75a81 100644
--- a/services/core/java/com/android/server/display/color/ColorDisplayService.java
+++ b/services/core/java/com/android/server/display/color/ColorDisplayService.java
@@ -465,12 +465,16 @@
                     .setMatrix(mNightDisplayTintController.getColorTemperatureSetting());
         }
 
+        // dtm.setColorMode() needs to be called before
+        // updateDisplayWhiteBalanceStatus(), this is because the latter calls
+        // DisplayTransformManager.needsLinearColorMatrix(), therefore it is dependent
+        // on the state of DisplayTransformManager.
+        final DisplayTransformManager dtm = getLocalService(DisplayTransformManager.class);
+        dtm.setColorMode(mode, mNightDisplayTintController.getMatrix());
+
         if (mDisplayWhiteBalanceTintController.isAvailable(getContext())) {
             updateDisplayWhiteBalanceStatus();
         }
-
-        final DisplayTransformManager dtm = getLocalService(DisplayTransformManager.class);
-        dtm.setColorMode(mode, mNightDisplayTintController.getMatrix());
     }
 
     private void onAccessibilityActivated() {