Merge "Small improvements to HVAC app." into pi-car-dev
diff --git a/src/com/android/car/hvac/DataStore.java b/src/com/android/car/hvac/DataStore.java
index 83ed5d3..75e8801 100644
--- a/src/com/android/car/hvac/DataStore.java
+++ b/src/com/android/car/hvac/DataStore.java
@@ -32,7 +32,7 @@
* them, keeping the application's view of the world sane.
*/
public class DataStore {
- private static final long COALESCE_TIME_MS = 50L;
+ private static final long COALESCE_TIME_MS = 0L;
@GuardedBy("mTemperature")
private SparseArray<Float> mTemperature = new SparseArray<Float>();
diff --git a/src/com/android/car/hvac/HvacController.java b/src/com/android/car/hvac/HvacController.java
index c9ae8a4..66c4da4 100644
--- a/src/com/android/car/hvac/HvacController.java
+++ b/src/com/android/car/hvac/HvacController.java
@@ -29,8 +29,8 @@
import android.os.IBinder;
import android.os.SystemProperties;
import android.support.car.Car;
-import android.support.car.CarNotConnectedException;
import android.support.car.CarConnectionCallback;
+import android.support.car.CarNotConnectedException;
import android.util.Log;
import java.util.ArrayList;
@@ -51,9 +51,7 @@
(CarHvacManager.FAN_DIRECTION_FACE | CarHvacManager.FAN_DIRECTION_FLOOR)
};
// Hardware specific value for the front seats
- public static final int SEAT_ALL = VehicleAreaSeat.SEAT_ROW_1_LEFT |
- VehicleAreaSeat.SEAT_ROW_1_RIGHT | VehicleAreaSeat.SEAT_ROW_2_LEFT |
- VehicleAreaSeat.SEAT_ROW_2_CENTER | VehicleAreaSeat.SEAT_ROW_2_RIGHT;
+ public static final int SEAT_ALL = DRIVER_ZONE_ID | PASSENGER_ZONE_ID;
/**
* Callback for receiving updates from the hvac manager. A Callback can be
@@ -94,7 +92,7 @@
public void onAutoModeChange(boolean isOn) {
}
- public void onHvacPowerChange(boolean isOn){
+ public void onHvacPowerChange(boolean isOn) {
}
}
@@ -356,23 +354,24 @@
private void handleTempUpdate(CarPropertyValue value) {
final int zone = value.getAreaId();
- final float temp = (Float)value.getValue();
+ final float temp = (Float) value.getValue();
final boolean available = value.getStatus() == CarPropertyValue.STATUS_AVAILABLE;
boolean shouldPropagate = mDataStore.shouldPropagateTempUpdate(zone, temp, available);
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Temp Update, zone: " + zone + " temp: " + temp +
- "available: " + available + " should propagate: " + shouldPropagate);
+ "available: " + available + " should propagate: " + shouldPropagate);
}
if (shouldPropagate) {
- int userTemperature = mPolicy.hardwareToUserTemp(temp);
synchronized (mCallbacks) {
for (int i = 0; i < mCallbacks.size(); i++) {
- if (zone == VehicleAreaSeat.SEAT_ROW_1_LEFT) {
+ if (zone == DRIVER_ZONE_ID) {
mCallbacks.get(i)
.onDriverTemperatureChange(value);
- } else {
+ } else if (zone == PASSENGER_ZONE_ID) {
mCallbacks.get(i)
.onPassengerTemperatureChange(value);
+ } else {
+ Log.w(TAG, "Unknown temperature set area id: " + zone);
}
}
}
@@ -417,8 +416,7 @@
fetchFanSpeed();
fetchDefrosterState(VehicleAreaWindow.WINDOW_FRONT_WINDSHIELD);
fetchDefrosterState(VehicleAreaWindow.WINDOW_REAR_WINDSHIELD);
- fetchAirflow(DRIVER_ZONE_ID);
- fetchAirflow(PASSENGER_ZONE_ID);
+ fetchAirflow();
fetchAcState();
fetchAirCirculation();
fetchHvacPowerState();
@@ -462,9 +460,9 @@
if (mHvacManager != null) {
try {
float value = mHvacManager.getFloatProperty(
- CarHvacManager.ID_ZONED_TEMP_SETPOINT, zone);
+ CarHvacManager.ID_ZONED_TEMP_SETPOINT, zone);
boolean available = mHvacManager.isPropertyAvailable(
- CarHvacManager.ID_ZONED_TEMP_SETPOINT, zone);
+ CarHvacManager.ID_ZONED_TEMP_SETPOINT, zone);
mDataStore.setTemperature(zone, value, available);
} catch (android.car.CarNotConnectedException e) {
Log.e(TAG, "Car not connected in fetchTemperature");
@@ -473,19 +471,19 @@
}
public int getDriverTemperature() {
- return mPolicy.hardwareToUserTemp(mDataStore.getTemperature(DRIVER_ZONE_ID));
+ return Float.valueOf(mDataStore.getTemperature(DRIVER_ZONE_ID)).intValue();
}
public int getPassengerTemperature() {
- return mPolicy.hardwareToUserTemp(mDataStore.getTemperature(PASSENGER_ZONE_ID));
+ return Float.valueOf(mDataStore.getTemperature(PASSENGER_ZONE_ID)).intValue();
}
public void setDriverTemperature(int temperature) {
- setTemperature(DRIVER_ZONE_ID, mPolicy.userToHardwareTemp(temperature));
+ setTemperature(DRIVER_ZONE_ID, temperature);
}
public void setPassengerTemperature(int temperature) {
- setTemperature(PASSENGER_ZONE_ID, mPolicy.userToHardwareTemp(temperature));
+ setTemperature(PASSENGER_ZONE_ID, temperature);
}
public void setTemperature(final int zone, final float temperature) {
@@ -515,7 +513,7 @@
if (mHvacManager != null) {
try {
mHvacManager.setBooleanProperty(CarHvacManager.ID_ZONED_HVAC_POWER_ON,
- SEAT_ALL, state);
+ SEAT_ALL, state);
// if the set() succeeds, consider the property available
mDataStore.setHvacPowerState(state);
} catch (android.car.CarNotConnectedException e) {
@@ -695,12 +693,12 @@
return AIRFLOW_STATES[0];
}
- private void fetchAirflow(int zone) {
+ private void fetchAirflow() {
if (mHvacManager != null) {
- zone = SEAT_ALL; // Car specific workaround.
try {
- int val = mHvacManager.getIntProperty(CarHvacManager.ID_ZONED_FAN_DIRECTION, zone);
- mDataStore.setAirflow(zone, fanPositionToAirflowIndex(val));
+ int val = mHvacManager.getIntProperty(CarHvacManager.ID_ZONED_FAN_DIRECTION,
+ SEAT_ALL);
+ mDataStore.setAirflow(SEAT_ALL, fanPositionToAirflowIndex(val));
} catch (android.car.CarNotConnectedException e) {
Log.e(TAG, "Car not connected in fetchAirFlow");
}