summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBretty <brettywhite@users.noreply.github.com>2018-07-10 15:09:33 -0400
committerJoey Grover <joeygrover@gmail.com>2018-07-10 15:09:33 -0400
commit6a9cf3530fceb52fc98a12e7ef30b366067c6648 (patch)
treea4f16d5eb793e79014142900918f0b80778b6119
parent48cbeb2fe0cdc0df9b3695ad234955b6c30fba00 (diff)
downloadsdl_android-6a9cf3530fceb52fc98a12e7ef30b366067c6648.tar.gz
Feature/issue 650 turn signals (#798)
* added turn signal enum and tests * added vehicledatatype addition and tests * subscribevehicledata and tests * unsubscribe edits and tests * turn signal - get vehicle data and tests * fix spacing issues to maintain cleanliness * turn signal - on notification and tests * fix space per review * fix javadoc spacing * one more javadoc fix * manually solve turnsignal merge conflicts * add comma and new line per review comment
-rw-r--r--sdl_android/src/androidTest/assets/json/GetVehicleData.json4
-rw-r--r--sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json7
-rw-r--r--sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json7
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java4
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TurnSignalTests.java79
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java6
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java8
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java7
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java7
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java7
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java9
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java11
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java13
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java20
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java19
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java19
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java20
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java18
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java21
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java18
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/TurnSignal.java35
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java7
22 files changed, 332 insertions, 14 deletions
diff --git a/sdl_android/src/androidTest/assets/json/GetVehicleData.json b/sdl_android/src/androidTest/assets/json/GetVehicleData.json
index bfb6107a5..264329c6a 100644
--- a/sdl_android/src/androidTest/assets/json/GetVehicleData.json
+++ b/sdl_android/src/androidTest/assets/json/GetVehicleData.json
@@ -29,7 +29,8 @@
"emergencyEvent":false,
"clusterModeStatus":true,
"myKey":true,
- "fuelRange":true
+ "fuelRange":true,
+ "turnSignal":true
}
},
"response":{
@@ -75,6 +76,7 @@
"speed":30.5
},
"fuelLevel_State":"ALERT",
+ "turnSignal":"OFF",
"instantFuelConsumption":2.76,
"beltStatus":{
"driverBeltDeployed":"NO",
diff --git a/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json b/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
index a2b0cfeea..2639cb7ad 100644
--- a/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
+++ b/sdl_android/src/androidTest/assets/json/SubscribeVehicleData.json
@@ -28,7 +28,8 @@
"emergencyEvent":false,
"clusterModeStatus":true,
"myKey":true,
- "fuelRange":true
+ "fuelRange":true,
+ "turnSignal":true
}
},
"response":{
@@ -138,6 +139,10 @@
"fuelRange":{
"dataType":"VEHICLEDATA_FUELRANGE",
"resultCode":"SUCCESS"
+ },
+ "turnSignal":{
+ "dataType":"VEHICLEDATA_TURNSIGNAL",
+ "resultCode":"IGNORED"
}
}
}
diff --git a/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json b/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
index 276e67251..3303b7b56 100644
--- a/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
+++ b/sdl_android/src/androidTest/assets/json/UnsubscribeVehicleData.json
@@ -28,7 +28,8 @@
"emergencyEvent":false,
"clusterModeStatus":true,
"myKey":true,
- "fuelRange":true
+ "fuelRange":true,
+ "turnSignal":true
}
},
"response":{
@@ -138,6 +139,10 @@
"fuelRange":{
"dataType":"VEHICLEDATA_FUELRANGE",
"resultCode":"SUCCESS"
+ },
+ "turnSignal":{
+ "dataType":"VEHICLEDATA_TURNSIGNAL",
+ "resultCode":"IGNORED"
}
}
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
index 535a18ced..8cd8d5296 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/VehicleDataHelper.java
@@ -31,6 +31,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.TurnSignal;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataNotificationStatus;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataStatus;
@@ -74,6 +75,7 @@ public class VehicleDataHelper{
public static final MyKey MY_KEY = new MyKey();
public static final FuelRange FUEL_RANGE = new FuelRange();
public static final List<FuelRange> FUEL_RANGE_LIST = new ArrayList<FuelRange>(1);
+ public static final TurnSignal TURN_SIGNAL = TurnSignal.OFF;
//other variables inside some of the above objects
// tire status
@@ -349,6 +351,7 @@ public class VehicleDataHelper{
VEHICLE_DATA.setClusterModeStatus(CLUSTER_MODE_STATUS);
VEHICLE_DATA.setMyKey(MY_KEY);
VEHICLE_DATA.setFuelRange(FUEL_RANGE_LIST);
+ VEHICLE_DATA.setTurnSignal(TURN_SIGNAL);
//set up the GetVehicleDataResponse object
VEHICLE_DATA_RESPONSE.setSpeed(SPEED);
@@ -378,6 +381,7 @@ public class VehicleDataHelper{
VEHICLE_DATA_RESPONSE.setClusterModeStatus(CLUSTER_MODE_STATUS);
VEHICLE_DATA_RESPONSE.setMyKey(MY_KEY);
VEHICLE_DATA_RESPONSE.setFuelRange(FUEL_RANGE_LIST);
+ VEHICLE_DATA_RESPONSE.setTurnSignal(TURN_SIGNAL);
}
private VehicleDataHelper(){}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TurnSignalTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TurnSignalTests.java
new file mode 100644
index 000000000..a758d683e
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/TurnSignalTests.java
@@ -0,0 +1,79 @@
+package com.smartdevicelink.test.rpc.enums;
+
+import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
+
+import junit.framework.TestCase;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * This is a unit test class for the SmartDeviceLink library project class :
+ * {@link com.smartdevicelink.proxy.rpc.enums.TurnSignal}
+ */
+public class TurnSignalTests extends TestCase {
+
+ /**
+ * Verifies that the enum values are not null upon valid assignment.
+ */
+ public void testValidEnums () {
+ String example = "OFF";
+ TurnSignal off = TurnSignal.valueForString(example);
+ example = "LEFT";
+ TurnSignal left = TurnSignal.valueForString(example);
+ example = "RIGHT";
+ TurnSignal right = TurnSignal.valueForString(example);
+ example = "BOTH";
+ TurnSignal both = TurnSignal.valueForString(example);
+
+ assertNotNull("OFF returned null", off);
+ assertNotNull("LEFT returned null", left);
+ assertNotNull("RIGHT returned null", right);
+ assertNotNull("BOTH returned null", both);
+ }
+
+ /**
+ * Verifies that an invalid assignment is null.
+ */
+ public void testInvalidEnum () {
+ String example = "IsHoUldBeNulL";
+ try {
+ TurnSignal temp = TurnSignal.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 {
+ TurnSignal temp = TurnSignal.valueForString(example);
+ assertNull("Result of valueForString should be null.", temp);
+ }
+ catch (NullPointerException exception) {
+ fail("Null string throws NullPointerException.");
+ }
+ }
+
+ /**
+ * Verifies the possible enum values of TurnSignal.
+ */
+ public void testListEnum() {
+ List<TurnSignal> enumValueList = Arrays.asList(TurnSignal.values());
+
+ List<TurnSignal> enumTestList = new ArrayList<>();
+ enumTestList.add(TurnSignal.OFF);
+ enumTestList.add(TurnSignal.LEFT);
+ enumTestList.add(TurnSignal.RIGHT);
+ enumTestList.add(TurnSignal.BOTH);
+
+ assertTrue("Enum value list does not match enum class list",
+ enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
+ }
+} \ No newline at end of file
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
index ab9279569..5aa1d7a7e 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/VehicleDataTypeTests.java
@@ -10,7 +10,7 @@ import com.smartdevicelink.proxy.rpc.enums.VehicleDataType;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.enums.VehicleData}
+ * {@link com.smartdevicelink.proxy.rpc.enums.VehicleDataType}
*/
public class VehicleDataTypeTests extends TestCase {
@@ -74,6 +74,8 @@ public class VehicleDataTypeTests extends TestCase {
VehicleDataType enumVehicleDataMyKey = VehicleDataType.valueForString(example);
example = "VEHICLEDATA_FUELRANGE";
VehicleDataType enumVehicleDataFuelRange = VehicleDataType.valueForString(example);
+ example = "VEHICLEDATA_TURNSIGNAL";
+ VehicleDataType enumVehicleDataTurnSignal = VehicleDataType.valueForString(example);
assertNotNull("VEHICLEDATA_GPS returned null", enumVehicleDataGps);
assertNotNull("VEHICLEDATA_SPEED returned null", enumVehicleDataSpeed);
@@ -103,6 +105,7 @@ public class VehicleDataTypeTests extends TestCase {
assertNotNull("VEHICLEDATA_CLUSTERMODESTATUS returned null", enumVehicleDataClusterModeStatus);
assertNotNull("VEHICLEDATA_MYKEY returned null", enumVehicleDataMyKey);
assertNotNull("VEHICLEDATA_FUELRANGE returned null", enumVehicleDataFuelRange);
+ assertNotNull("VEHICLEDATA_TURNSIGNAL returned null", enumVehicleDataTurnSignal);
}
/**
@@ -168,6 +171,7 @@ public class VehicleDataTypeTests extends TestCase {
enumTestList.add(VehicleDataType.VEHICLEDATA_CLUSTERMODESTATUS);
enumTestList.add(VehicleDataType.VEHICLEDATA_MYKEY);
enumTestList.add(VehicleDataType.VEHICLEDATA_FUELRANGE);
+ enumTestList.add(VehicleDataType.VEHICLEDATA_TURNSIGNAL);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
index 8ea944804..18ad755f9 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/notifications/OnVehicleDataTests.java
@@ -27,6 +27,7 @@ import com.smartdevicelink.proxy.rpc.SingleTireStatus;
import com.smartdevicelink.proxy.rpc.TireStatus;
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
import com.smartdevicelink.proxy.rpc.enums.PRNDL;
+import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
import com.smartdevicelink.proxy.rpc.enums.WiperStatus;
import com.smartdevicelink.test.BaseRpcTests;
@@ -37,7 +38,7 @@ import com.smartdevicelink.test.VehicleDataHelper;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.OnVehicleData}
+ * {@link com.smartdevicelink.proxy.rpc.OnVehicleData}
*/
public class OnVehicleDataTests extends BaseRpcTests{
@@ -88,6 +89,7 @@ public class OnVehicleDataTests extends BaseRpcTests{
result.put(OnVehicleData.KEY_CLUSTER_MODE_STATUS, VehicleDataHelper.CLUSTER_MODE_STATUS.serializeJSON());
result.put(OnVehicleData.KEY_MY_KEY, VehicleDataHelper.MY_KEY.serializeJSON());
result.put(OnVehicleData.KEY_FUEL_RANGE, VehicleDataHelper.JSON_FUEL_RANGE);
+ result.put(OnVehicleData.KEY_TURN_SIGNAL, VehicleDataHelper.TURN_SIGNAL);
} catch(JSONException e) {
fail(Test.JSON_FAIL);
}
@@ -127,6 +129,7 @@ public class OnVehicleDataTests extends BaseRpcTests{
ClusterModeStatus cluster = ( (OnVehicleData) msg).getClusterModeStatus();
MyKey key = ( (OnVehicleData) msg).getMyKey();
List<FuelRange> fuelRangeList = ( (OnVehicleData) msg).getFuelRange();
+ TurnSignal turnSignal = ( (OnVehicleData) msg).getTurnSignal();
// Valid Tests
assertEquals(Test.MATCH, VehicleDataHelper.SPEED, speed);
@@ -156,6 +159,7 @@ public class OnVehicleDataTests extends BaseRpcTests{
assertTrue(Test.TRUE, Validator.validateClusterModeStatus(VehicleDataHelper.CLUSTER_MODE_STATUS, cluster));
assertTrue(Test.TRUE, Validator.validateMyKey(VehicleDataHelper.MY_KEY, key));
assertTrue(Test.TRUE, Validator.validateFuelRange(VehicleDataHelper.FUEL_RANGE_LIST, fuelRangeList));
+ assertEquals(Test.MATCH, VehicleDataHelper.TURN_SIGNAL, turnSignal);
// Invalid/Null Tests
OnVehicleData msg = new OnVehicleData();
@@ -189,6 +193,7 @@ public class OnVehicleDataTests extends BaseRpcTests{
assertNull(Test.NULL, msg.getClusterModeStatus());
assertNull(Test.NULL, msg.getMyKey());
assertNull(Test.NULL, msg.getFuelRange());
+ assertNull(Test.NULL, msg.getTurnSignal());
}
public void testJson() {
@@ -360,6 +365,7 @@ public class OnVehicleDataTests extends BaseRpcTests{
reference.put(OnVehicleData.KEY_CLUSTER_MODE_STATUS, clusterModeStatusObj);
reference.put(OnVehicleData.KEY_MY_KEY, myKeyObj);
reference.put(OnVehicleData.KEY_FUEL_RANGE, fuelRangeArrayObj);
+ reference.put(OnVehicleData.KEY_TURN_SIGNAL, VehicleDataHelper.TURN_SIGNAL);
JSONObject underTest = msg.serializeJSON();
//go inside underTest and only return the JSONObject inside the parameters key inside the notification key
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
index f94ed9be5..fcbdb3a9e 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/GetVehicleDataTests.java
@@ -16,7 +16,7 @@ import com.smartdevicelink.test.json.rpc.JsonFileReader;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.GetVehicleData}
+ * {@link com.smartdevicelink.proxy.rpc.GetVehicleData}
*/
public class GetVehicleDataTests extends BaseRpcTests {
@@ -51,6 +51,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
msg.setClusterModeStatus(Test.GENERAL_BOOLEAN);
msg.setMyKey(Test.GENERAL_BOOLEAN);
msg.setFuelRange(Test.GENERAL_BOOLEAN);
+ msg.setTurnSignal(Test.GENERAL_BOOLEAN);
return msg;
}
@@ -97,6 +98,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
result.put(GetVehicleData.KEY_CLUSTER_MODE_STATUS, Test.GENERAL_BOOLEAN);
result.put(GetVehicleData.KEY_MY_KEY, Test.GENERAL_BOOLEAN);
result.put(GetVehicleData.KEY_FUEL_RANGE, Test.GENERAL_BOOLEAN);
+ result.put(GetVehicleData.KEY_TURN_SIGNAL, Test.GENERAL_BOOLEAN);
}catch(JSONException e){
fail(Test.JSON_FAIL);
}
@@ -137,6 +139,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertTrue(Test.TRUE, ( (GetVehicleData) msg ).getClusterModeStatus());
assertTrue(Test.TRUE, ( (GetVehicleData) msg ).getMyKey());
assertTrue(Test.TRUE, ( (GetVehicleData) msg ).getFuelRange());
+ assertTrue(Test.TRUE, ( (GetVehicleData) msg ).getTurnSignal());
// Invalid/Null Tests
GetVehicleData msg = new GetVehicleData();
@@ -170,6 +173,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertNull(Test.NULL, msg.getClusterModeStatus());
assertNull(Test.NULL, msg.getMyKey());
assertNull(Test.NULL, msg.getFuelRange());
+ assertNull(Test.NULL, msg.getTurnSignal());
}
/**
@@ -218,6 +222,7 @@ public class GetVehicleDataTests extends BaseRpcTests {
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_CLUSTER_MODE_STATUS), cmd.getClusterModeStatus());
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_MY_KEY), cmd.getMyKey());
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_FUEL_RANGE), cmd.getFuelRange());
+ assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, GetVehicleData.KEY_TURN_SIGNAL), cmd.getTurnSignal());
} catch (JSONException e) {
fail(Test.JSON_FAIL);
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
index d4178207f..0fc662d7f 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/SubscribeVehicleDataTests.java
@@ -16,7 +16,7 @@ import com.smartdevicelink.test.json.rpc.JsonFileReader;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.SubscribeVehicleData}
+ * {@link com.smartdevicelink.proxy.rpc.SubscribeVehicleData}
*/
public class SubscribeVehicleDataTests extends BaseRpcTests {
@@ -50,6 +50,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
msg.setClusterModeStatus(Test.GENERAL_BOOLEAN);
msg.setMyKey(Test.GENERAL_BOOLEAN);
msg.setFuelRange(Test.GENERAL_BOOLEAN);
+ msg.setTurnSignal(Test.GENERAL_BOOLEAN);
return msg;
}
@@ -95,6 +96,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
result.put(SubscribeVehicleData.KEY_CLUSTER_MODE_STATUS, Test.GENERAL_BOOLEAN);
result.put(SubscribeVehicleData.KEY_MY_KEY, Test.GENERAL_BOOLEAN);
result.put(SubscribeVehicleData.KEY_FUEL_RANGE, Test.GENERAL_BOOLEAN);
+ result.put(SubscribeVehicleData.KEY_TURN_SIGNAL, Test.GENERAL_BOOLEAN);
} catch (JSONException e) {
fail(Test.JSON_FAIL);
}
@@ -134,6 +136,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertTrue(Test.MATCH,( (SubscribeVehicleData) msg ).getClusterModeStatus());
assertTrue(Test.MATCH,( (SubscribeVehicleData) msg ).getMyKey());
assertTrue(Test.MATCH,( (SubscribeVehicleData) msg ).getFuelRange());
+ assertTrue(Test.MATCH,( (SubscribeVehicleData) msg ).getTurnSignal());
// Invalid/Null Tests
SubscribeVehicleData msg = new SubscribeVehicleData();
@@ -166,6 +169,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertNull(Test.NULL, msg.getClusterModeStatus());
assertNull(Test.NULL, msg.getMyKey());
assertNull(Test.NULL, msg.getFuelRange());
+ assertNull(Test.NULL, msg.getTurnSignal());
}
/**
@@ -213,6 +217,7 @@ public class SubscribeVehicleDataTests extends BaseRpcTests {
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_CLUSTER_MODE_STATUS), cmd.getClusterModeStatus());
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_MY_KEY), cmd.getMyKey());
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_FUEL_RANGE), cmd.getFuelRange());
+ assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, SubscribeVehicleData.KEY_TURN_SIGNAL), cmd.getTurnSignal());
} catch (JSONException e) {
fail(Test.JSON_FAIL);
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
index 1f8173af7..ca2fddc85 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/requests/UnsubscribeVehicleDataTests.java
@@ -17,7 +17,7 @@ import com.smartdevicelink.test.json.rpc.JsonFileReader;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.UnsubscribeVehicleData}
+ * {@link com.smartdevicelink.proxy.rpc.UnsubscribeVehicleData}
*/
public class UnsubscribeVehicleDataTests extends BaseRpcTests {
@@ -51,6 +51,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
msg.setClusterModeStatus(Test.GENERAL_BOOLEAN);
msg.setMyKey(Test.GENERAL_BOOLEAN);
msg.setFuelRange(Test.GENERAL_BOOLEAN);
+ msg.setTurnSignal(Test.GENERAL_BOOLEAN);
return msg;
}
@@ -96,6 +97,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
result.put(UnsubscribeVehicleData.KEY_CLUSTER_MODE_STATUS, Test.GENERAL_BOOLEAN);
result.put(UnsubscribeVehicleData.KEY_MY_KEY, Test.GENERAL_BOOLEAN);
result.put(UnsubscribeVehicleData.KEY_FUEL_RANGE, Test.GENERAL_BOOLEAN);
+ result.put(UnsubscribeVehicleData.KEY_TURN_SIGNAL, Test.GENERAL_BOOLEAN);
} catch (JSONException e) {
fail(Test.JSON_FAIL);
}
@@ -134,6 +136,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertTrue(Test.TRUE,( (UnsubscribeVehicleData) msg ).getClusterModeStatus());
assertTrue(Test.TRUE,( (UnsubscribeVehicleData) msg ).getMyKey());
assertTrue(Test.TRUE,( (UnsubscribeVehicleData) msg ).getFuelRange());
+ assertTrue(Test.TRUE,( (UnsubscribeVehicleData) msg ).getTurnSignal());
// Invalid/Null Tests
UnsubscribeVehicleData msg = new UnsubscribeVehicleData();
@@ -166,6 +169,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertNull(Test.NULL, msg.getClusterModeStatus());
assertNull(Test.NULL, msg.getMyKey());
assertNull(Test.NULL, msg.getFuelRange());
+ assertNull(Test.NULL, msg.getTurnSignal());
}
/**
@@ -213,6 +217,7 @@ public class UnsubscribeVehicleDataTests extends BaseRpcTests {
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_CLUSTER_MODE_STATUS), cmd.getClusterModeStatus());
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_MY_KEY), cmd.getMyKey());
assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_FUEL_RANGE), cmd.getFuelRange());
+ assertEquals(Test.MATCH, JsonUtils.readBooleanFromJsonObject(parameters, UnsubscribeVehicleData.KEY_TURN_SIGNAL), cmd.getTurnSignal());
}
catch (JSONException e) {
fail(Test.JSON_FAIL);
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
index 053dd6897..6811ece5f 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/GetVehicleDataResponseTests.java
@@ -26,6 +26,7 @@ import com.smartdevicelink.proxy.rpc.HeadLampStatus;
import com.smartdevicelink.proxy.rpc.MyKey;
import com.smartdevicelink.proxy.rpc.SingleTireStatus;
import com.smartdevicelink.proxy.rpc.TireStatus;
+import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
import com.smartdevicelink.test.BaseRpcTests;
import com.smartdevicelink.test.JsonUtils;
import com.smartdevicelink.test.Test;
@@ -87,6 +88,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
result.put(GetVehicleDataResponse.KEY_CLUSTER_MODE_STATUS, VehicleDataHelper.CLUSTER_MODE_STATUS.serializeJSON());
result.put(GetVehicleDataResponse.KEY_MY_KEY, VehicleDataHelper.MY_KEY.serializeJSON());
result.put(GetVehicleDataResponse.KEY_FUEL_RANGE, VehicleDataHelper.JSON_FUEL_RANGE);
+ result.put(GetVehicleDataResponse.KEY_TURN_SIGNAL, VehicleDataHelper.TURN_SIGNAL);
} catch(JSONException e){
fail(Test.JSON_FAIL);
}
@@ -262,6 +264,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
reference.put(GetVehicleDataResponse.KEY_CLUSTER_MODE_STATUS, clusterModeStatusObj);
reference.put(GetVehicleDataResponse.KEY_MY_KEY, myKeyObj);
reference.put(GetVehicleDataResponse.KEY_FUEL_RANGE, fuelRangeArrayObj);
+ reference.put(GetVehicleDataResponse.KEY_TURN_SIGNAL, TurnSignal.OFF);
JSONObject underTest = msg.serializeJSON();
@@ -442,6 +445,7 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
assertEquals(Test.MATCH, VehicleDataHelper.EMERGENCY_EVENT, ( (GetVehicleDataResponse) msg ).getEmergencyEvent());
assertEquals(Test.MATCH, VehicleDataHelper.CLUSTER_MODE_STATUS, ( (GetVehicleDataResponse) msg ).getClusterModeStatus());
assertEquals(Test.MATCH, VehicleDataHelper.MY_KEY, ( (GetVehicleDataResponse) msg ).getMyKey());
+ assertEquals(Test.MATCH, VehicleDataHelper.TURN_SIGNAL, ( (GetVehicleDataResponse) msg ).getTurnSignal());
// Invalid/Null Tests
GetVehicleDataResponse msg = new GetVehicleDataResponse();
@@ -472,7 +476,8 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
assertNull(Test.NULL, msg.getECallInfo());
assertNull(Test.NULL, msg.getEmergencyEvent());
assertNull(Test.NULL, msg.getClusterModeStatus());
- assertNull(Test.NULL, msg.getMyKey());
+ assertNull(Test.NULL, msg.getMyKey());
+ assertNull(Test.NULL, msg.getTurnSignal());
}
@@ -558,6 +563,8 @@ public class GetVehicleDataResponseTests extends BaseRpcTests{
JSONObject myKeyObj = JsonUtils.readJsonObjectFromJsonObject(parameters, GetVehicleDataResponse.KEY_MY_KEY);
MyKey myKey = new MyKey(JsonRPCMarshaller.deserializeJSONObject(myKeyObj));
assertTrue(Test.TRUE, Validator.validateMyKey(myKey, cmd.getMyKey()) );
+
+ assertEquals(Test.MATCH, JsonUtils.readStringFromJsonObject(parameters, GetVehicleDataResponse.KEY_TURN_SIGNAL), cmd.getTurnSignal().toString());
} catch (JSONException e) {
e.printStackTrace();
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
index ec5cc5f9a..097b38f44 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/SubscribeVehicleDataResponseTest.java
@@ -19,7 +19,7 @@ import com.smartdevicelink.test.json.rpc.JsonFileReader;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.SubscribeVehicleDataResponse}
+ * {@link com.smartdevicelink.proxy.rpc.SubscribeVehicleDataResponse}
*/
public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
@@ -55,6 +55,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
msg.setClusterModeStatus(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLUSTERMODESTATUS.ordinal()));
msg.setMyKey(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_MYKEY.ordinal()));
msg.setFuelRange(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()));
+ msg.setTurnSignal(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()));
return msg;
}
@@ -105,6 +106,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
result.put(SubscribeVehicleDataResponse.KEY_CLUSTER_MODE_STATUS, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLUSTERMODESTATUS.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_MY_KEY, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_MYKEY.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_FUEL_RANGE, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_TURN_SIGNAL, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()).serializeJSON());
} catch (JSONException e) {
fail(Test.JSON_FAIL);
}
@@ -143,6 +145,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult testBraking = ( (SubscribeVehicleDataResponse) msg ).getDriverBraking();
VehicleDataResult testWiperStatus = ( (SubscribeVehicleDataResponse) msg ).getWiperStatus();
VehicleDataResult testFuelRange = ( (SubscribeVehicleDataResponse) msg ).getFuelRange();
+ VehicleDataResult testTurnSignal = ( (SubscribeVehicleDataResponse) msg ).getTurnSignal();
// Valid Tests
assertTrue(Test.TRUE, testGps.getDataType().equals(VehicleDataType.VEHICLEDATA_GPS));
@@ -171,6 +174,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
assertTrue(Test.TRUE, testBraking.getDataType().equals(VehicleDataType.VEHICLEDATA_BRAKING));
assertTrue(Test.TRUE, testWiperStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_WIPERSTATUS));
assertTrue(Test.TRUE, testFuelRange.getDataType().equals(VehicleDataType.VEHICLEDATA_FUELRANGE));
+ assertTrue(Test.TRUE, testTurnSignal.getDataType().equals(VehicleDataType.VEHICLEDATA_TURNSIGNAL));
// Invalid/Null Tests
SubscribeVehicleDataResponse msg = new SubscribeVehicleDataResponse();
@@ -203,6 +207,7 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
assertNull(Test.NULL, msg.getClusterModeStatus());
assertNull(Test.NULL, msg.getMyKey());
assertNull(Test.NULL, msg.getFuelRange());
+ assertNull(Test.NULL, msg.getTurnSignal());
}
/**
@@ -328,6 +333,10 @@ public class SubscribeVehicleDataResponseTest extends BaseRpcTests {
JSONObject fuelRange = JsonUtils.readJsonObjectFromJsonObject(parameters, SubscribeVehicleDataResponse.KEY_FUEL_RANGE);
VehicleDataResult referenceFuelRange = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(fuelRange));
assertTrue(Test.TRUE, Validator.validateVehicleDataResult(referenceFuelRange, cmd.getFuelRange()));
+
+ JSONObject turnSignal = JsonUtils.readJsonObjectFromJsonObject(parameters, SubscribeVehicleDataResponse.KEY_TURN_SIGNAL);
+ VehicleDataResult referenceTurnSignal = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(turnSignal));
+ assertTrue(Test.TRUE, Validator.validateVehicleDataResult(referenceTurnSignal, cmd.getTurnSignal()));
} catch (JSONException e) {
e.printStackTrace();
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
index d3867edf4..3ca7efdc5 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/responses/UnsubscribeVehicleDataResponseTest.java
@@ -21,7 +21,7 @@ import com.smartdevicelink.test.json.rpc.JsonFileReader;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.rpc.UnsubscribeVehicleDataResponse}
+ * {@link com.smartdevicelink.proxy.rpc.UnsubscribeVehicleDataResponse}
*/
public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
@@ -57,6 +57,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
msg.setClusterModeStatus(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLUSTERMODESTATUS.ordinal()));
msg.setMyKey(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_MYKEY.ordinal()));
msg.setFuelRange(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()));
+ msg.setTurnSignal(Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()));
return msg;
}
@@ -107,6 +108,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
result.put(SubscribeVehicleDataResponse.KEY_CLUSTER_MODE_STATUS, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_CLUSTERMODESTATUS.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_MY_KEY, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_MYKEY.ordinal()).serializeJSON());
result.put(SubscribeVehicleDataResponse.KEY_FUEL_RANGE, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_FUELRANGE.ordinal()).serializeJSON());
+ result.put(SubscribeVehicleDataResponse.KEY_TURN_SIGNAL, Test.GENERAL_VEHICLEDATARESULT_LIST.get(VehicleDataType.VEHICLEDATA_TURNSIGNAL.ordinal()).serializeJSON());
} catch (JSONException e) {
fail(Test.JSON_FAIL);
}
@@ -145,6 +147,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
VehicleDataResult testBraking = ( (UnsubscribeVehicleDataResponse) msg ).getDriverBraking();
VehicleDataResult testWiperStatus = ( (UnsubscribeVehicleDataResponse) msg ).getWiperStatus();
VehicleDataResult testFuelRange = ( (UnsubscribeVehicleDataResponse) msg ).getFuelRange();
+ VehicleDataResult testTurnSignal = ( (UnsubscribeVehicleDataResponse) msg ).getTurnSignal();
// Valid Tests
assertTrue(Test.TRUE, testGps.getDataType().equals(VehicleDataType.VEHICLEDATA_GPS));
@@ -173,6 +176,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
assertTrue(Test.TRUE, testBraking.getDataType().equals(VehicleDataType.VEHICLEDATA_BRAKING));
assertTrue(Test.TRUE, testWiperStatus.getDataType().equals(VehicleDataType.VEHICLEDATA_WIPERSTATUS));
assertTrue(Test.TRUE, testFuelRange.getDataType().equals(VehicleDataType.VEHICLEDATA_FUELRANGE));
+ assertTrue(Test.TRUE, testTurnSignal.getDataType().equals(VehicleDataType.VEHICLEDATA_TURNSIGNAL));
// Invalid/Null Tests
UnsubscribeVehicleDataResponse msg = new UnsubscribeVehicleDataResponse();
@@ -205,6 +209,7 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
assertNull(Test.NULL, msg.getClusterModeStatus());
assertNull(Test.NULL, msg.getMyKey());
assertNull(Test.NULL, msg.getFuelRange());
+ assertNull(Test.NULL, msg.getTurnSignal());
}
/**
@@ -330,8 +335,12 @@ public class UnsubscribeVehicleDataResponseTest extends BaseRpcTests {
JSONObject fuelRange = JsonUtils.readJsonObjectFromJsonObject(parameters, UnsubscribeVehicleDataResponse.KEY_FUEL_RANGE);
VehicleDataResult referenceFuelRange = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(fuelRange));
assertTrue(Test.TRUE, Validator.validateVehicleDataResult(referenceFuelRange, cmd.getFuelRange()));
+
+ JSONObject turnSignal = JsonUtils.readJsonObjectFromJsonObject(parameters, UnsubscribeVehicleDataResponse.KEY_TURN_SIGNAL);
+ VehicleDataResult referenceTurnSignal = new VehicleDataResult(JsonRPCMarshaller.deserializeJSONObject(turnSignal));
+ assertTrue(Test.TRUE, Validator.validateVehicleDataResult(referenceTurnSignal, cmd.getTurnSignal()));
} catch (JSONException e) {
e.printStackTrace();
- }
+ }
}
} \ No newline at end of file
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
index 583783787..293477e7c 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java
@@ -194,6 +194,14 @@ import static com.smartdevicelink.proxy.rpc.CreateInteractionChoiceSet.KEY_CHOIC
* <td>Subscribable</td>
* <td>SmartDeviceLink 2.0</td>
* </tr>
+ * <tr>
+ * <td>turnSignal</td>
+ * <td>Boolean</td>
+ * <td>@see TurnSignal</td>
+ * <td>N</td>
+ * <td>Subscribable</td>
+ * <td>SmartDeviceLink 4.6</td>
+ * </tr>
* </table>
*
*
@@ -245,6 +253,7 @@ public class GetVehicleData extends RPCRequest {
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";
/**
* Constructs a new GetVehicleData object
@@ -454,4 +463,15 @@ public class GetVehicleData extends RPCRequest {
public Boolean getFuelRange() {
return getBoolean(KEY_FUEL_RANGE);
}
+
+ /**
+ * Sets a boolean value. If true, subscribes turnSignal data
+ * @param turnSignal a boolean value
+ */
+ public void setTurnSignal(Boolean turnSignal) { setParameters(KEY_TURN_SIGNAL, turnSignal); }
+ /**
+ * Gets a boolean value. If true, means the turnSignal data has been subscribed.
+ * @return a Boolean value.
+ */
+ public Boolean getTurnSignal() { return getBoolean(KEY_TURN_SIGNAL); }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
index bafc0c111..18159c464 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleDataResponse.java
@@ -8,6 +8,7 @@ import com.smartdevicelink.proxy.RPCResponse;
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
import com.smartdevicelink.proxy.rpc.enums.PRNDL;
import com.smartdevicelink.proxy.rpc.enums.Result;
+import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
import com.smartdevicelink.proxy.rpc.enums.WiperStatus;
import com.smartdevicelink.util.SdlDataTypeConverter;
@@ -48,6 +49,7 @@ public class GetVehicleDataResponse extends RPCResponse {
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";
/**
* Constructs a new GetVehicleDataResponse object
@@ -276,4 +278,21 @@ public class GetVehicleDataResponse extends RPCResponse {
public List<FuelRange> getFuelRange() {
return (List<FuelRange>) getObject(FuelRange.class, KEY_FUEL_RANGE);
}
+
+ /**
+ * Sets turnSignal
+ * @param turnSignal
+ */
+ public void setTurnSignal(TurnSignal turnSignal) {
+ setParameters(KEY_TURN_SIGNAL, turnSignal);
+ }
+
+ /**
+ * Gets turnSignal
+ * @return TurnSignal
+ */
+ @SuppressWarnings("unchecked")
+ public TurnSignal getTurnSignal() {
+ return (TurnSignal) getObject(TurnSignal.class, KEY_TURN_SIGNAL);
+ }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
index c5a423748..1f066a23a 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java
@@ -7,6 +7,7 @@ import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCNotification;
import com.smartdevicelink.proxy.rpc.enums.ComponentVolumeStatus;
import com.smartdevicelink.proxy.rpc.enums.PRNDL;
+import com.smartdevicelink.proxy.rpc.enums.TurnSignal;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
import com.smartdevicelink.proxy.rpc.enums.WiperStatus;
import com.smartdevicelink.util.DebugTool;
@@ -283,6 +284,7 @@ public class OnVehicleData extends RPCNotification {
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 OnVehicleData() {
super(FunctionID.ON_VEHICLE_DATA.toString());
@@ -491,4 +493,21 @@ public class OnVehicleData extends RPCNotification {
public List<FuelRange> getFuelRange() {
return (List<FuelRange>) getObject(FuelRange.class, KEY_FUEL_RANGE);
}
+
+ /**
+ * Sets turnSignal
+ * @param turnSignal
+ */
+ public void setTurnSignal(TurnSignal turnSignal) {
+ setParameters(KEY_TURN_SIGNAL, turnSignal);
+ }
+
+ /**
+ * Gets turnSignal
+ * @return TurnSignal
+ */
+ @SuppressWarnings("unchecked")
+ public TurnSignal getTurnSignal() {
+ return (TurnSignal) getObject(TurnSignal.class, KEY_TURN_SIGNAL);
+ }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
index d387b2187..036af0447 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java
@@ -226,6 +226,14 @@ import java.util.Hashtable;
* <td>Subscribable</td>
* <td>SmartDeviceLink 2.0 </td>
* </tr>
+ * <tr>
+ * <td>turnSignal</td>
+ * <td>Boolean</td>
+ * <td>@see TurnSignal</td>
+ * <td>N</td>
+ * <td>Subscribable</td>
+ * <td>SmartDeviceLink 4.6 </td>
+ * </tr>
* </table>
*
* <p> <b>Response</b></p>
@@ -272,6 +280,7 @@ public class SubscribeVehicleData extends RPCRequest {
public static final String KEY_MY_KEY = "myKey";
public static final String KEY_SPEED = "speed";
public static final String KEY_FUEL_RANGE = "fuelRange";
+ public static final String KEY_TURN_SIGNAL = "turnSignal";
/**
* Constructs a new SubscribeVehicleData object
@@ -770,4 +779,15 @@ public class SubscribeVehicleData extends RPCRequest {
public Boolean getFuelRange() {
return getBoolean(KEY_FUEL_RANGE);
}
+
+ /**
+ * Sets a boolean value. If true, subscribes turnSignal data
+ * @param turnSignal a boolean value
+ */
+ public void setTurnSignal(Boolean turnSignal) { setParameters(KEY_TURN_SIGNAL, turnSignal); }
+ /**
+ * Gets a boolean value. If true, means the turnSignal data has been subscribed.
+ * @return a Boolean value.
+ */
+ public Boolean getTurnSignal() { return getBoolean(KEY_TURN_SIGNAL); }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
index da3336b95..5855f02b4 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleDataResponse.java
@@ -40,6 +40,7 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
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";
/**
* Constructs a new SubscribeVehicleDataResponse object
@@ -431,4 +432,21 @@ public class SubscribeVehicleDataResponse extends RPCResponse {
public VehicleDataResult getFuelRange() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_FUEL_RANGE);
}
+
+ /**
+ * Sets turnSignal
+ * @param turnSignal
+ */
+ public void setTurnSignal(VehicleDataResult turnSignal) {
+ setParameters(KEY_TURN_SIGNAL, turnSignal);
+ }
+
+ /**
+ * Gets turnSignal
+ * @return VehicleDataResult
+ */
+ @SuppressWarnings("unchecked")
+ public VehicleDataResult getTurnSignal() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_TURN_SIGNAL);
+ }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
index ce7a72c9e..1f57de8f2 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java
@@ -221,6 +221,14 @@ import com.smartdevicelink.proxy.RPCRequest;
* <td>Subscribable</td>
* <td>SmartDeviceLink 2.0 </td>
* </tr>
+ * <tr>
+ * <td>turnSignal</td>
+ * <td>Boolean</td>
+ * <td>@see TurnSignal</td>
+ * <td>N</td>
+ * <td>Subscribable</td>
+ * <td>SmartDeviceLink 4.6 </td>
+ * </tr>
* </table>
* <p><b> Response</b></p>
* <p><b>Non-default Result Codes:</b></p>
@@ -265,7 +273,7 @@ public class UnsubscribeVehicleData extends RPCRequest {
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";
/**
* Constructs a new UnsubscribeVehicleData object
@@ -765,4 +773,15 @@ public class UnsubscribeVehicleData extends RPCRequest {
public Boolean getFuelRange() {
return getBoolean(KEY_FUEL_RANGE);
}
+
+ /**
+ * Sets a boolean value. If true, subscribes turnSignal data
+ * @param turnSignal a boolean value
+ */
+ public void setTurnSignal(Boolean turnSignal) { setParameters(KEY_TURN_SIGNAL, turnSignal); }
+ /**
+ * Gets a boolean value. If true, means the turnSignal data has been subscribed.
+ * @return a Boolean value.
+ */
+ public Boolean getTurnSignal() { return getBoolean(KEY_TURN_SIGNAL); }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
index 888a2f942..345c0d25b 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleDataResponse.java
@@ -43,6 +43,7 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
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";
/**
* Constructs a new UnsubscribeVehicleDataResponse object
@@ -436,4 +437,21 @@ public class UnsubscribeVehicleDataResponse extends RPCResponse {
public VehicleDataResult getFuelRange() {
return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_FUEL_RANGE);
}
+
+ /**
+ * Sets turnSignal
+ * @param turnSignal
+ */
+ public void setTurnSignal(VehicleDataResult turnSignal) {
+ setParameters(KEY_TURN_SIGNAL, turnSignal);
+ }
+
+ /**
+ * Gets turnSignal
+ * @return VehicleDataResult
+ */
+ @SuppressWarnings("unchecked")
+ public VehicleDataResult getTurnSignal() {
+ return (VehicleDataResult) getObject(VehicleDataResult.class, KEY_TURN_SIGNAL);
+ }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/TurnSignal.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/TurnSignal.java
new file mode 100644
index 000000000..143deed58
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/TurnSignal.java
@@ -0,0 +1,35 @@
+package com.smartdevicelink.proxy.rpc.enums;
+
+/**
+ * Enumeration that describes the status of the turn light indicator.
+ *
+ * @since SmartDeviceLink 4.6
+ */
+public enum TurnSignal {
+
+ /**
+ * Turn signal is OFF
+ */
+ OFF,
+ /**
+ * Left turn signal is on
+ */
+ LEFT,
+ /**
+ * Right turn signal is on
+ */
+ RIGHT,
+ /**
+ * Both signals (left and right) are on.
+ */
+ BOTH,
+ ;
+
+ public static TurnSignal valueForString(String value) {
+ try{
+ return valueOf(value);
+ }catch(Exception e){
+ return null;
+ }
+ }
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
index 04b3fee73..7989edecd 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/VehicleDataType.java
@@ -115,9 +115,14 @@ public enum VehicleDataType {
VEHICLEDATA_MYKEY,
VEHICLEDATA_FUELRANGE,
+
+ /**
+ * Notifies TURNSIGNALData may be subscribed
+ */
+ VEHICLEDATA_TURNSIGNAL,
;
- /**
+ /**
* Convert String to VehicleDataType
* @param value String
* @return VehicleDataType