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