summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostiantyn Boskin <kostyaboskin@gmail.com>2020-08-27 21:59:34 +0300
committerGitHub <noreply@github.com>2020-08-27 14:59:34 -0400
commit56771c0fe3ea9c8db96fd26f12b95a3694fb5d21 (patch)
treed2eb327019dc24f04e87b827a72e32f9d70ca068
parentddd1008b89d20632e243cd7b56e5b8be767ebf9c (diff)
downloadsdl_android-56771c0fe3ea9c8db96fd26f12b95a3694fb5d21.tar.gz
[0256] Refactor Fuel Information Related Vehicle Data (#1392)
* [0256] - Add CapacityUnit - Refactor Fuel information - Fix tests * [0256] - Update tests data after code review - Add @Deprecated annotation - Fix JavaDoc * [0256] - Update tests after code review - Change since X.x --> since 6.0 * [0256] - Regenerate using Generator * [0256] - Fix tests * [0256] - Rollback formatting changes - Change order of methods to make the diff clear * [0256] - Rollback of UnsubscribeVehicleData && SubscribeVehicleData * [0256] - Rollback of SubscribeVehicleData && SubscribeVehicleDataResponse * [0256] - Rollback of OnVehicleData && GetVehicleData/Response * [0256] - Rollback of VehicleDataType && FuelRange && SubscribeVehicleData * Revert LF to CRLF line separators * Rollback javadoc * [VideoStreaming] - Fix tests, fix compilation errors * [0256] - Remove unused setFuelLevel_State * [0256] - Remove unused setFuelLevel_State * Revert LF to CRLF line separators * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * Update base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java Co-authored-by: Julian Kast <Julian.kast@livio.io> * [0256] - Fix PR comments Co-authored-by: kboskin <kboskin> Co-authored-by: Vladyslav Mustafin <vmustafin@luxoft.com> Co-authored-by: Julian Kast <Julian.kast@livio.io>
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/TestValues.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java18
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java9
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/FuelRangeTests.java24
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/CapacityUnitTests.java71
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java4
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java160
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java77
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java72
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java68
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java63
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java42
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java72
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java43
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/CapacityUnit.java57
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java2
17 files changed, 661 insertions, 127 deletions
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 05d0327a7..caa9f1e7f 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
@@ -125,6 +125,7 @@ import com.smartdevicelink.proxy.rpc.enums.BitsPerSample;
import com.smartdevicelink.proxy.rpc.enums.ButtonEventMode;
import com.smartdevicelink.proxy.rpc.enums.ButtonName;
import com.smartdevicelink.proxy.rpc.enums.ButtonPressMode;
+import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
import com.smartdevicelink.proxy.rpc.enums.CarModeStatus;
import com.smartdevicelink.proxy.rpc.enums.CharacterSet;
import com.smartdevicelink.proxy.rpc.enums.CompassDirection;
@@ -335,6 +336,7 @@ public class TestValues {
public static final VehicleDataResultCode GENERAL_VEHICLEDATARESULTCODE = VehicleDataResultCode.IGNORED;
public static final ComponentVolumeStatus GENERAL_COMPONENTVOLUMESTATUS = ComponentVolumeStatus.LOW;
public static final PresetBankCapabilities GENERAL_PRESETBANKCAPABILITIES = new PresetBankCapabilities();
+ public static final CapacityUnit GENERAL_CAPACITYUNIT = CapacityUnit.KILOGRAMS;
public static final VehicleDataEventStatus GENERAL_VEHCILEDATAEVENTSTATUS = VehicleDataEventStatus.YES;
public static final VehicleDataEventStatus GENERAL_VEHICLEDATAEVENTSTATUS = VehicleDataEventStatus.YES;
public static final TouchEventCapabilities GENERAL_TOUCHEVENTCAPABILITIES = new TouchEventCapabilities();
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 6de391c41..4fa61368f 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
@@ -2321,7 +2321,23 @@ public class Validator{
if (item1.get(i).getType() != item2.get(i).getType()) {
return false;
}
- if (item1.get(i).getRange() != item2.get(i).getRange()) {
+ if (!item1.get(i).getRange().equals(item2.get(i).getRange())) {
+ return false;
+ }
+
+ if (!item1.get(i).getCapacity().equals(item2.get(i).getCapacity())) {
+ return false;
+ }
+
+ if (!item1.get(i).getCapacityUnit().equals(item2.get(i).getCapacityUnit())) {
+ return false;
+ }
+
+ if (!item1.get(i).getLevel().equals(item2.get(i).getLevel())) {
+ return false;
+ }
+
+ if (!item1.get(i).getLevelState().equals(item2.get(i).getLevelState())) {
return false;
}
}
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 542cf28c3..c314c7f9b 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
@@ -20,6 +20,7 @@ import com.smartdevicelink.proxy.rpc.TireStatus;
import com.smartdevicelink.proxy.rpc.WindowState;
import com.smartdevicelink.proxy.rpc.WindowStatus;
import com.smartdevicelink.proxy.rpc.enums.AmbientLightStatus;
+import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
import com.smartdevicelink.proxy.rpc.enums.CarModeStatus;
import com.smartdevicelink.proxy.rpc.enums.CompassDirection;
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
@@ -197,6 +198,10 @@ public class VehicleDataHelper{
// fuel range
public static final FuelType FUEL_RANGE_TYPE = FuelType.GASOLINE;
public static final Float FUEL_RANGE_RANGE = TestValues.GENERAL_FLOAT;
+ public static final Float FUEL_RANGE_CAPACITY = TestValues.GENERAL_FLOAT;
+ public static final CapacityUnit FUEL_RANGE_CAPACITY_UNIT = TestValues.GENERAL_CAPACITYUNIT;
+ public static final Float FUEL_RANGE_LEVEL = TestValues.GENERAL_FLOAT;
+ public static final ComponentVolumeStatus FUEL_RANGE_LEVEL_STATE = TestValues.GENERAL_COMPONENTVOLUMESTATUS;
// Gear status
public static final GearStatus GEAR_STATUS = new GearStatus();
@@ -336,6 +341,10 @@ public class VehicleDataHelper{
// FUEL_RANGE and FUEL_RANGE_LIST set up
FUEL_RANGE.setType(FUEL_RANGE_TYPE);
FUEL_RANGE.setRange(FUEL_RANGE_RANGE);
+ FUEL_RANGE.setCapacity(FUEL_RANGE_CAPACITY);
+ FUEL_RANGE.setCapacityUnit(FUEL_RANGE_CAPACITY_UNIT);
+ FUEL_RANGE.setLevel(FUEL_RANGE_LEVEL);
+ FUEL_RANGE.setLevelState(FUEL_RANGE_LEVEL_STATE);
FUEL_RANGE_LIST.add(FUEL_RANGE);
//WINDOW_STATUS and WINDOW_STATUS_LIST set up
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/FuelRangeTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/FuelRangeTests.java
index f8bb07caf..6e23edc7a 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/FuelRangeTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/FuelRangeTests.java
@@ -1,6 +1,8 @@
package com.smartdevicelink.test.rpc.datatypes;
import com.smartdevicelink.proxy.rpc.FuelRange;
+import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
+import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
import com.smartdevicelink.proxy.rpc.enums.FuelType;
import com.smartdevicelink.test.JsonUtils;
import com.smartdevicelink.test.TestValues;
@@ -26,6 +28,10 @@ public class FuelRangeTests extends TestCase{
msg.setType(TestValues.GENERAL_FUELTYPE);
msg.setRange(TestValues.GENERAL_FLOAT);
+ msg.setLevel(TestValues.GENERAL_FLOAT);
+ msg.setLevelState(TestValues.GENERAL_COMPONENTVOLUMESTATUS);
+ msg.setCapacity(TestValues.GENERAL_FLOAT);
+ msg.setCapacityUnit(TestValues.GENERAL_CAPACITYUNIT);
}
/**
@@ -35,10 +41,18 @@ public class FuelRangeTests extends TestCase{
// Test Values
FuelType fuelType = msg.getType();
float range = msg.getRange();
-
+ float level = msg.getLevel();
+ ComponentVolumeStatus levelState = msg.getLevelState();
+ CapacityUnit capacityUnit = msg.getCapacityUnit();
+ float capacity = msg.getCapacity();
+
// Valid Tests
assertEquals(TestValues.MATCH, TestValues.GENERAL_FLOAT, range);
assertEquals(TestValues.MATCH, TestValues.GENERAL_FUELTYPE, fuelType);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_FLOAT, level);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_COMPONENTVOLUMESTATUS, levelState);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_CAPACITYUNIT, capacityUnit);
+ assertEquals(TestValues.MATCH, TestValues.GENERAL_FLOAT, capacity);
// Invalid/Null Tests
FuelRange msg = new FuelRange();
@@ -46,6 +60,10 @@ public class FuelRangeTests extends TestCase{
assertNull(TestValues.NULL, msg.getType());
assertNull(TestValues.NULL, msg.getRange());
+ assertNull(TestValues.NULL, msg.getLevel());
+ assertNull(TestValues.NULL, msg.getLevelState());
+ assertNull(TestValues.NULL, msg.getCapacityUnit());
+ assertNull(TestValues.NULL, msg.getCapacity());
}
public void testJson(){
@@ -54,6 +72,10 @@ public class FuelRangeTests extends TestCase{
try{
reference.put(FuelRange.KEY_TYPE, TestValues.GENERAL_FUELTYPE);
reference.put(FuelRange.KEY_RANGE, (Float) TestValues.GENERAL_FLOAT);
+ reference.put(FuelRange.KEY_LEVEL, TestValues.GENERAL_FLOAT);
+ reference.put(FuelRange.KEY_LEVEL_STATE, TestValues.GENERAL_COMPONENTVOLUMESTATUS);
+ reference.put(FuelRange.KEY_CAPACITY, TestValues.GENERAL_FLOAT);
+ reference.put(FuelRange.KEY_CAPACITY_UNIT, TestValues.GENERAL_CAPACITYUNIT);
JSONObject underTest = msg.serializeJSON();
assertEquals(TestValues.MATCH, reference.length(), underTest.length());
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/CapacityUnitTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/CapacityUnitTests.java
new file mode 100644
index 000000000..4da32bebf
--- /dev/null
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/CapacityUnitTests.java
@@ -0,0 +1,71 @@
+package com.smartdevicelink.test.rpc.enums;
+
+import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
+
+import junit.framework.TestCase;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class CapacityUnitTests extends TestCase {
+
+ /**
+ * Verifies that the enum values are not null upon valid assignment.
+ */
+ public void testValidEnums () {
+ String example = "LITERS";
+ CapacityUnit enumLiters = CapacityUnit.valueForString(example);
+ example = "KILOWATTHOURS";
+ CapacityUnit enumKWH = CapacityUnit.valueForString(example);
+ example = "KILOGRAMS";
+ CapacityUnit enumKilograms = CapacityUnit.valueForString(example);
+
+ assertNotNull("LITERS returned null", enumLiters);
+ assertNotNull("KILOWATTHOURS returned null", enumKWH);
+ assertNotNull("KILOGRAMS returned null", enumKilograms);
+ }
+
+ /**
+ * Verifies that an invalid assignment is null.
+ */
+ public void testInvalidEnum () {
+ String example = "lONg";
+ try {
+ CapacityUnit temp = CapacityUnit.valueForString(example);
+ assertNull("Result of valueForString should be null.", temp);
+ }
+ catch (IllegalArgumentException exception) {
+ fail("Invalid enum throws IllegalArgumentException.");
+ }
+ }
+
+ /**
+ * Verifies that a null assignment is invalid.
+ */
+ public void testNullEnum () {
+ String example = null;
+ try {
+ CapacityUnit temp = CapacityUnit.valueForString(example);
+ assertNull("Result of valueForString should be null.", temp);
+ }
+ catch (NullPointerException exception) {
+ fail("Null string throws NullPointerException.");
+ }
+ }
+
+ /**
+ * Verifies the possible enum values of ButtonPressMode.
+ */
+ public void testListEnum() {
+ List<CapacityUnit> enumValueList = Arrays.asList(CapacityUnit.values());
+
+ List<CapacityUnit> enumTestList = new ArrayList<CapacityUnit>();
+ enumTestList.add(CapacityUnit.KILOGRAMS);
+ enumTestList.add(CapacityUnit.KILOWATTHOURS);
+ enumTestList.add(CapacityUnit.LITERS);
+
+ assertTrue("Enum value list does not match enum class list",
+ enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
+ }
+}
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 d333d3b5a..00718929c 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
@@ -370,6 +370,10 @@ public class OnVehicleDataTests extends BaseRpcTests{
// FUEL_RANGE
fuelRangeObj.put(FuelRange.KEY_TYPE, VehicleDataHelper.FUEL_RANGE_TYPE);
fuelRangeObj.put(FuelRange.KEY_RANGE, VehicleDataHelper.FUEL_RANGE_RANGE);
+ fuelRangeObj.put(FuelRange.KEY_CAPACITY, VehicleDataHelper.FUEL_RANGE_CAPACITY);
+ fuelRangeObj.put(FuelRange.KEY_CAPACITY_UNIT, VehicleDataHelper.FUEL_RANGE_CAPACITY_UNIT);
+ fuelRangeObj.put(FuelRange.KEY_LEVEL, VehicleDataHelper.FUEL_RANGE_LEVEL);
+ fuelRangeObj.put(FuelRange.KEY_LEVEL_STATE, VehicleDataHelper.FUEL_RANGE_LEVEL_STATE);
fuelRangeArrayObj.put(fuelRangeObj);
// WINDOW_STATUS
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 6ebc03f80..896694f53 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
@@ -255,6 +255,10 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
// FUEL_RANGE
fuelRangeObj.put(FuelRange.KEY_TYPE, VehicleDataHelper.FUEL_RANGE_TYPE);
fuelRangeObj.put(FuelRange.KEY_RANGE, VehicleDataHelper.FUEL_RANGE_RANGE);
+ fuelRangeObj.put(FuelRange.KEY_CAPACITY, VehicleDataHelper.FUEL_RANGE_CAPACITY);
+ fuelRangeObj.put(FuelRange.KEY_CAPACITY_UNIT, VehicleDataHelper.FUEL_RANGE_CAPACITY_UNIT);
+ fuelRangeObj.put(FuelRange.KEY_LEVEL, VehicleDataHelper.FUEL_RANGE_LEVEL);
+ fuelRangeObj.put(FuelRange.KEY_LEVEL_STATE, VehicleDataHelper.FUEL_RANGE_LEVEL_STATE);
fuelRangeArrayObj.put(fuelRangeObj);
//GEAR_STATUS
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java
index 1457a7459..334f6eb4e 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/FuelRange.java
@@ -32,14 +32,84 @@
package com.smartdevicelink.proxy.rpc;
import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.CapacityUnit;
+import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
import com.smartdevicelink.proxy.rpc.enums.FuelType;
import com.smartdevicelink.util.SdlDataTypeConverter;
import java.util.Hashtable;
-public class FuelRange extends RPCStruct{
+/**
+ *
+ * <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>type</td>
+ * <td>FuelType</td>
+ * <td></td>
+ * <td>N</td>
+ * <td></td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>range</td>
+ * <td>Float</td>
+ * <td>The estimate range in KM the vehicle can travel based on fuel level and consumption.</td>
+ * <td>N</td>
+ * <td>{"num_min_value": 0.0, "num_max_value": 10000.0}</td>
+ * <td></td>
+ * </tr>
+ * <tr>
+ * <td>level</td>
+ * <td>Float</td>
+ * <td>The relative remaining capacity of this fuel type (percentage).</td>
+ * <td>N</td>
+ * <td>{"num_min_value": -6.0, "num_max_value": 1000000.0}</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>levelState</td>
+ * <td>ComponentVolumeStatus</td>
+ * <td>The fuel level state</td>
+ * <td>N</td>
+ * <td></td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>capacity</td>
+ * <td>Float</td>
+ * <td>The absolute capacity of this fuel type.</td>
+ * <td>N</td>
+ * <td>{"num_min_value": 0.0, "num_max_value": 1000000.0}</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>capacityUnit</td>
+ * <td>CapacityUnit</td>
+ * <td>The unit of the capacity of this fuel type such as liters for gasoline or kWh forbatteries.</td>
+ * <td>N</td>
+ * <td></td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * </table>
+ * @since SmartDeviceLink 5.0.0
+ */
+public class FuelRange extends RPCStruct {
public static final String KEY_TYPE = "type";
public static final String KEY_RANGE = "range";
+ public static final String KEY_LEVEL = "level";
+ public static final String KEY_LEVEL_STATE = "levelState";
+ public static final String KEY_CAPACITY = "capacity";
+ public static final String KEY_CAPACITY_UNIT = "capacityUnit";
/**
* Constructs a new FuelRange object
@@ -96,4 +166,92 @@ public class FuelRange extends RPCStruct{
public void setRange(Float range) {
setValue(KEY_RANGE, range);
}
+
+ /**
+ * Sets the level.
+ *
+ * @param level The relative remaining capacity of this fuel type (percentage).
+ * {"num_min_value": -6.0, "num_max_value": 1000000.0}
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setLevel(Float level) {
+ setValue(KEY_LEVEL, level);
+ }
+
+ /**
+ * Gets the level.
+ *
+ * @return Float The relative remaining capacity of this fuel type (percentage).
+ * {"num_min_value": -6.0, "num_max_value": 1000000.0}
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Float getLevel() {
+ Object object = getValue(KEY_LEVEL);
+ return SdlDataTypeConverter.objectToFloat(object);
+ }
+
+ /**
+ * Sets the levelState.
+ *
+ * @param levelState The fuel level state
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setLevelState(ComponentVolumeStatus levelState) {
+ setValue(KEY_LEVEL_STATE, levelState);
+ }
+
+ /**
+ * Gets the levelState.
+ *
+ * @return ComponentVolumeStatus The fuel level state
+ * @since SmartDeviceLink 7.0.0
+ */
+ public ComponentVolumeStatus getLevelState() {
+ return (ComponentVolumeStatus) getObject(ComponentVolumeStatus.class, KEY_LEVEL_STATE);
+ }
+
+ /**
+ * Sets the capacity.
+ *
+ * @param capacity The absolute capacity of this fuel type.
+ * {"num_min_value": 0.0, "num_max_value": 1000000.0}
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setCapacity(Float capacity) {
+ setValue(KEY_CAPACITY, capacity);
+ }
+
+ /**
+ * Gets the capacity.
+ *
+ * @return Float The absolute capacity of this fuel type.
+ * {"num_min_value": 0.0, "num_max_value": 1000000.0}
+ * @since SmartDeviceLink 7.0.0
+ */
+ public Float getCapacity() {
+ Object object = getValue(KEY_CAPACITY);
+ return SdlDataTypeConverter.objectToFloat(object);
+ }
+
+ /**
+ * Sets the capacityUnit.
+ *
+ * @param capacityUnit The unit of the capacity of this fuel type such as liters for gasoline or kWh for
+ * batteries.
+ * @since SmartDeviceLink 7.0.0
+ */
+ public void setCapacityUnit(CapacityUnit capacityUnit) {
+ setValue(KEY_CAPACITY_UNIT, capacityUnit);
+ }
+
+ /**
+ * Gets the capacityUnit.
+ *
+ * @return CapacityUnit The unit of the capacity of this fuel type such as liters for gasoline or kWh for
+ * batteries.
+ * @since SmartDeviceLink 7.0.0
+ */
+ public CapacityUnit getCapacityUnit() {
+ return (CapacityUnit) getObject(CapacityUnit.class, KEY_CAPACITY_UNIT);
+ }
}
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 4699de61f..b08a18e5f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
@@ -76,18 +76,26 @@ import java.util.Hashtable;
* <tr>
* <td>fuelLevel</td>
* <td>Boolean</td>
- * <td>The fuel level in the tank (percentage)</td>
+ * <td>The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec7.0, please see fuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0</td>
+ * <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>fuelLevel_State</td>
* <td>Boolean</td>
- * <td>The fuel level state</td>
+ * <td>The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please seefuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>fuelRange</td>
+ * <td>Boolean</td>
+ * <td>The fuel type, estimated range in KM, fuel level/capacity and fuel level state for thevehicle. See struct FuelRange for details.</td>
+ * <td>N</td>
+ * <td>Subscribable</td>
+ * <td>SmartDeviceLink 5.0.0</td>
* </tr>
* <tr>
* <td>instantFuelConsumption</td>
@@ -281,7 +289,6 @@ public class GetVehicleData extends RPCRequest {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
- public static final String KEY_FUEL_LEVEL = "fuelLevel";
public static final String KEY_VIN = "vin";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -289,7 +296,6 @@ public class GetVehicleData extends RPCRequest {
public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
public static final String KEY_ODOMETER = "odometer";
public static final String KEY_GPS = "gps";
- public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_BELT_STATUS = "beltStatus";
public static final String KEY_BODY_INFORMATION = "bodyInformation";
@@ -311,6 +317,17 @@ public class GetVehicleData extends RPCRequest {
public static final String KEY_WINDOW_STATUS = "windowStatus";
public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
public static final String KEY_GEAR_STATUS = "gearStatus";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL = "fuelLevel";
+
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
/**
* Constructs a new GetVehicleData object
@@ -350,15 +367,35 @@ public class GetVehicleData extends RPCRequest {
public Boolean getRpm() {
return getBoolean(KEY_RPM);
}
+
+ /**
+ * Sets the fuelLevel.
+ *
+ * @param fuelLevel The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
+ */
+ @Deprecated
public void setFuelLevel(Boolean fuelLevel) {
setParameters(KEY_FUEL_LEVEL, fuelLevel);
}
+
+ /**
+ * Gets the fuelLevel.
+ *
+ * @return Boolean The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
+ */
+ @Deprecated
public Boolean getFuelLevel() {
return getBoolean(KEY_FUEL_LEVEL);
}
+
+ @Deprecated
public void setFuelLevelState(Boolean fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
+
+ @Deprecated
public Boolean getFuelLevelState() {
return getBoolean(KEY_FUEL_LEVEL_STATE);
}
@@ -368,6 +405,15 @@ public class GetVehicleData extends RPCRequest {
public Boolean getInstantFuelConsumption() {
return getBoolean(KEY_INSTANT_FUEL_CONSUMPTION);
}
+
+ public void setFuelRange(Boolean fuelRange) {
+ setParameters(KEY_FUEL_RANGE, fuelRange);
+ }
+
+ public Boolean getFuelRange() {
+ return getBoolean(KEY_FUEL_RANGE);
+ }
+
public void setExternalTemperature(Boolean externalTemperature) {
setParameters(KEY_EXTERNAL_TEMPERATURE, externalTemperature);
}
@@ -510,25 +556,6 @@ public class GetVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, gets fuelRange data
- * @param fuelRange
- * a boolean value
- */
- public void setFuelRange(Boolean fuelRange) {
- setParameters(KEY_FUEL_RANGE, fuelRange);
- }
-
- /**
- * Gets a boolean value.
- *
- * @return Boolean -a Boolean value.
- *
- */
- public Boolean getFuelRange() {
- return getBoolean(KEY_FUEL_RANGE);
- }
-
- /**
* Sets a boolean value. If true, subscribes turnSignal data
* @param turnSignal a boolean value
*/
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 1226baa45..6c619c010 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
@@ -54,36 +54,44 @@ import java.util.List;
* @since SmartDeviceLink 2.0
*/
public class GetVehicleDataResponse extends RPCResponse {
+ public static final String KEY_GPS = "gps";
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
- public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
+ /**
+ * @deprecated
+ */
+ @Deprecated
public static final String KEY_FUEL_LEVEL = "fuelLevel";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ 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";
+ public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
+ public static final String KEY_TURN_SIGNAL = "turnSignal";
public static final String KEY_VIN = "vin";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
- public static final String KEY_ENGINE_TORQUE = "engineTorque";
- public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
public static final String KEY_ODOMETER = "odometer";
- public static final String KEY_GPS = "gps";
- public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
- public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_BELT_STATUS = "beltStatus";
public static final String KEY_BODY_INFORMATION = "bodyInformation";
public static final String KEY_DEVICE_STATUS = "deviceStatus";
public static final String KEY_DRIVER_BRAKING = "driverBraking";
public static final String KEY_WIPER_STATUS = "wiperStatus";
public static final String KEY_HEAD_LAMP_STATUS = "headLampStatus";
+ public static final String KEY_ENGINE_TORQUE = "engineTorque";
public static final String KEY_ACC_PEDAL_POSITION = "accPedalPosition";
public static final String KEY_STEERING_WHEEL_ANGLE = "steeringWheelAngle";
+ public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
+ public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
+ public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
public static final String KEY_E_CALL_INFO = "eCallInfo";
public static final String KEY_AIRBAG_STATUS = "airbagStatus";
public static final String KEY_EMERGENCY_EVENT = "emergencyEvent";
public static final String KEY_CLUSTER_MODE_STATUS = "clusterModeStatus";
public static final String KEY_MY_KEY = "myKey";
- public static final String KEY_FUEL_RANGE = "fuelRange";
- public static final String KEY_TURN_SIGNAL = "turnSignal";
- public static final String KEY_ELECTRONIC_PARK_BRAKE_STATUS = "electronicParkBrakeStatus";
- public static final String KEY_CLOUD_APP_VEHICLE_ID = "cloudAppVehicleID";
public static final String KEY_WINDOW_STATUS = "windowStatus";
public static final String KEY_GEAR_STATUS = "gearStatus";
public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
@@ -128,19 +136,49 @@ public class GetVehicleDataResponse extends RPCResponse {
public Integer getRpm() {
return getInteger(KEY_RPM);
}
- public void setFuelLevel(Double fuelLevel) {
- setParameters(KEY_FUEL_LEVEL, fuelLevel);
- }
- public Double getFuelLevel() {
- Object object = getParameters(KEY_FUEL_LEVEL);
- return SdlDataTypeConverter.objectToDouble(object);
- }
+
+ /**
+ * Sets Fuel Level State
+ * @param fuelLevelState a ComponentVolumeStatus related to FuelLevel State
+ */
+ @Deprecated
public void setFuelLevelState(ComponentVolumeStatus fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
+ /**
+ * Gets Fuel Level State
+ * @return a ComponentVolumeStatus related to FuelLevel State
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
public ComponentVolumeStatus getFuelLevelState() {
return (ComponentVolumeStatus) getObject(ComponentVolumeStatus.class, KEY_FUEL_LEVEL_STATE);
}
+
+ /**
+ * Sets the fuelLevel.
+ *
+ * @param fuelLevel The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
+ * @since SmartDeviceLink 7.0.0
+ */
+ @Deprecated
+ public void setFuelLevel(Double fuelLevel) {
+ setParameters(KEY_FUEL_LEVEL, fuelLevel);
+ }
+
+ /**
+ * Gets the fuelLevel.
+ *
+ * @return Double The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
+ * @since SmartDeviceLink 7.0.0
+ */
+ @Deprecated
+ public Double getFuelLevel() {
+ Object object = getParameters(KEY_FUEL_LEVEL);
+ return SdlDataTypeConverter.objectToDouble(object);
+ }
public void setInstantFuelConsumption(Double instantFuelConsumption) {
setParameters(KEY_INSTANT_FUEL_CONSUMPTION, instantFuelConsumption);
}
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 74fcda171..a54aebdd5 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
@@ -93,19 +93,27 @@ import java.util.List;
* </tr>
* <tr>
* <td>fuelLevel</td>
- * <td>Float</td>
- * <td>The fuel level in the tank (percentage)</td>
+ * <td>Boolean</td>
+ * <td>The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec7.0, please see fuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0</td>
+ * <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>fuelLevel_State</td>
- * <td>ComponentVolumeStatus</td>
- * <td>The fuel level state (Ok/Low)</td>
+ * <td>Boolean</td>
+ * <td>The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please seefuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0</td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>fuelRange</td>
+ * <td>Boolean</td>
+ * <td>The fuel type, estimated range in KM, fuel level/capacity and fuel level state for thevehicle. See struct FuelRange for details.</td>
+ * <td>N</td>
+ * <td>{"array_min_size": 0, "array_max_size": 100}</td>
+ * <td>SmartDeviceLink 5.0.0</td>
* </tr>
* <tr>
* <td>instantFuelConsumption</td>
@@ -324,7 +332,6 @@ public class OnVehicleData extends RPCNotification {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
- public static final String KEY_FUEL_LEVEL = "fuelLevel";
public static final String KEY_VIN = "vin";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -332,7 +339,6 @@ public class OnVehicleData extends RPCNotification {
public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
public static final String KEY_ODOMETER = "odometer";
public static final String KEY_GPS = "gps";
- public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_BELT_STATUS = "beltStatus";
public static final String KEY_BODY_INFORMATION = "bodyInformation";
@@ -354,6 +360,16 @@ public class OnVehicleData extends RPCNotification {
public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
public static final String KEY_WINDOW_STATUS = "windowStatus";
public static final String KEY_GEAR_STATUS = "gearStatus";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL = "fuelLevel";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public OnVehicleData() {
@@ -382,16 +398,34 @@ public class OnVehicleData extends RPCNotification {
public Integer getRpm() {
return getInteger(KEY_RPM);
}
+
+ /**
+ * Sets the fuelLevel.
+ *
+ * @param fuelLevel The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
+ */
+ @Deprecated
public void setFuelLevel(Double fuelLevel) {
setParameters(KEY_FUEL_LEVEL, fuelLevel);
}
+
+ /**
+ * Gets the fuelLevel.
+ *
+ * @return Float The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
+ */
+ @Deprecated
public Double getFuelLevel() {
Object object = getParameters(KEY_FUEL_LEVEL);
return SdlDataTypeConverter.objectToDouble(object);
}
+ @Deprecated
public void setFuelLevelState(ComponentVolumeStatus fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
+ @Deprecated
public ComponentVolumeStatus getFuelLevelState() {
return (ComponentVolumeStatus) getObject(ComponentVolumeStatus.class, KEY_FUEL_LEVEL_STATE);
}
@@ -561,17 +595,25 @@ public class OnVehicleData extends RPCNotification {
}
/**
- * Sets Fuel Range List. Fuel Range - The estimate range in KM the vehicle can travel based on fuel level and consumption.
- * @param fuelRange
+ * Sets the fuelRange.
+ *
+ * @param fuelRange The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * {"array_min_size": 0, "array_max_size": 100}
+ * @since SmartDeviceLink 5.0.0
*/
public void setFuelRange(List<FuelRange> fuelRange) {
setParameters(KEY_FUEL_RANGE, fuelRange);
}
/**
- * Gets Fuel Range List.
- * @return List<FuelRange>
- * Fuel Range - The estimate range in KM the vehicle can travel based on fuel level and consumption.
+ * Gets the fuelRange.
+ *
+ * @return List<FuelRange> The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * {"array_min_size": 0, "array_max_size": 100}
+ * @since SmartDeviceLink 5.0.0
+
*/
@SuppressWarnings("unchecked")
public List<FuelRange> getFuelRange() {
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 9b67c145f..89e30c6df 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
@@ -84,18 +84,26 @@ import java.util.Hashtable;
* <tr>
* <td>fuelLevel</td>
* <td>Boolean</td>
- * <td>The fuel level in the tank (percentage)</td>
+ * <td>The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec7.0, please see fuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
+ * <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>fuelLevel_State</td>
* <td>Boolean</td>
- * <td>The fuel level state</td>
+ * <td>The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please seefuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>fuelRange</td>
+ * <td>Boolean</td>
+ * <td>The fuel type, estimated range in KM, fuel level/capacity and fuel level state for thevehicle. See struct FuelRange for details.</td>
+ * <td>N</td>
+ * <td>Subscribable</td>
+ * <td>SmartDeviceLink 5.0.0</td>
* </tr>
* <tr>
* <td>instantFuelConsumption</td>
@@ -315,14 +323,12 @@ import java.util.Hashtable;
public class SubscribeVehicleData extends RPCRequest {
public static final String KEY_RPM = "rpm";
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
- public static final String KEY_FUEL_LEVEL = "fuelLevel";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
public static final String KEY_ENGINE_TORQUE = "engineTorque";
public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
public static final String KEY_ODOMETER = "odometer";
public static final String KEY_GPS = "gps";
- public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_BELT_STATUS = "beltStatus";
public static final String KEY_BODY_INFORMATION = "bodyInformation";
@@ -345,6 +351,16 @@ public class SubscribeVehicleData extends RPCRequest {
public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
public static final String KEY_WINDOW_STATUS = "windowStatus";
public static final String KEY_GEAR_STATUS = "gearStatus";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL = "fuelLevel";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
/**
* Constructs a new SubscribeVehicleData object
@@ -426,22 +442,23 @@ public class SubscribeVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, subscribes FuelLevel data
+ * Sets the fuelLevel.
*
- * @param fuelLevel
- * a boolean value
+ * @param fuelLevel The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
+ @Deprecated
public void setFuelLevel(Boolean fuelLevel) {
setParameters(KEY_FUEL_LEVEL, fuelLevel);
}
/**
- * Gets a boolean value. If true, means the FuelLevel data has been
- * subscribed.
+ * Gets the fuelLevel.
*
- * @return Boolean -a Boolean value. If true, means the FuelLevel data has
- * been subscribed.
+ * @return Float The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
+ @Deprecated
public Boolean getFuelLevel() {
return getBoolean(KEY_FUEL_LEVEL);
}
@@ -452,6 +469,7 @@ public class SubscribeVehicleData extends RPCRequest {
* @param fuelLevelState
* a boolean value
*/
+ @Deprecated
public void setFuelLevelState(Boolean fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
@@ -463,7 +481,8 @@ public class SubscribeVehicleData extends RPCRequest {
* @return Boolean -a Boolean value. If true, means the fuelLevelState data
* has been subscribed.
*/
- public Boolean getFuelLevelState() {
+ @Deprecated
+ public Boolean getFuelLevelState() {
return getBoolean(KEY_FUEL_LEVEL_STATE);
}
@@ -821,22 +840,22 @@ public class SubscribeVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, subscribes fuelRange data
+ * Sets the fuelRange.
*
- * @param fuelRange
- * a boolean value
+ * @param fuelRange The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
*/
public void setFuelRange(Boolean fuelRange) {
setParameters(KEY_FUEL_RANGE, fuelRange);
}
/**
- * Gets a boolean value. If true, means the Fuel Range data has been
- * subscribed.
- *
- * @return Boolean -a Boolean value. If true, means the Fuel Range data
- * has been subscribed.
+ * Gets the fuelRange.
*
+ * @return Boolean The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
*/
public Boolean getFuelRange() {
return getBoolean(KEY_FUEL_RANGE);
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 cb869336a..95609469f 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
@@ -47,7 +47,6 @@ import java.util.Hashtable;
public class SubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
- public static final String KEY_FUEL_LEVEL = "fuelLevel";
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -55,7 +54,6 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
public static final String KEY_ODOMETER = "odometer";
public static final String KEY_GPS = "gps";
- public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_BELT_STATUS = "beltStatus";
public static final String KEY_BODY_INFORMATION = "bodyInformation";
@@ -77,6 +75,16 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_GEAR_STATUS = "gearStatus";
public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
public static final String KEY_WINDOW_STATUS = "windowStatus";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL = "fuelLevel";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
/**
* Constructs a new SubscribeVehicleDataResponse object
@@ -151,17 +159,23 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_RPM);
}
/**
- * Sets Fuel Level
- * @param fuelLevel a VehicleDataResult related to Fuel Level
+ * Sets the fuelLevel.
+ *
+ * @param fuelLevel The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
+ @Deprecated
public void setFuelLevel(VehicleDataResult fuelLevel) {
setParameters(KEY_FUEL_LEVEL, fuelLevel);
}
/**
- * Gets Fuel Level
- * @return a VehicleDataResult related to FuelLevel
+ * Gets the fuelLevel.
+ *
+ * @return VehicleDataResult The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
@SuppressWarnings("unchecked")
+ @Deprecated
public VehicleDataResult getFuelLevel() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_FUEL_LEVEL);
}
@@ -169,6 +183,7 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
* Sets Fuel Level State
* @param fuelLevelState a VehicleDataResult related to FuelLevel State
*/
+ @Deprecated
public void setFuelLevelState(VehicleDataResult fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
@@ -176,6 +191,7 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
* Gets Fuel Level State
* @return a VehicleDataResult related to FuelLevel State
*/
+ @Deprecated
@SuppressWarnings("unchecked")
public VehicleDataResult getFuelLevelState() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_FUEL_LEVEL_STATE);
@@ -443,16 +459,22 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
}
/**
- * Sets Fuel Range
- * @param fuelRange a VehicleDataResult related to the fuel range
+ * Sets the fuelRange.
+ *
+ * @param fuelRange The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
*/
public void setFuelRange(VehicleDataResult fuelRange) {
setParameters(KEY_FUEL_RANGE, fuelRange);
}
/**
- * Gets Fuel Range
- * @return a VehicleDataResult related to the fuel range
+ * Gets the fuelRange.
+ *
+ * @return VehicleDataResult The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
*/
@SuppressWarnings("unchecked")
public VehicleDataResult getFuelRange() {
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 5a998a268..ea2822a35 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
@@ -79,18 +79,26 @@ import java.util.Hashtable;
* <tr>
* <td>fuelLevel</td>
* <td>Boolean</td>
- * <td>The fuel level in the tank (percentage)</td>
+ * <td>The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec7.0, please see fuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
+ * <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>fuelLevel_State</td>
* <td>Boolean</td>
- * <td>The fuel level state</td>
+ * <td>The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please seefuelRange.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>SmartDeviceLink 2.0 </td>
+ * <td>SmartDeviceLink 7.0.0</td>
+ * </tr>
+ * <tr>
+ * <td>fuelRange</td>
+ * <td>Boolean</td>
+ * <td>The fuel type, estimated range in KM, fuel level/capacity and fuel level state for thevehicle. See struct FuelRange for details.</td>
+ * <td>N</td>
+ * <td>Subscribable</td>
+ * <td>SmartDeviceLink 5.0.0</td>
* </tr>
* <tr>
* <td>instantFuelConsumption</td>
@@ -301,14 +309,12 @@ public class UnsubscribeVehicleData extends RPCRequest {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
- public static final String KEY_FUEL_LEVEL = "fuelLevel";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
public static final String KEY_ENGINE_TORQUE = "engineTorque";
public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
public static final String KEY_ODOMETER = "odometer";
public static final String KEY_GPS = "gps";
- public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_BELT_STATUS = "beltStatus";
public static final String KEY_BODY_INFORMATION = "bodyInformation";
@@ -330,6 +336,16 @@ public class UnsubscribeVehicleData extends RPCRequest {
public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
public static final String KEY_GEAR_STATUS = "gearStatus";
public static final String KEY_WINDOW_STATUS = "windowStatus";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL = "fuelLevel";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
/**
* Constructs a new UnsubscribeVehicleData object
@@ -411,43 +427,47 @@ public class UnsubscribeVehicleData extends RPCRequest {
}
/**
- * Sets a boolean value. If true, unsubscribes from FuelLevel data
+ * Sets the fuelLevel.
*
- * @param fuelLevel
- * a boolean value
+ * @param fuelLevel The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
+ @Deprecated
public void setFuelLevel(Boolean fuelLevel) {
setParameters(KEY_FUEL_LEVEL, fuelLevel);
}
/**
- * Gets a boolean value. If true, means the FuelLevel data has been
- * unsubscribed.
+ * Gets the fuelLevel.
*
- * @return Boolean -a Boolean value. If true, means the FuelLevel data has
- * been unsubscribed.
+ * @return Boolean The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
+ @Deprecated
public Boolean getFuelLevel() {
return getBoolean(KEY_FUEL_LEVEL);
}
- /**
- * Sets a boolean value. If true, unsubscribes from fuelLevelState data
- *
- * @param fuelLevelState
- * a boolean value
- */
+ /**
+ * Sets the fuelRange.
+ *
+ * @param fuelLevelState The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
+ */
+ @Deprecated
public void setFuelLevelState(Boolean fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
- /**
- * Gets a boolean value. If true, means the fuelLevel_State data has been
- * unsubscribed.
- *
- * @return Boolean -a Boolean value. If true, means the fuelLevelState data
- * has been unsubscribed.
- */
+ /**
+ * Gets the fuelRange.
+ *
+ * @return Boolean The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
+ */
+ @Deprecated
public Boolean getFuelLevelState() {
return getBoolean(KEY_FUEL_LEVEL_STATE);
}
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 37b1f0c51..68def6a87 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
@@ -47,7 +47,6 @@ import java.util.Hashtable;
public class UnsubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_SPEED = "speed";
public static final String KEY_RPM = "rpm";
- public static final String KEY_FUEL_LEVEL = "fuelLevel";
public static final String KEY_EXTERNAL_TEMPERATURE = "externalTemperature";
public static final String KEY_PRNDL = "prndl";
public static final String KEY_TIRE_PRESSURE = "tirePressure";
@@ -55,7 +54,6 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_ENGINE_OIL_LIFE = "engineOilLife";
public static final String KEY_ODOMETER = "odometer";
public static final String KEY_GPS = "gps";
- public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
public static final String KEY_INSTANT_FUEL_CONSUMPTION = "instantFuelConsumption";
public static final String KEY_BELT_STATUS = "beltStatus";
public static final String KEY_BODY_INFORMATION = "bodyInformation";
@@ -77,6 +75,16 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
public static final String KEY_HANDS_OFF_STEERING = "handsOffSteering";
public static final String KEY_WINDOW_STATUS = "windowStatus";
public static final String KEY_GEAR_STATUS = "gearStatus";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL = "fuelLevel";
+ /**
+ * @deprecated
+ */
+ @Deprecated
+ public static final String KEY_FUEL_LEVEL_STATE = "fuelLevel_State";
/**
* Constructs a new UnsubscribeVehicleDataResponse object
@@ -153,17 +161,23 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_RPM);
}
/**
- * Sets Fuel Level
- * @param fuelLevel a VehicleDataResult related to Fuel Level
+ * Sets the fuelLevel.
+ *
+ * @param fuelLevel The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
+ @Deprecated
public void setFuelLevel(VehicleDataResult fuelLevel) {
setParameters(KEY_FUEL_LEVEL, fuelLevel);
}
/**
- * Gets Fuel Level
- * @return a VehicleDataResult related to FuelLevel
+ * Gets the fuelLevel.
+ *
+ * @return VehicleDataResult The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec
+ * 7.0, please see fuelRange.
*/
@SuppressWarnings("unchecked")
+ @Deprecated
public VehicleDataResult getFuelLevel() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_FUEL_LEVEL);
}
@@ -171,6 +185,7 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
* Sets Fuel Level State
* @param fuelLevelState a VehicleDataResult related to FuelLevel State
*/
+ @Deprecated
public void setFuelLevelState(VehicleDataResult fuelLevelState) {
setParameters(KEY_FUEL_LEVEL_STATE, fuelLevelState);
}
@@ -178,6 +193,7 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
* Gets Fuel Level State
* @return a VehicleDataResult related to FuelLevel State
*/
+ @Deprecated
@SuppressWarnings("unchecked")
public VehicleDataResult getFuelLevelState() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_FUEL_LEVEL_STATE);
@@ -445,18 +461,23 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
}
/**
- * Sets Fuel Range
- * @param fuelRange a VehicleDataResult related to the fuel range
+ * Sets the fuelRange.
+ *
+ * @param fuelRange The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
*/
public void setFuelRange(VehicleDataResult fuelRange) {
setParameters(KEY_FUEL_RANGE, fuelRange);
}
/**
- * Gets Fuel Range
- * @return a VehicleDataResult related to the fuel range
+ * Gets the fuelRange.
+ *
+ * @return VehicleDataResult The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the
+ * vehicle. See struct FuelRange for details.
+ * @since SmartDeviceLink 5.0.0
*/
- @SuppressWarnings("unchecked")
public VehicleDataResult getFuelRange() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_FUEL_RANGE);
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/CapacityUnit.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/CapacityUnit.java
new file mode 100644
index 000000000..a8b3c4817
--- /dev/null
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/enums/CapacityUnit.java
@@ -0,0 +1,57 @@
+/*
+ * 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.enums;
+
+/**
+ * @since SmartDeviceLink 7.0.0
+ */
+public enum CapacityUnit {
+ LITERS,
+
+ KILOWATTHOURS,
+
+ KILOGRAMS;
+
+ /**
+ * Convert String to CapacityUnit
+ *
+ * @param value String
+ * @return CapacityUnit
+ */
+ public static CapacityUnit valueForString(String value) {
+ try{
+ return valueOf(value);
+ }catch(Exception e){
+ return null;
+ }
+ }
+}
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 7682e16f8..5a7155427 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
@@ -50,10 +50,12 @@ public enum VehicleDataType {
VEHICLEDATA_RPM,
/**
* Notifies FUELLEVELData may be subscribed
+ * until Smart Device Link 7.0
*/
VEHICLEDATA_FUELLEVEL,
/**
* Notifies FUELLEVEL_STATEData may be subscribed
+ * until Smart Device Link 7.0
*/
VEHICLEDATA_FUELLEVEL_STATE,
/**