diff options
author | Bretty <brettywhite@users.noreply.github.com> | 2018-07-10 15:09:33 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2018-07-10 15:09:33 -0400 |
commit | 6a9cf3530fceb52fc98a12e7ef30b366067c6648 (patch) | |
tree | a4f16d5eb793e79014142900918f0b80778b6119 | |
parent | 48cbeb2fe0cdc0df9b3695ad234955b6c30fba00 (diff) | |
download | sdl_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
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
|