summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilal Alsharifi <599206+bilal-alsharifi@users.noreply.github.com>2021-02-10 13:34:29 -0500
committerGitHub <noreply@github.com>2021-02-10 13:34:29 -0500
commita9dd49ada852755d67ca7c08c028a1ac199d250a (patch)
tree9d6acc94027f5e74defa24afae1ca861c8448a85
parent43cc6eea40f495ca3f5091a2d64c03577db48e1f (diff)
parent304d7b85238c35db4d9ad40809a1a5aac6b05d9f (diff)
downloadsdl_android-a9dd49ada852755d67ca7c08c028a1ac199d250a.tar.gz
Merge pull request #1560 from LuxoftSDL/feature/0269_new_vehicle_data_climate_data
[0269] New VehicleData ClimateData
-rw-r--r--android/sdl_android/src/androidTest/assets/json/GetVehicleData.json12
-rw-r--r--android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json5
-rw-r--r--android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json5
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java19
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java16
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateDataTests.java83
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java29
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java5
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java5
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java5
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java33
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java10
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java10
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateData.java157
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java65
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java51
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java61
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java65
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java46
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java65
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java47
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java5
24 files changed, 782 insertions, 27 deletions
diff --git a/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json b/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json
index 5113e208d..8ce24a63e 100644
--- a/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json
+++ b/android/sdl_android/src/androidTest/assets/json/GetVehicleData.json
@@ -36,6 +36,7 @@
"oemCustomVehicleDataName": true,
"windowStatus": true,
"stabilityControlsStatus": true,
+ "climateData": true,
"seatOccupancy": true
}
},
@@ -184,6 +185,17 @@
"transmissionType": "ELECTRIC_VARIABLE",
"actualGear": "PARK"
},
+ "climateData": {
+ "atmosphericPressure": 100.0,
+ "externalTemperature": {
+ "unit": "CELSIUS",
+ "value": 100.0
+ },
+ "cabinTemperature": {
+ "unit": "CELSIUS",
+ "value": 100.0
+ }
+ },
"windowStatus": [
{
"location": {
diff --git a/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json b/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
index 009efaae6..57a8aa20b 100644
--- a/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
+++ b/android/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
@@ -36,6 +36,7 @@
"oemCustomVehicleDataName": true,
"windowStatus": true,
"handsOffSteering": true,
+ "climateData": true,
"seatOccupancy": true
}
},
@@ -175,6 +176,10 @@
"dataType": "VEHICLEDATA_WINDOWSTATUS",
"resultCode": "SUCCESS"
},
+ "climateData": {
+ "dataType": "VEHICLEDATA_CLIMATEDATA",
+ "resultCode": "SUCCESS"
+ },
"seatOccupancy": {
"dataType": "VEHICLEDATA_SEATOCCUPANCY",
"resultCode": "SUCCESS"
diff --git a/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json b/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
index 44d0998ea..3dfbf984c 100644
--- a/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
+++ b/android/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
@@ -36,6 +36,7 @@
"gearStatus": true,
"oemCustomVehicleDataName": true,
"windowStatus": true,
+ "climateData": true,
"seatOccupancy": true
}
},
@@ -178,6 +179,10 @@
"seatOccupancy": {
"dataType": "VEHICLEDATA_SEATOCCUPANCY",
"resultCode": "SUCCESS"
+ },
+ "climateData": {
+ "dataType": "VEHICLEDATA_CLIMATEDATA",
+ "resultCode": "SUCCESS"
}
}
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java
index ec9256e93..eeafa2edb 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java
@@ -311,6 +311,7 @@ public class TestValues {
public static final LightStatus GENERAL_LIGHTSTATUS = LightStatus.OFF;
public static final RadioBand GENERAL_RADIOBAND = RadioBand.AM;
public static final ClimateControlData GENERAL_CLIMATECONTROLDATA = new ClimateControlData();
+ public static final ClimateData GENERAL_CLIMATEDATA = new ClimateData();
public static final SeatControlData GENERAL_SEATCONTROLDATA = new SeatControlData();
public static final RdsData GENERAL_RDSDATA = new RdsData();
public static final StationIDNumber GENERAL_STATIONIDNUMBER = new StationIDNumber();
@@ -1109,6 +1110,11 @@ public class TestValues {
GENERAL_DOOR_STATUS.setStatus(GENERAL_DOOR_STATUS_TYPE);
GENERAL_DOOR_STATUS_LIST.add(GENERAL_DOOR_STATUS);
+ // Climate Data
+ GENERAL_CLIMATEDATA.setAtmosphericPressure(GENERAL_FLOAT);
+ GENERAL_CLIMATEDATA.setCabinTemperature(GENERAL_TEMPERATURE);
+ GENERAL_CLIMATEDATA.setExternalTemperature(GENERAL_TEMPERATURE);
+
try {
JSON_OBJECT_GENERAL_SEATS_OCCUPIED.put(SeatStatus.KEY_SEAT_LOCATION, GENERAL_SEAT_LOCATION.serializeJSON());
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
index 397df2018..6db76934f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
@@ -4021,4 +4021,23 @@ public class Validator {
boolean gridValidated = validateGrid(status1.getLocation(), status2.getLocation());
return gridValidated && status1.getStatus().equals(status2.getStatus()) && validateWindowStates(status1.getState(), status2.getState());
}
+
+ public static boolean validateClimateData(ClimateData climateData1, ClimateData climateData2) {
+ if (climateData1 == null) {
+ return (climateData2 == null);
+ }
+ if (climateData2 == null) {
+ return (climateData1 == null);
+ }
+
+ if (!validateTemperature(climateData1.getExternalTemperature(), climateData2.getExternalTemperature())) {
+ return false;
+ }
+
+ if (!validateTemperature(climateData1.getCabinTemperature(), climateData2.getCabinTemperature())) {
+ return false;
+ }
+
+ return climateData1.getAtmosphericPressure().floatValue() == climateData2.getAtmosphericPressure().floatValue();
+ }
}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
index 4155a28c7..a53e6aa69 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
@@ -3,6 +3,7 @@ package com.smartdevicelink.test;
import com.smartdevicelink.proxy.rpc.AirbagStatus;
import com.smartdevicelink.proxy.rpc.BeltStatus;
import com.smartdevicelink.proxy.rpc.BodyInformation;
+import com.smartdevicelink.proxy.rpc.ClimateData;
import com.smartdevicelink.proxy.rpc.ClusterModeStatus;
import com.smartdevicelink.proxy.rpc.DeviceStatus;
import com.smartdevicelink.proxy.rpc.ECallInfo;
@@ -20,6 +21,7 @@ import com.smartdevicelink.proxy.rpc.SeatOccupancy;
import com.smartdevicelink.proxy.rpc.SeatStatus;
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
import com.smartdevicelink.proxy.rpc.StabilityControlsStatus;
+import com.smartdevicelink.proxy.rpc.Temperature;
import com.smartdevicelink.proxy.rpc.TireStatus;
import com.smartdevicelink.proxy.rpc.WindowState;
import com.smartdevicelink.proxy.rpc.WindowStatus;
@@ -41,6 +43,7 @@ import com.smartdevicelink.proxy.rpc.enums.PRNDL;
import com.smartdevicelink.proxy.rpc.enums.PowerModeQualificationStatus;
import com.smartdevicelink.proxy.rpc.enums.PowerModeStatus;
import com.smartdevicelink.proxy.rpc.enums.PrimaryAudioSource;
+import com.smartdevicelink.proxy.rpc.enums.TemperatureUnit;
import com.smartdevicelink.proxy.rpc.enums.TransmissionType;
import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
@@ -93,6 +96,12 @@ public class VehicleDataHelper {
public static final String OEM_CUSTOM_VEHICLE_DATA_STATE = "oemCustomVehicleDataState";
public static final Boolean HANDS_OFF_STEERING = Boolean.TRUE;
+ // Climate Data
+ public static final ClimateData CLIMATE_DATA = new ClimateData();
+ public static final Float CLIMATE_DATA_ATM_PRESSURE = TestValues.GENERAL_FLOAT;
+ public static final Temperature CLIMATE_DATA_CABIN_TEMP = new Temperature(TemperatureUnit.CELSIUS, TestValues.GENERAL_FLOAT);
+ public static final Temperature CLIMATE_DATA_EXT_TEMP = new Temperature(TemperatureUnit.CELSIUS, TestValues.GENERAL_FLOAT);
+
// Seat Occupancy
public static final SeatOccupancy SEAT_OCCUPANCY = new SeatOccupancy();
@@ -346,6 +355,11 @@ public class VehicleDataHelper {
EMERGENCY_EVENT.setMaximumChangeVelocity(EMERGENCY_EVENT_MAX_CHANGE_VELOCITY);
EMERGENCY_EVENT.setMultipleEvents(EMERGENCY_EVENT_MULTIPLE_EVENTS);
+ // Climate Data
+ CLIMATE_DATA.setAtmosphericPressure(CLIMATE_DATA_ATM_PRESSURE);
+ CLIMATE_DATA.setCabinTemperature(CLIMATE_DATA_CABIN_TEMP);
+ CLIMATE_DATA.setExternalTemperature(CLIMATE_DATA_EXT_TEMP);
+
//CLUSTER_MODE_STATUS set up
CLUSTER_MODE_STATUS.setPowerModeActive(CLUSTER_MODE_STATUS_POWER_MODE_ACTIVE);
CLUSTER_MODE_STATUS.setPowerModeQualificationStatus(CLUSTER_MODE_STATUS_POWER_MODE_QUALIFICATION_STATUS);
@@ -400,6 +414,7 @@ public class VehicleDataHelper {
VEHICLE_DATA.setSpeed(SPEED);
VEHICLE_DATA.setRpm(RPM);
VEHICLE_DATA.setExternalTemperature(EXTERNAL_TEMPERATURE);
+ VEHICLE_DATA.setClimateData(CLIMATE_DATA);
VEHICLE_DATA.setFuelLevel(FUEL_LEVEL);
VEHICLE_DATA.setVin(VIN);
VEHICLE_DATA.setPrndl(PRNDL_FINAL);
@@ -436,6 +451,7 @@ public class VehicleDataHelper {
VEHICLE_DATA_RESPONSE.setSpeed(SPEED);
VEHICLE_DATA_RESPONSE.setRpm(RPM);
VEHICLE_DATA_RESPONSE.setExternalTemperature(EXTERNAL_TEMPERATURE);
+ VEHICLE_DATA_RESPONSE.setClimateData(CLIMATE_DATA);
VEHICLE_DATA_RESPONSE.setFuelLevel(FUEL_LEVEL);
VEHICLE_DATA_RESPONSE.setVin(VIN);
VEHICLE_DATA_RESPONSE.setPrndl(PRNDL_FINAL);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateDataTests.java
new file mode 100644
index 000000000..4fb5e9c0f
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateDataTests.java
@@ -0,0 +1,83 @@
+package com.smartdevicelink.test.rpc.datatypes;
+
+import com.smartdevicelink.marshal.JsonRPCMarshaller;
+import com.smartdevicelink.proxy.rpc.ClimateData;
+import com.smartdevicelink.proxy.rpc.Temperature;
+import com.smartdevicelink.test.JsonUtils;
+import com.smartdevicelink.test.TestValues;
+import com.smartdevicelink.test.Validator;
+
+import junit.framework.TestCase;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.Hashtable;
+import java.util.Iterator;
+
+public class ClimateDataTests extends TestCase {
+
+ private ClimateData msg;
+
+ @Override
+ public void setUp() {
+ msg = new ClimateData();
+
+ msg.setExternalTemperature(TestValues.GENERAL_TEMPERATURE);
+ msg.setCabinTemperature(TestValues.GENERAL_TEMPERATURE);
+ msg.setAtmosphericPressure(TestValues.GENERAL_FLOAT);
+ }
+
+ /**
+ * Tests the expected values of the RPC message.
+ */
+ public void testRpcValues() {
+ // Test Values
+ Temperature cabinTemperature = msg.getCabinTemperature();
+ Temperature externalTemperature = msg.getExternalTemperature();
+ Float atmosphericPressure = msg.getAtmosphericPressure();
+
+ // Valid Tests
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_TEMPERATURE, cabinTemperature);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_TEMPERATURE, externalTemperature);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_FLOAT, atmosphericPressure);
+
+ // Invalid/Null Tests
+ ClimateData msg = new ClimateData();
+ assertNotNull(TestValues.NOT_NULL, msg);
+
+ assertNull(TestValues.NULL, msg.getAtmosphericPressure());
+ assertNull(TestValues.NULL, msg.getCabinTemperature());
+ assertNull(TestValues.NULL, msg.getExternalTemperature());
+ }
+
+ public void testJson() {
+ JSONObject reference = new JSONObject();
+
+ try {
+ reference.put(ClimateData.KEY_EXTERNAL_TEMPERATURE, JsonRPCMarshaller.serializeHashtable(TestValues.GENERAL_TEMPERATURE.getStore()));
+ reference.put(ClimateData.KEY_CABIN_TEMPERATURE, JsonRPCMarshaller.serializeHashtable(TestValues.GENERAL_TEMPERATURE.getStore()));
+ reference.put(ClimateData.KEY_ATMOSPHERIC_PRESSURE, TestValues.GENERAL_FLOAT);
+
+ JSONObject underTest = msg.serializeJSON();
+ assertEquals(TestValues.MATCH, reference.length(), underTest.length());
+
+ Iterator<?> iterator = reference.keys();
+ while (iterator.hasNext()) {
+ String key = (String) iterator.next();
+
+ if (key.equals(ClimateData.KEY_CABIN_TEMPERATURE) || key.equals(ClimateData.KEY_EXTERNAL_TEMPERATURE)) {
+ JSONObject objectEquals = (JSONObject) JsonUtils.readObjectFromJsonObject(reference, key);
+ JSONObject testEquals = (JSONObject) JsonUtils.readObjectFromJsonObject(underTest, key);
+ Hashtable<String, Object> hashReference = JsonRPCMarshaller.deserializeJSONObject(objectEquals);
+ Hashtable<String, Object> hashTest = JsonRPCMarshaller.deserializeJSONObject(testEquals);
+ assertTrue(TestValues.TRUE, Validator.validateTemperature(new Temperature(hashReference), new Temperature(hashTest)));
+ } else {
+ assertEquals(TestValues.MATCH, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key));
+ }
+ }
+ } catch (JSONException e) {
+ fail(TestValues.JSON_FAIL);
+ }
+ }
+}
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
index e78c871d6..94fbe0100 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
@@ -90,6 +90,8 @@ public class VehicleDataTypeTests extends TestCase {
VehicleDataType enumVehicleDataTypeWindowStatus = VehicleDataType.valueForString(example);
example = "VEHICLEDATA_STABILITYCONTROLSSTATUS";
VehicleDataType enumVehicleDataStabilityControlsStatus = VehicleDataType.valueForString(example);
+ example = "VEHICLEDATA_CLIMATEDATA";
+ VehicleDataType enumVehicleDataClimateData = VehicleDataType.valueForString(example);
example = "VEHICLEDATA_SEATOCCUPANCY";
VehicleDataType enumVehicleDataSeatOccupancy = VehicleDataType.valueForString(example);
@@ -129,6 +131,7 @@ public class VehicleDataTypeTests extends TestCase {
assertNotNull("VEHICLEDATA_WINDOWSTATUS returned null", enumVehicleDataTypeWindowStatus);
assertNotNull("VEHICLEDATA_GEARSTATUS returned null", enumVehicleDataGearStatus);
assertNotNull("VEHICLEDATA_STABILITYCONTROLSSTATUS returned null", enumVehicleDataStabilityControlsStatus);
+ assertNotNull("VEHICLEDATA_CLIMATEDATA returned null", enumVehicleDataClimateData);
assertNotNull("VEHICLEDATA_SEATOCCUPANCY returned null", enumVehicleDataSeatOccupancy);
}
@@ -201,6 +204,7 @@ public class VehicleDataTypeTests extends TestCase {
enumTestList.add(VehicleDataType.VEHICLEDATA_WINDOWSTATUS);
enumTestList.add(VehicleDataType.VEHICLEDATA_GEARSTATUS);
enumTestList.add(VehicleDataType.VEHICLEDATA_STABILITYCONTROLSSTATUS);
+ enumTestList.add(VehicleDataType.VEHICLEDATA_CLIMATEDATA);
enumTestList.add(VehicleDataType.VEHICLEDATA_SEATOCCUPANCY);
assertTrue("Enum value list does not match enum class list",
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
index 025d85ada..0710c79f5 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
@@ -6,6 +6,7 @@ import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.rpc.AirbagStatus;
import com.smartdevicelink.proxy.rpc.BeltStatus;
import com.smartdevicelink.proxy.rpc.BodyInformation;
+import com.smartdevicelink.proxy.rpc.ClimateData;
import com.smartdevicelink.proxy.rpc.ClusterModeStatus;
import com.smartdevicelink.proxy.rpc.DeviceStatus;
import com.smartdevicelink.proxy.rpc.ECallInfo;
@@ -109,6 +110,7 @@ public class OnVehicleDataTests extends BaseRpcTests {
result.put(OnVehicleData.KEY_WINDOW_STATUS, VehicleDataHelper.WINDOW_STATUS_LIST);
result.put(OnVehicleData.KEY_STABILITY_CONTROLS_STATUS, VehicleDataHelper.STABILITY_CONTROLS_STATUS);
result.put(OnVehicleData.KEY_SEAT_OCCUPANCY, VehicleDataHelper.SEAT_OCCUPANCY);
+ result.put(OnVehicleData.KEY_CLIMATE_DATA, VehicleDataHelper.CLIMATE_DATA);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
@@ -154,6 +156,7 @@ public class OnVehicleDataTests extends BaseRpcTests {
TurnSignal turnSignal = ((OnVehicleData) msg).getTurnSignal();
ElectronicParkBrakeStatus electronicParkBrakeStatus = ((OnVehicleData) msg).getElectronicParkBrakeStatus();
GearStatus gearStatus = ((OnVehicleData) msg).getGearStatus();
+ ClimateData climateData = ((OnVehicleData) msg).getClimateData();
StabilityControlsStatus stabilityControlsStatus = ((OnVehicleData) msg).getStabilityControlsStatus();
Object oemCustomVehicleData = ((OnVehicleData) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
Boolean handsOffSteering = ((OnVehicleData) msg).getHandsOffSteering();
@@ -179,6 +182,7 @@ public class OnVehicleDataTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, VehicleDataHelper.WIPER_STATUS, wiper);
assertTrue(TestValues.TRUE, Validator.validateHeadLampStatus(VehicleDataHelper.HEAD_LAMP_STATUS, lamp));
assertEquals(TestValues.MATCH, VehicleDataHelper.ACC_PEDAL_POSITION, pedal);
+ assertEquals(TestValues.MATCH, VehicleDataHelper.CLIMATE_DATA, climateData);
assertEquals(TestValues.MATCH, VehicleDataHelper.STEERING_WHEEL_ANGLE, wheel);
assertTrue(TestValues.TRUE, Validator.validateECallInfo(VehicleDataHelper.E_CALL_INFO, ecall));
assertTrue(TestValues.TRUE, Validator.validateAirbagStatus(VehicleDataHelper.AIRBAG_STATUS, airbag));
@@ -231,6 +235,7 @@ public class OnVehicleDataTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getHandsOffSteering());
assertNull(TestValues.NULL, msg.getWindowStatus());
assertNull(TestValues.NULL, msg.getGearStatus());
+ assertNull(TestValues.NULL, msg.getClimateData());
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
assertNull(TestValues.NULL, msg.getSeatOccupancy());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
@@ -256,6 +261,7 @@ public class OnVehicleDataTests extends BaseRpcTests {
JSONObject windowStatusObj = new JSONObject();
JSONObject gearStatusObj = new JSONObject();
JSONObject stabilityControlStatusObj = new JSONObject();
+ JSONObject climateDataObj = new JSONObject();
JSONObject seatOccupancyObj = new JSONObject();
JSONArray fuelRangeArrayObj = new JSONArray();
JSONArray windowStatusArrayObj = new JSONArray();
@@ -443,6 +449,13 @@ public class OnVehicleDataTests extends BaseRpcTests {
reference.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
reference.put(OnVehicleData.KEY_SEAT_OCCUPANCY, seatOccupancyObj);
+ // CLIMATE_DATA
+ climateDataObj.put(ClimateData.KEY_ATMOSPHERIC_PRESSURE, VehicleDataHelper.CLIMATE_DATA_ATM_PRESSURE);
+ climateDataObj.put(ClimateData.KEY_CABIN_TEMPERATURE, VehicleDataHelper.CLIMATE_DATA_CABIN_TEMP.serializeJSON());
+ climateDataObj.put(ClimateData.KEY_EXTERNAL_TEMPERATURE, VehicleDataHelper.CLIMATE_DATA_EXT_TEMP.serializeJSON());
+
+ reference.put(OnVehicleData.KEY_CLIMATE_DATA, climateDataObj);
+
JSONObject underTest = msg.serializeJSON();
//go inside underTest and only return the JSONObject inside the parameters key inside the notification key
underTest = underTest.getJSONObject("notification").getJSONObject("parameters");
@@ -569,7 +582,21 @@ public class OnVehicleDataTests extends BaseRpcTests {
assertTrue(TestValues.TRUE, Validator.validateFuelRange(
fuelRangeRefereceList,
fuelRangeUnderTestList));
- } else if (key.equals(OnVehicleData.KEY_WINDOW_STATUS)) {
+ } else if (key.equals(GetVehicleDataResponse.KEY_CLIMATE_DATA)) {
+ JSONObject myKeyObjReference = JsonUtils.readJsonObjectFromJsonObject(reference, key);
+ JSONObject myKeyObjTest = JsonUtils.readJsonObjectFromJsonObject(underTest, key);
+
+ ClimateData climateData1 = new ClimateData(JsonRPCMarshaller.deserializeJSONObject(myKeyObjReference));
+ ClimateData climateData2 = new ClimateData(JsonRPCMarshaller.deserializeJSONObject(myKeyObjTest));
+
+ assertTrue("JSON value didn't match expected value for key \"" + key + "\".",
+ Validator.validateClimateData(
+ climateData1,
+ climateData2
+ )
+ );
+ }
+ else if (key.equals(OnVehicleData.KEY_WINDOW_STATUS)) {
JSONArray windowStatusArrayObjReference = JsonUtils.readJsonArrayFromJsonObject(reference, key);
List<WindowStatus> windowStatusReferenceList = new ArrayList<>();
for (int index = 0; index < windowStatusArrayObjReference.length(); index++) {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
index b7ae57140..17f66e47c 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
@@ -66,6 +66,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
msg.setGearStatus(TestValues.GENERAL_BOOLEAN);
msg.setStabilityControlsStatus(TestValues.GENERAL_BOOLEAN);
msg.setSeatOccupancy(TestValues.GENERAL_BOOLEAN);
+ msg.setClimateData(TestValues.GENERAL_BOOLEAN);
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
return msg;
@@ -119,6 +120,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
result.put(GetVehicleData.KEY_GEAR_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(GetVehicleData.KEY_WINDOW_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(GetVehicleData.KEY_STABILITY_CONTROLS_STATUS, TestValues.GENERAL_BOOLEAN);
+ result.put(GetVehicleData.KEY_CLIMATE_DATA, TestValues.GENERAL_BOOLEAN);
result.put(GetVehicleData.KEY_SEAT_OCCUPANCY, TestValues.GENERAL_BOOLEAN);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
} catch (JSONException e) {
@@ -169,6 +171,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertTrue(TestValues.TRUE, ((GetVehicleData) msg).getGearStatus());
assertTrue(TestValues.TRUE, ((GetVehicleData) msg).getStabilityControlsStatus());
assertTrue(TestValues.TRUE, ((GetVehicleData) msg).getSeatOccupancy());
+ assertTrue(TestValues.TRUE, ((GetVehicleData) msg).getClimateData());
assertTrue(TestValues.TRUE, ((GetVehicleData) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
// Invalid/Null Tests
@@ -209,6 +212,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getWindowStatus());
assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
+ assertNull(TestValues.NULL, msg.getClimateData());
assertNull(TestValues.NULL, msg.getSeatOccupancy());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -267,6 +271,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_GEAR_STATUS), cmd.getGearStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_SEAT_OCCUPANCY), cmd.getSeatOccupancy());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_STABILITY_CONTROLS_STATUS), cmd.getStabilityControlsStatus());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_CLIMATE_DATA), cmd.getClimateData());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
index dfa05782c..32750af89 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
@@ -65,6 +65,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
msg.setGearStatus(TestValues.GENERAL_BOOLEAN);
msg.setSeatOccupancy(TestValues.GENERAL_BOOLEAN);
msg.setStabilityControlsStatus(TestValues.GENERAL_BOOLEAN);
+ msg.setClimateData(TestValues.GENERAL_BOOLEAN);
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
return msg;
@@ -117,6 +118,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
result.put(SubscribeVehicleData.KEY_WINDOW_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(SubscribeVehicleData.KEY_GEAR_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(SubscribeVehicleData.KEY_STABILITY_CONTROLS_STATUS, TestValues.GENERAL_BOOLEAN);
+ result.put(SubscribeVehicleData.KEY_CLIMATE_DATA, TestValues.GENERAL_BOOLEAN);
result.put(SubscribeVehicleData.KEY_SEAT_OCCUPANCY, TestValues.GENERAL_BOOLEAN);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
} catch (JSONException e) {
@@ -165,6 +167,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertTrue(TestValues.MATCH, ((SubscribeVehicleData) msg).getWindowStatus());
assertTrue(TestValues.MATCH, ((SubscribeVehicleData) msg).getGearStatus());
assertTrue(TestValues.MATCH, ((SubscribeVehicleData) msg).getStabilityControlsStatus());
+ assertTrue(TestValues.MATCH, ((SubscribeVehicleData) msg).getClimateData());
assertTrue(TestValues.MATCH, ((SubscribeVehicleData) msg).getSeatOccupancy());
assertTrue(TestValues.MATCH, ((SubscribeVehicleData) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
@@ -205,6 +208,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getWindowStatus());
assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
+ assertNull(TestValues.NULL, msg.getClimateData());
assertNull(TestValues.NULL, msg.getSeatOccupancy());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -260,6 +264,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_HANDS_OFF_STEERING), cmd.getHandsOffSteering());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_WINDOW_STATUS), cmd.getWindowStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_STABILITY_CONTROLS_STATUS), cmd.getStabilityControlsStatus());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_CLIMATE_DATA), cmd.getClimateData());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_SEAT_OCCUPANCY), cmd.getSeatOccupancy());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
} catch (JSONException e) {
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
index 7be82808a..4aeb5ce66 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
@@ -68,6 +68,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
msg.setWindowStatus(TestValues.GENERAL_BOOLEAN);
msg.setStabilityControlsStatus(TestValues.GENERAL_BOOLEAN);
msg.setSeatOccupancy(TestValues.GENERAL_BOOLEAN);
+ msg.setClimateData(TestValues.GENERAL_BOOLEAN);
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
return msg;
@@ -122,6 +123,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
result.put(UnsubscribeVehicleData.KEY_GEAR_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(UnsubscribeVehicleData.KEY_STABILITY_CONTROLS_STATUS, TestValues.GENERAL_BOOLEAN);
result.put(UnsubscribeVehicleData.KEY_SEAT_OCCUPANCY, TestValues.GENERAL_BOOLEAN);
+ result.put(UnsubscribeVehicleData.KEY_CLIMATE_DATA, TestValues.GENERAL_BOOLEAN);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_BOOLEAN);
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
@@ -169,6 +171,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertTrue(TestValues.TRUE, ((UnsubscribeVehicleData) msg).getWindowStatus());
assertTrue(TestValues.TRUE, ((UnsubscribeVehicleData) msg).getGearStatus());
assertTrue(TestValues.TRUE, ((UnsubscribeVehicleData) msg).getStabilityControlsStatus());
+ assertTrue(TestValues.TRUE, ((UnsubscribeVehicleData) msg).getClimateData());
assertTrue(TestValues.TRUE, ((UnsubscribeVehicleData) msg).getSeatOccupancy());
assertTrue(TestValues.TRUE, ((UnsubscribeVehicleData) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
// Invalid/Null Tests
@@ -210,6 +213,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
assertNull(TestValues.NULL, msg.getSeatOccupancy());
+ assertNull(TestValues.NULL, msg.getClimateData());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -266,6 +270,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_WINDOW_STATUS), cmd.getWindowStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_GEAR_STATUS), cmd.getGearStatus());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_STABILITY_CONTROLS_STATUS), cmd.getStabilityControlsStatus());
+ assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_CLIMATE_DATA), cmd.getClimateData());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_SEAT_OCCUPANCY), cmd.getSeatOccupancy());
assertEquals(TestValues.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME), cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
index 8cd41a81b..8430fd728 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
@@ -6,6 +6,7 @@ import com.smartdevicelink.proxy.RPCMessage;
import com.smartdevicelink.proxy.rpc.AirbagStatus;
import com.smartdevicelink.proxy.rpc.BeltStatus;
import com.smartdevicelink.proxy.rpc.BodyInformation;
+import com.smartdevicelink.proxy.rpc.ClimateData;
import com.smartdevicelink.proxy.rpc.ClusterModeStatus;
import com.smartdevicelink.proxy.rpc.DeviceStatus;
import com.smartdevicelink.proxy.rpc.ECallInfo;
@@ -106,6 +107,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
result.put(GetVehicleDataResponse.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
result.put(GetVehicleDataResponse.KEY_GEAR_STATUS, VehicleDataHelper.GEAR_STATUS);
result.put(GetVehicleDataResponse.KEY_STABILITY_CONTROLS_STATUS, VehicleDataHelper.STABILITY_CONTROLS_STATUS);
+ result.put(GetVehicleDataResponse.KEY_CLIMATE_DATA, VehicleDataHelper.CLIMATE_DATA);
result.put(GetVehicleDataResponse.KEY_SEAT_OCCUPANCY, VehicleDataHelper.SEAT_OCCUPANCY);
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE);
} catch (JSONException e) {
@@ -136,6 +138,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
JSONObject windowStatusObj = new JSONObject();
JSONObject gearStatusObj = new JSONObject();
JSONObject seatOccupancyObj = new JSONObject();
+ JSONObject climateDataObj = new JSONObject();
JSONArray fuelRangeArrayObj = new JSONArray();
JSONArray windowStatusArrayObj = new JSONArray();
@@ -281,6 +284,11 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
windowStatusObj.put(WindowStatus.KEY_STATE, VehicleDataHelper.WINDOW_STATE);
windowStatusArrayObj.put(windowStatusObj);
+ // CLIMATE_DATA
+ climateDataObj.put(ClimateData.KEY_ATMOSPHERIC_PRESSURE, VehicleDataHelper.CLIMATE_DATA_ATM_PRESSURE);
+ climateDataObj.put(ClimateData.KEY_CABIN_TEMPERATURE, VehicleDataHelper.CLIMATE_DATA_CABIN_TEMP.serializeJSON());
+ climateDataObj.put(ClimateData.KEY_EXTERNAL_TEMPERATURE, VehicleDataHelper.CLIMATE_DATA_EXT_TEMP.serializeJSON());
+
// SEAT_OCCUPANCY
seatOccupancyObj.put(SeatOccupancy.KEY_SEATS_BELTED, VehicleDataHelper.SEATS_BELTED);
seatOccupancyObj.put(SeatOccupancy.KEY_SEATS_OCCUPIED, VehicleDataHelper.SEATS_OCCUPIED);
@@ -314,6 +322,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
reference.put(GetVehicleDataResponse.KEY_FUEL_RANGE, fuelRangeArrayObj);
reference.put(GetVehicleDataResponse.KEY_TURN_SIGNAL, TurnSignal.OFF);
reference.put(GetVehicleDataResponse.KEY_GEAR_STATUS, gearStatusObj);
+ reference.put(GetVehicleDataResponse.KEY_CLIMATE_DATA, climateDataObj);
reference.put(GetVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, VehicleDataHelper.ELECTRONIC_PARK_BRAKE_STATUS);
reference.put(GetVehicleDataResponse.KEY_WINDOW_STATUS, windowStatusArrayObj);
reference.put(GetVehicleDataResponse.KEY_HANDS_OFF_STEERING, VehicleDataHelper.HANDS_OFF_STEERING);
@@ -452,6 +461,24 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
status2
)
);
+ } else if (key.equals(GetVehicleDataResponse.KEY_CLIMATE_DATA)) {
+
+
+ JSONObject myKeyObjReference = JsonUtils.readJsonObjectFromJsonObject(reference, key);
+ JSONObject myKeyObjTest = JsonUtils.readJsonObjectFromJsonObject(underTest, key);
+
+ Hashtable<String, Object> hashReference = JsonRPCMarshaller.deserializeJSONObject(myKeyObjReference);
+ Hashtable<String, Object> hashTest = JsonRPCMarshaller.deserializeJSONObject(myKeyObjTest);
+
+ ClimateData climateData1 = new ClimateData(hashReference);
+ ClimateData climateData2 = new ClimateData(hashTest);
+
+ assertTrue("JSON value didn't match expected value for key \"" + key + "\".",
+ Validator.validateClimateData(
+ climateData1,
+ climateData2
+ )
+ );
} else if (key.equals(GetVehicleDataResponse.KEY_FUEL_RANGE)) {
JSONArray fuelRangeArrayObjReference = JsonUtils.readJsonArrayFromJsonObject(reference, key);
List<FuelRange> fuelRangeRefereceList = new ArrayList<FuelRange>();
@@ -540,6 +567,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
assertEquals(TestValues.MATCH, VehicleDataHelper.GEAR_STATUS, ((GetVehicleDataResponse) msg).getGearStatus());
assertEquals(TestValues.MATCH, VehicleDataHelper.HANDS_OFF_STEERING, ((GetVehicleDataResponse) msg).getHandsOffSteering());
assertEquals(TestValues.MATCH, VehicleDataHelper.STABILITY_CONTROLS_STATUS, ((GetVehicleDataResponse) msg).getStabilityControlsStatus());
+ assertEquals(TestValues.MATCH, VehicleDataHelper.CLIMATE_DATA, ((GetVehicleDataResponse) msg).getClimateData());
assertEquals(TestValues.MATCH, VehicleDataHelper.SEAT_OCCUPANCY, ((GetVehicleDataResponse) msg).getSeatOccupancy());
assertEquals(TestValues.MATCH, VehicleDataHelper.OEM_CUSTOM_VEHICLE_DATA_STATE, ((GetVehicleDataResponse) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
@@ -579,6 +607,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getHandsOffSteering());
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
assertNull(TestValues.NULL, msg.getWindowStatus());
+ assertNull(TestValues.NULL, msg.getClimateData());
assertNull(TestValues.NULL, msg.getSeatOccupancy());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -664,6 +693,10 @@ public class GetVehicleDataResponseTests extends BaseRpcTests {
ClusterModeStatus clusterModeStatus = new ClusterModeStatus(JsonRPCMarshaller.deserializeJSONObject(clusterModeStatusObj));
assertTrue(TestValues.TRUE, Validator.validateClusterModeStatus(clusterModeStatus, cmd.getClusterModeStatus()));
+ JSONObject climateDataObj = JsonUtils.readJsonObjectFromJsonObject(parameters, GetVehicleDataResponse.KEY_CLIMATE_DATA);
+ ClimateData climateData = new ClimateData(JsonRPCMarshaller.deserializeJSONObject(climateDataObj));
+ assertTrue(TestValues.TRUE, Validator.validateClimateData(climateData, cmd.getClimateData()));
+
JSONObject gearStatusObj = JsonUtils.readJsonObjectFromJsonObject(parameters, GetVehicleDataResponse.KEY_GEAR_STATUS);
GearStatus gearStatus = new GearStatus(JsonRPCMarshaller.deserializeJSONObject(gearStatusObj));
GearStatus cmdStatus = cmd.getGearStatus();
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
index 4d0da0627..278a29b35 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
@@ -71,6 +71,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
msg.setStabilityControlsStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_STABILITYCONTROLSSTATUS.ordinal()));
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA);
msg.setSeatOccupancy(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_SEATOCCUPANCY.ordinal()));
+ msg.setClimateData(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLIMATEDATA.ordinal()));
return msg;
}
@@ -129,7 +130,9 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
result.put(SubscribeVehicleDataResponse.KEY_ELECTRONIC_PARK_BRAKE_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_ELECTRONICPARKBRAKESTATUS.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_HANDS_OFF_STEERING, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_HANDSOFFSTEERING.ordinal()).serializeJSON());
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA.serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_CLIMATE_DATA, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLIMATEDATA.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_SEAT_OCCUPANCY, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_SEATOCCUPANCY.ordinal()).serializeJSON());
+
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
}
@@ -176,6 +179,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult testWindowStatus = ((SubscribeVehicleDataResponse) msg).getWindowStatus();
VehicleDataResult testGearStatus = ((SubscribeVehicleDataResponse) msg).getGearStatus();
VehicleDataResult testStabilityControlStatus = ((SubscribeVehicleDataResponse) msg).getStabilityControlsStatus();
+ VehicleDataResult testClimateData = ((SubscribeVehicleDataResponse) msg).getClimateData();
VehicleDataResult testOEMCustomVehicleData = ((SubscribeVehicleDataResponse) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
VehicleDataResult testSeatOccupancy = ((SubscribeVehicleDataResponse) msg).getSeatOccupancy();
@@ -214,6 +218,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
assertTrue(TestValues.TRUE, testWindowStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_WINDOWSTATUS));
assertTrue(TestValues.TRUE, testStabilityControlStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_STABILITYCONTROLSSTATUS));
assertTrue(TestValues.TRUE, testOEMCustomVehicleData.getOEMCustomVehicleDataType().equals(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
+ assertTrue(TestValues.TRUE, testClimateData.getDataType().equals(VehicleDataType.VEHICLEDATA_CLIMATEDATA));
assertTrue(TestValues.TRUE, testSeatOccupancy.getDataType().equals(VehicleDataType.VEHICLEDATA_SEATOCCUPANCY));
// Invalid/Null Tests
@@ -254,6 +259,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getWindowStatus());
assertNull(TestValues.NULL, msg.getGearStatus());
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
+ assertNull(TestValues.NULL, msg.getClimateData());
assertNull(TestValues.NULL, msg.getSeatOccupancy());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -407,6 +413,10 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult referenceStabilityControlStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(stabilityControlStatus));
assertTrue(TestValues.TRUE, Validator.validateStabilityControlStatus(referenceStabilityControlStatus, cmd.getStabilityControlsStatus()));
+ JSONObject climateData = JsonUtils.readJsonObjectFromJsonObject(parameters, SubscribeVehicleDataResponse.KEY_CLIMATE_DATA);
+ VehicleDataResult referenceClimateData = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(climateData));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceClimateData, cmd.getClimateData()));
+
JSONObject oemCustomVehicleDataName = JsonUtils.readJsonObjectFromJsonObject(parameters, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
VehicleDataResult referenceOemCustomData = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(oemCustomVehicleDataName));
assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceOemCustomData, cmd.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME)));
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
index 0e463583f..6169de07f 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
@@ -73,6 +73,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
msg.setSeatOccupancy(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_SEATOCCUPANCY.ordinal()));
msg.setStabilityControlsStatus(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_STABILITYCONTROLSSTATUS.ordinal()));
msg.setOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA);
+ msg.setClimateData(TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLIMATEDATA.ordinal()));
return msg;
}
@@ -133,6 +134,8 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
result.put(SubscribeVehicleDataResponse.KEY_SEAT_OCCUPANCY, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_SEATOCCUPANCY.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_WINDOW_STATUS, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_WINDOWSTATUS.ordinal()).serializeJSON());
result.put(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME, TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA.serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_CLIMATE_DATA, TestValues.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLIMATEDATA.ordinal()).serializeJSON());
+
} catch (JSONException e) {
fail(TestValues.JSON_FAIL);
}
@@ -179,6 +182,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult testGearStatus = ((UnsubscribeVehicleDataResponse) msg).getGearStatus();
VehicleDataResult testWindowStatus = ((UnsubscribeVehicleDataResponse) msg).getWindowStatus();
VehicleDataResult testStabilityControlStatus = ((UnsubscribeVehicleDataResponse) msg).getStabilityControlsStatus();
+ VehicleDataResult testClimateData = ((UnsubscribeVehicleDataResponse) msg).getClimateData();
VehicleDataResult testOemCustomData = ((UnsubscribeVehicleDataResponse) msg).getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME);
VehicleDataResult testSeatOccupancy = ((UnsubscribeVehicleDataResponse) msg).getSeatOccupancy();
@@ -216,6 +220,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
assertTrue(TestValues.TRUE, testWindowStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_WINDOWSTATUS));
assertTrue(TestValues.TRUE, testStabilityControlStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_STABILITYCONTROLSSTATUS));
assertTrue(TestValues.TRUE, testOemCustomData.getOEMCustomVehicleDataType().equals(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
+ assertTrue(TestValues.TRUE, testClimateData.getDataType().equals(VehicleDataType.VEHICLEDATA_CLIMATEDATA));
assertTrue(TestValues.TRUE, testGearStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_GEARSTATUS));
assertTrue(TestValues.TRUE, testSeatOccupancy.getDataType().equals(VehicleDataType.VEHICLEDATA_SEATOCCUPANCY));
@@ -258,6 +263,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
assertNull(TestValues.NULL, msg.getWindowStatus());
assertNull(TestValues.NULL, msg.getHandsOffSteering());
assertNull(TestValues.NULL, msg.getStabilityControlsStatus());
+ assertNull(TestValues.NULL, msg.getClimateData());
assertNull(TestValues.NULL, msg.getSeatOccupancy());
assertNull(TestValues.NULL, msg.getOEMCustomVehicleData(TestValues.GENERAL_OEM_CUSTOM_VEHICLE_DATA_NAME));
}
@@ -415,6 +421,10 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult referenceStabilityControlStatus = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(stabilityControlsStatus));
assertTrue(TestValues.TRUE, Validator.validateStabilityControlStatus(referenceStabilityControlStatus, cmd.getStabilityControlsStatus()));
+ JSONObject climateData = JsonUtils.readJsonObjectFromJsonObject(parameters, UnsubscribeVehicleDataResponse.KEY_CLIMATE_DATA);
+ VehicleDataResult referenceClimateData = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(climateData));
+ assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceClimateData, cmd.getClimateData()));
+
JSONObject seatOccupancy = JsonUtils.readJsonObjectFromJsonObject(parameters, UnsubscribeVehicleDataResponse.KEY_SEAT_OCCUPANCY);
VehicleDataResult referenceSeatOccupancy = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(seatOccupancy));
assertTrue(TestValues.TRUE, Validator.validateVehicleDataResult(referenceSeatOccupancy, cmd.getSeatOccupancy()));
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateData.java
new file mode 100644
index 000000000..e44635163
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateData.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2017 - 2020, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.util.SdlDataTypeConverter;
+
+import java.util.Hashtable;
+
+/**
+ *
+ * <p><b>Parameter List</b></p>
+ *
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Param Name</th>
+ * <th>Type</th>
+ * <th>Description</th>
+ * <th>Required</th>
+ * <th>Notes</th>
+ * <th>Version Available</th>
+ * </tr>
+ * <tr>
+ * <td>externalTemperature</td>
+ * <td>Temperature</td>
+ * <td>The external temperature in degrees celsius</td>
+ * <td>N</td>
+ * <td></td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>cabinTemperature</td>
+ * <td>Temperature</td>
+ * <td>Internal ambient cabin temperature in degrees celsius</td>
+ * <td>N</td>
+ * <td></td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>atmosphericPressure</td>
+ * <td>Float</td>
+ * <td>Current atmospheric pressure in mBar</td>
+ * <td>N</td>
+ * <td>{"num_min_value": 0.0, "num_max_value": 2000.0}</td>
+ * <td></td>
+ * </tr>
+ * </table>
+ * @since SmartDeviceLink 7.1.0
+ */
+public class ClimateData extends RPCStruct {
+ public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
+ public static final String KEY_CABIN_TEMPERATURE = "cabinTemperature";
+ public static final String KEY_ATMOSPHERIC_PRESSURE = "atmosphericPressure";
+
+ /**
+ * Constructs a new ClimateData object
+ */
+ public ClimateData() { }
+
+ /**
+ * Constructs a new ClimateData object indicated by the Hashtable parameter
+ *
+ * @param hash The Hashtable to use
+ */
+ public ClimateData(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the externalTemperature.
+ *
+ * @param externalTemperature The external temperature in degrees celsius
+ */
+ public ClimateData setExternalTemperature(Temperature externalTemperature) {
+ setValue(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
+ return this;
+ }
+
+ /**
+ * Gets the externalTemperature.
+ *
+ * @return Temperature The external temperature in degrees celsius
+ */
+ public Temperature getExternalTemperature() {
+ return (Temperature) getObject(Temperature.class, KEY_EXTERNAL_TEMPERATURE);
+ }
+
+ /**
+ * Sets the cabinTemperature.
+ *
+ * @param cabinTemperature Internal ambient cabin temperature in degrees celsius
+ */
+ public ClimateData setCabinTemperature(Temperature cabinTemperature) {
+ setValue(KEY_CABIN_TEMPERATURE, cabinTemperature);
+ return this;
+ }
+
+ /**
+ * Gets the cabinTemperature.
+ *
+ * @return Temperature Internal ambient cabin temperature in degrees celsius
+ */
+ public Temperature getCabinTemperature() {
+ return (Temperature) getObject(Temperature.class, KEY_CABIN_TEMPERATURE);
+ }
+
+ /**
+ * Sets the atmosphericPressure.
+ *
+ * @param atmosphericPressure Current atmospheric pressure in mBar
+ * {"num_min_value": 0.0, "num_max_value": 2000.0}
+ */
+ public ClimateData setAtmosphericPressure(Float atmosphericPressure) {
+ setValue(KEY_ATMOSPHERIC_PRESSURE, atmosphericPressure);
+ return this;
+ }
+
+ /**
+ * Gets the atmosphericPressure.
+ *
+ * @return Float Current atmospheric pressure in mBar
+ * {"num_min_value": 0.0, "num_max_value": 2000.0}
+ */
+ public Float getAtmosphericPressure() {
+ Object object = getValue(KEY_ATMOSPHERIC_PRESSURE);
+ return SdlDataTypeConverter.objectToFloat(object);
+ }
+}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
index 4491f8d46..b7744a3e3 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
@@ -108,10 +108,13 @@ import java.util.Hashtable;
* <tr>
* <td>externalTemperature</td>
* <td>Boolean</td>
- * <td>The external temperature in degrees celsius</td>
+ * <td>The external temperature in degrees celsius. This parameter is deprecated starting RPCSpec 7.1.0, please see climateData.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0</td>
+ * <td>
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ * </td>
* </tr>
* <tr>
* <td>vin</td>
@@ -270,6 +273,16 @@ import java.util.Hashtable;
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
+ * <td>climateData</td>
+ * <td>Boolean</td>
+ * <td>See ClimateData</td>
+ * <td>N</td>
+ * <td></td>
+ * <td>
+ * @since SmartDeviceLink 7.1.0
+ * </td>
+ * </tr>
+ * <tr>
* <td>seatOccupancy</td>
* <td>Boolean</td>
* <td>See SeatOccupancy</td>
@@ -303,6 +316,11 @@ import java.util.Hashtable;
public class GetVehicleData extends RPCRequest {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
+ /**
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_VIN = "vin";
public static final String KEY_PRNDL = "prndl";
@@ -344,6 +362,10 @@ public class GetVehicleData extends RPCRequest {
@Deprecated
public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_STABILITY_CONTROLS_STATUS = "stabilityControlsStatus";
+ /**
+ * @since SmartDeviceLink 7.1.0
+ */
+ public static final String KEY_CLIMATE_DATA = "climateData";
/**
* @since SmartDeviceLink 7.1.0
@@ -449,11 +471,29 @@ public class GetVehicleData extends RPCRequest {
return getBoolean(KEY_FUEL_RANGE);
}
+ /**
+ * Sets the externalTemperature.
+ *
+ * @param externalTemperature The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public GetVehicleData setExternalTemperature(Boolean externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
return this;
}
+ /**
+ * Gets the externalTemperature.
+ *
+ * @return Boolean The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public Boolean getExternalTemperature() {
return getBoolean(KEY_EXTERNAL_TEMPERATURE);
}
@@ -806,6 +846,27 @@ public class GetVehicleData extends RPCRequest {
}
/**
+ * Sets the climateData.
+ *
+ * @param climateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public GetVehicleData setClimateData(Boolean climateData) {
+ setParameters(KEY_CLIMATE_DATA, climateData);
+ return this;
+ }
+
+ /**
+ * Gets the climateData.
+ *
+ * @return Boolean See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public Boolean getClimateData() {
+ return getBoolean(KEY_CLIMATE_DATA);
+ }
+
+ /**
* Sets the seatOccupancy.
*
* @param seatOccupancy See SeatOccupancy
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
index e4adfbced..33ebf324f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
@@ -69,6 +69,11 @@ public class GetVehicleDataResponse extends RPCResponse {
public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_FUEL_RANGE = "fuelRange";
+ /**
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_VIN = "vin";
@@ -99,6 +104,11 @@ public class GetVehicleDataResponse extends RPCResponse {
/**
* @since SmartDeviceLink 7.1.0
*/
+ public static final String KEY_CLIMATE_DATA = "climateData";
+
+ /**
+ * @since SmartDeviceLink 7.1.0
+ */
public static final String KEY_SEAT_OCCUPANCY = "seatOccupancy";
/**
* Constructs a new GetVehicleDataResponse object
@@ -209,11 +219,31 @@ public class GetVehicleDataResponse extends RPCResponse {
return SdlDataTypeConverter.objectToDouble(object);
}
+ /**
+ * Sets the externalTemperature.
+ *
+ * @param externalTemperature The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * {"num_min_value": -40.0, "num_max_value": 100.0}
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public GetVehicleDataResponse setExternalTemperature(Double externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
return this;
}
+ /**
+ * Gets the externalTemperature.
+ *
+ * @return Double The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * {"num_min_value": -40.0, "num_max_value": 100.0}
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public Double getExternalTemperature() {
Object object = getParameters(KEY_EXTERNAL_TEMPERATURE);
return SdlDataTypeConverter.objectToDouble(object);
@@ -597,6 +627,27 @@ public class GetVehicleDataResponse extends RPCResponse {
setParameters(KEY_STABILITY_CONTROLS_STATUS, stabilityControlsStatus);
return this;
}
+
+ /**
+ * Sets the climateData.
+ *
+ * @param climateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public GetVehicleDataResponse setClimateData(ClimateData climateData) {
+ setParameters(KEY_CLIMATE_DATA, climateData);
+ return this;
+ }
+
+ /**
+ * Gets the climateData.
+ *
+ * @return ClimateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public ClimateData getClimateData() {
+ return (ClimateData) getObject(ClimateData.class, KEY_CLIMATE_DATA);
+ }
/**
* Sets the seatOccupancy.
*
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
index f14705b0c..8d87f6d30 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
@@ -320,6 +320,16 @@ import java.util.List;
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
+ * <td>climateData</td>
+ * <td>ClimateData</td>
+ * <td>See ClimateData</td>
+ * <td>N</td>
+ * <td></td>
+ * <td>
+ * @since SmartDeviceLink 7.1.0
+ * </td>
+ * </tr>
+ * <tr>
* <td>stabilityControlsStatus</td>
* <td>StabilityControlsStatus</td>
* <td>See StabilityControlsStatus</td>
@@ -344,6 +354,11 @@ import java.util.List;
public class OnVehicleData extends RPCNotification {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
+ /**
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_VIN = "vin";
public static final String KEY_PRNDL = "prndl";
@@ -374,6 +389,10 @@ public class OnVehicleData extends RPCNotification {
public static final String KEY_WINDOW_STATUS = "windowStatus";
public static final String KEY_GEAR_STATUS = "gearStatus";
/**
+ * @since SmartDeviceLink 7.1.0
+ */
+ public static final String KEY_CLIMATE_DATA = "climateData";
+ /**
* @deprecated
*/
@Deprecated
@@ -471,11 +490,31 @@ public class OnVehicleData extends RPCNotification {
return SdlDataTypeConverter.objectToDouble(object);
}
+ /**
+ * Sets the externalTemperature.
+ *
+ * @param externalTemperature The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * {"num_min_value": -40.0, "num_max_value": 100.0}
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public OnVehicleData setExternalTemperature(Double externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
return this;
}
+ /**
+ * Gets the externalTemperature.
+ *
+ * @return Double The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * {"num_min_value": -40.0, "num_max_value": 100.0}
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public Double getExternalTemperature() {
Object object = getParameters(KEY_EXTERNAL_TEMPERATURE);
return SdlDataTypeConverter.objectToDouble(object);
@@ -862,6 +901,28 @@ public class OnVehicleData extends RPCNotification {
public GearStatus getGearStatus() {
return (GearStatus) getObject(GearStatus.class, KEY_GEAR_STATUS);
}
+
+
+ /**
+ * Sets the climateData.
+ *
+ * @param climateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public OnVehicleData setClimateData(ClimateData climateData) {
+ setParameters(KEY_CLIMATE_DATA, climateData);
+ return this;
+ }
+
+ /**
+ * Gets the climateData.
+ *
+ * @return ClimateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public ClimateData getClimateData() {
+ return (ClimateData) getObject(ClimateData.class, KEY_CLIMATE_DATA);
+ }
/**
* Sets the seatOccupancy.
*
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
index 62401e2c8..7ea19c858 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
@@ -116,10 +116,13 @@ import java.util.Hashtable;
* <tr>
* <td>externalTemperature</td>
* <td>Boolean</td>
- * <td>The external temperature in degrees celsius</td>
+ * <td>The external temperature in degrees celsius. This parameter is deprecated starting RPCSpec 7.1.0, please see climateData.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
+ * <td>
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ * </td>
* </tr>
* <tr>
* <td>gearStatus</td>
@@ -308,6 +311,16 @@ import java.util.Hashtable;
* <td>N</td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
+ * <tr>
+ * <td>climateData</td>
+ * <td>Boolean</td>
+ * <td>See ClimateData</td>
+ * <td>N</td>
+ * <td></td>
+ * <td>
+ * @since SmartDeviceLink 7.1.0
+ * </td>
+ * </tr>
* <tr>
* <td>seatOccupancy</td>
* <td>Boolean</td>
@@ -339,6 +352,11 @@ import java.util.Hashtable;
*/
public class SubscribeVehicleData extends RPCRequest {
public static final String KEY_RPM = "rpm";
+ /**
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -382,6 +400,10 @@ public class SubscribeVehicleData extends RPCRequest {
/**
* @since SmartDeviceLink 7.1.0
*/
+ public static final String KEY_CLIMATE_DATA = "climateData";
+ /**
+ * @since SmartDeviceLink 7.1.0
+ */
public static final String KEY_SEAT_OCCUPANCY = "seatOccupancy";
/**
@@ -529,22 +551,28 @@ public class SubscribeVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, subscribes externalTemperature data
+ * Sets the externalTemperature.
*
- * @param externalTemperature a boolean value
+ * @param externalTemperature The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public SubscribeVehicleData setExternalTemperature(Boolean externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
return this;
}
/**
- * Gets a boolean value. If true, means the externalTemperature data has been
- * subscribed.
+ * Gets the externalTemperature.
*
- * @return Boolean -a Boolean value. If true, means the externalTemperature data
- * has been subscribed.
+ * @return Boolean The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public Boolean getExternalTemperature() {
return getBoolean(KEY_EXTERNAL_TEMPERATURE);
}
@@ -1042,6 +1070,27 @@ public class SubscribeVehicleData extends RPCRequest {
}
/**
+ * Sets the climateData.
+ *
+ * @param climateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public SubscribeVehicleData setClimateData(Boolean climateData) {
+ setParameters(KEY_CLIMATE_DATA, climateData);
+ return this;
+ }
+
+ /**
+ * Gets the climateData.
+ *
+ * @return Boolean See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public Boolean getClimateData() {
+ return getBoolean(KEY_CLIMATE_DATA);
+ }
+
+ /**
* Sets the seatOccupancy.
*
* @param seatOccupancy See SeatOccupancy
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
index d8c8550ea..7a268f0f3 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
@@ -47,6 +47,11 @@ import java.util.Hashtable;
public class SubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
+ /**
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -88,6 +93,10 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
@Deprecated
public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_STABILITY_CONTROLS_STATUS = "stabilityControlsStatus";
+ /**
+ * @since SmartDeviceLink 7.1.0
+ */
+ public static final String KEY_CLIMATE_DATA = "climateData";
/**
* @since SmartDeviceLink 7.1.0
@@ -243,20 +252,28 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
}
/**
- * Sets External Temperature
+ * Sets the externalTemperature.
*
- * @param externalTemperature a VehicleDataResult related to external temperature
+ * @param externalTemperature The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public SubscribeVehicleDataResponse setExternalTemperature(VehicleDataResult externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
return this;
}
/**
- * Gets External Temperature
+ * Gets the externalTemperature.
*
- * @return a VehicleDataResult related to external temperature
+ * @return VehicleDataResult The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public VehicleDataResult getExternalTemperature() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_EXTERNAL_TEMPERATURE);
}
@@ -758,6 +775,27 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
}
/**
+ * Sets the climateData.
+ *
+ * @param climateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public SubscribeVehicleDataResponse setClimateData(VehicleDataResult climateData) {
+ setParameters(KEY_CLIMATE_DATA, climateData);
+ return this;
+ }
+
+ /**
+ * Gets the climateData.
+ *
+ * @return VehicleDataResult See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public VehicleDataResult getClimateData() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_CLIMATE_DATA);
+ }
+
+ /**
* Sets the seatOccupancy.
*
* @param seatOccupancy See SeatOccupancy
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
index 876cf99a0..e607711d0 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
@@ -111,10 +111,13 @@ import java.util.Hashtable;
* <tr>
* <td>externalTemperature</td>
* <td>Boolean</td>
- * <td>The external temperature in degrees celsius</td>
+ * <td>The external temperature in degrees celsius. This parameter is deprecated starting RPCSpec 7.1.0, please see climateData.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
+ * <td>
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ * </td>
* </tr>
* <tr>
* <td>gearStatus</td>
@@ -295,6 +298,16 @@ import java.util.Hashtable;
* <td>N</td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
+ * <tr>
+ * <td>climateData</td>
+ * <td>Boolean</td>
+ * <td>See ClimateData</td>
+ * <td>N</td>
+ * <td></td>
+ * <td>
+ * @since SmartDeviceLink 7.1.0
+ * </td>
+ * </tr>
* <tr>
* <td>seatOccupancy</td>
* <td>Boolean</td>
@@ -327,6 +340,11 @@ import java.util.Hashtable;
public class UnsubscribeVehicleData extends RPCRequest {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
+ /**
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -370,6 +388,10 @@ public class UnsubscribeVehicleData extends RPCRequest {
* @since SmartDeviceLink 7.1.0
*/
public static final String KEY_SEAT_OCCUPANCY = "seatOccupancy";
+ /**
+ * @since SmartDeviceLink 7.1.0
+ */
+ public static final String KEY_CLIMATE_DATA = "climateData";
/**
* Constructs a new UnsubscribeVehicleData object
@@ -519,22 +541,28 @@ public class UnsubscribeVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, unsubscribes from externalTemperature data
+ * Sets the externalTemperature.
*
- * @param externalTemperature a boolean value
+ * @param externalTemperature The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public UnsubscribeVehicleData setExternalTemperature(Boolean externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
return this;
}
/**
- * Gets a boolean value. If true, means the externalTemperature data has been
- * unsubscribed.
+ * Gets the externalTemperature.
*
- * @return Boolean -a Boolean value. If true, means the externalTemperature data
- * has been unsubscribed.
+ * @return Boolean The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public Boolean getExternalTemperature() {
return getBoolean(KEY_EXTERNAL_TEMPERATURE);
}
@@ -1031,6 +1059,27 @@ public class UnsubscribeVehicleData extends RPCRequest {
}
/**
+ * Sets the climateData.
+ *
+ * @param climateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public UnsubscribeVehicleData setClimateData(Boolean climateData) {
+ setParameters(KEY_CLIMATE_DATA, climateData);
+ return this;
+ }
+
+ /**
+ * Gets the climateData.
+ *
+ * @return Boolean See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public Boolean getClimateData() {
+ return getBoolean(KEY_CLIMATE_DATA);
+ }
+
+ /**
* Sets the seatOccupancy.
*
* @param seatOccupancy See SeatOccupancy
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
index 5d6434608..114a1971a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
@@ -47,6 +47,11 @@ import java.util.Hashtable;
public class UnsubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
+ /**
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
+ */
+ @Deprecated
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -91,6 +96,11 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
/**
* @since SmartDeviceLink 7.1.0
*/
+ public static final String KEY_CLIMATE_DATA = "climateData";
+
+ /**
+ * @since SmartDeviceLink 7.1.0
+ */
public static final String KEY_SEAT_OCCUPANCY = "seatOccupancy";
/**
* Constructs a new UnsubscribeVehicleDataResponse object
@@ -243,20 +253,28 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
}
/**
- * Sets External Temperature
+ * Sets the externalTemperature.
*
- * @param externalTemperature a VehicleDataResult related to external temperature
+ * @param externalTemperature The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public UnsubscribeVehicleDataResponse setExternalTemperature(VehicleDataResult externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
return this;
}
/**
- * Gets External Temperature
+ * Gets the externalTemperature.
*
- * @return a VehicleDataResult related to external temperature
+ * @return VehicleDataResult The external temperature in degrees celsius. This parameter is deprecated starting RPC
+ * Spec 7.1.0, please see climateData.
+ * @since SmartDeviceLink 2.0.0
+ * @deprecated in SmartDeviceLink 7.1.0
*/
+ @Deprecated
public VehicleDataResult getExternalTemperature() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_EXTERNAL_TEMPERATURE);
}
@@ -758,6 +776,27 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
}
/**
+ * Sets the climateData.
+ *
+ * @param climateData See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public UnsubscribeVehicleDataResponse setClimateData(VehicleDataResult climateData) {
+ setParameters(KEY_CLIMATE_DATA, climateData);
+ return this;
+ }
+
+ /**
+ * Gets the climateData.
+ *
+ * @return VehicleDataResult See ClimateData
+ * @since SmartDeviceLink 7.1.0
+ */
+ public VehicleDataResult getClimateData() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_CLIMATE_DATA);
+ }
+
+ /**
* Sets the seatOccupancy.
*
* @param seatOccupancy See SeatOccupancy
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
index 55217b208..ad619e46a 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
@@ -62,7 +62,12 @@ public enum VehicleDataType {
*/
VEHICLEDATA_FUELCONSUMPTION,
/**
+ * @since SmartDeviceLink 7.1.0
+ */
+ VEHICLEDATA_CLIMATEDATA,
+ /**
* Notifies EXTERNTEMPData may be subscribed
+ * @deprecated since SmartDeviceLink 7.1.0
*/
VEHICLEDATA_EXTERNTEMP,
/**