Init DayNightMode after booting

Get and set DayNightMode after booting.

Bug: 109817929
Test: Flash to Owl and test
Change-Id: Iaca1cb22490899d5e7e3b60aeaa2a45b18e2c7b0
(cherry picked from commit 7644f4826eef7b45dd0528367d56bed7a08c4b96)
diff --git a/service/src/com/android/car/CarNightService.java b/service/src/com/android/car/CarNightService.java
index e43ed3d..dcf75b5 100644
--- a/service/src/com/android/car/CarNightService.java
+++ b/service/src/com/android/car/CarNightService.java
@@ -72,23 +72,27 @@
             CarPropertyValue value = event.getCarPropertyValue();
             if (value.getPropertyId() == VehicleProperty.NIGHT_MODE) {
                 boolean nightMode = (Boolean) value.getValue();
-                if (nightMode) {
-                    mNightSetting = UiModeManager.MODE_NIGHT_YES;
-                    if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent NIGHT");
-                } else {
-                    mNightSetting = UiModeManager.MODE_NIGHT_NO;
-                    if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent DAY");
-                }
-                if (mUiModeManager != null && (mForcedMode == FORCED_SENSOR_MODE)) {
-                    mUiModeManager.setNightMode(mNightSetting);
-                    if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent APPLIED");
-                } else {
-                    if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent IGNORED");
-                }
+                setNightMode(nightMode);
             }
         }
     }
 
+    private synchronized void setNightMode(boolean nightMode) {
+        if (nightMode) {
+            mNightSetting = UiModeManager.MODE_NIGHT_YES;
+            if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent NIGHT");
+        } else {
+            mNightSetting = UiModeManager.MODE_NIGHT_NO;
+            if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent DAY");
+        }
+        if (mUiModeManager != null && (mForcedMode == FORCED_SENSOR_MODE)) {
+            mUiModeManager.setNightMode(mNightSetting);
+            if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent APPLIED");
+        } else {
+            if (DBG)  Log.d(CarLog.TAG_SENSOR, "CAR dayNight handleSensorEvent IGNORED");
+        }
+    }
+
     public synchronized int forceDayNightMode(@DayNightSensorMode int mode) {
         if (mUiModeManager == null) {
             return -1;
@@ -131,6 +135,15 @@
         }
         mCarPropertyService.registerListener(VehicleProperty.NIGHT_MODE, 0,
                 mICarPropertyEventListener);
+        CarPropertyValue propertyValue = mCarPropertyService.getProperty(
+                VehicleProperty.NIGHT_MODE, 0);
+        if (propertyValue != null && propertyValue.getTimestamp() != 0) {
+            setNightMode((Boolean) propertyValue.getValue());
+        } else {
+            Log.w(CarLog.TAG_SENSOR, "Failed to get value of NIGHT_MODE");
+            // Initial in Night Mode
+            setNightMode(true);
+        }
     }
 
     @Override