summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnil Dahiya <anil_dahiya@infosys.com>2018-08-11 16:30:11 +0530
committerAnil Dahiya <anil_dahiya@infosys.com>2018-08-11 16:30:11 +0530
commit0fb2eadb5a9093a87e85a76788ee80df661d67fa (patch)
treea07a6c44a45f24d725f975a9bf41ddc686c5bd4b
parent71f57e862cdf6ae9df7901a590fb7f711b7f14d8 (diff)
downloadsdl_android-0fb2eadb5a9093a87e85a76788ee80df661d67fa.tar.gz
Changes for Remote Control – Lights – More Names and Status Values. Along with that implementing/updating test cases for same.
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/LightCapabilitiesTests.java5
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightNameTests.java52
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightStatusTests.java16
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java22
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightName.java32
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightStatus.java4
6 files changed, 123 insertions, 8 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/LightCapabilitiesTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/LightCapabilitiesTests.java
index 21909edb3..6122f4305 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/LightCapabilitiesTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/LightCapabilitiesTests.java
@@ -27,6 +27,7 @@ public class LightCapabilitiesTests extends TestCase {
msg.setName(Test.GENERAL_LIGHTNAME);
msg.setDensityAvailable(Test.GENERAL_BOOLEAN);
msg.setRGBColorSpaceAvailable(Test.GENERAL_BOOLEAN);
+ msg.setStatusAvailable(Test.GENERAL_BOOLEAN);
}
/**
@@ -37,11 +38,13 @@ public class LightCapabilitiesTests extends TestCase {
LightName name = msg.getName();
Boolean densityAvailable = msg.getDensityAvailable();
Boolean rgbColorSpaceAvailable = msg.getRGBColorSpaceAvailable();
+ Boolean statusAvailable = msg.getStatusAvailable();
// Valid Tests
assertEquals(Test.MATCH, Test.GENERAL_LIGHTNAME, name);
assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, (boolean) densityAvailable);
assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, (boolean) rgbColorSpaceAvailable);
+ assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, (boolean) statusAvailable);
// Invalid/Null Tests
LightCapabilities msg = new LightCapabilities();
@@ -50,6 +53,7 @@ public class LightCapabilitiesTests extends TestCase {
assertNull(Test.NULL, msg.getName());
assertNull(Test.NULL, msg.getDensityAvailable());
assertNull(Test.NULL, msg.getRGBColorSpaceAvailable());
+ assertNull(Test.NULL, msg.getStatusAvailable());
}
public void testJson() {
@@ -59,6 +63,7 @@ public class LightCapabilitiesTests extends TestCase {
reference.put(LightCapabilities.KEY_NAME, Test.GENERAL_LIGHTNAME);
reference.put(LightCapabilities.KEY_DENSITY_AVAILABLE, Test.GENERAL_BOOLEAN);
reference.put(LightCapabilities.KEY_RGB_COLOR_SPACE_AVAILABLE, Test.GENERAL_BOOLEAN);
+ reference.put(LightCapabilities.KEY_STATUS_AVAILABLE, Test.GENERAL_BOOLEAN);
JSONObject underTest = msg.serializeJSON();
assertEquals(Test.MATCH, reference.length(), underTest.length());
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightNameTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightNameTests.java
index 1c24218c9..ea4ea6644 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightNameTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightNameTests.java
@@ -36,9 +36,9 @@ public class LightNameTests extends TestCase {
example = "FRONT_RIGHT_FOG_LIGHT";
LightName enumFrontRightFogLight = LightName.valueForString(example);
example = "FRONT_LEFT_DAYTIME_RUNNING_LIGHT";
- LightName enumFrontLeftDayTimeRunningLight = LightName.valueForString(example);
+ LightName enumFrontLeftDaytimeRunningLight = LightName.valueForString(example);
example = "FRONT_RIGHT_DAYTIME_RUNNING_LIGHT";
- LightName enumFrontRightDayTimeRunningLight = LightName.valueForString(example);
+ LightName enumFrontRightDaytimeRunningLight = LightName.valueForString(example);
example = "FRONT_LEFT_TURN_LIGHT";
LightName enumFrontLeftTurnLight = LightName.valueForString(example);
example = "FRONT_RIGHT_TURN_LIGHT";
@@ -61,9 +61,8 @@ public class LightNameTests extends TestCase {
LightName enumRearRightTurnLight = LightName.valueForString(example);
example = "REAR_REGISTRATION_PLATE_LIGHT";
LightName enumRearRegistrationPlateLight = LightName.valueForString(example);
-
example = "HIGH_BEAMS";
- LightName enumHightBeams = LightName.valueForString(example);
+ LightName enumHighBeams = LightName.valueForString(example);
example = "LOW_BEAMS";
LightName enumLowBeams = LightName.valueForString(example);
example = "FOG_LIGHTS";
@@ -84,6 +83,21 @@ public class LightNameTests extends TestCase {
LightName enumRightTurnLights = LightName.valueForString(example);
example = "HAZARD_LIGHTS";
LightName enumHazardLights = LightName.valueForString(example);
+
+ example = "REAR_CARGO_LIGHTS";
+ LightName enumRearCargoLights = LightName.valueForString(example);
+ example = "REAR_TRUCK_BED_LIGHTS";
+ LightName enumRearTruckBedLights = LightName.valueForString(example);
+ example = "REAR_TRAILER_LIGHTS";
+ LightName enumRearTrailerLights = LightName.valueForString(example);
+ example = "LEFT_SPOT_LIGHTS";
+ LightName enumLeftSpotLights = LightName.valueForString(example);
+ example = "RIGHT_SPOT_LIGHTS";
+ LightName enumRightSpotLights = LightName.valueForString(example);
+ example = "LEFT_PUDDLE_LIGHTS";
+ LightName enumLeftPuddleLights = LightName.valueForString(example);
+ example = "RIGHT_PUDDLE_LIGHTS";
+ LightName enumRightPuddleLights = LightName.valueForString(example);
example = "AMBIENT_LIGHTS";
LightName enumAmbientLights = LightName.valueForString(example);
example = "OVERHEAD_LIGHTS";
@@ -100,6 +114,8 @@ public class LightNameTests extends TestCase {
LightName enumExteriorLeftLights = LightName.valueForString(example);
example = "EXTERIOR_RIGHT_LIGHTS";
LightName enumExteriorRightLights = LightName.valueForString(example);
+ example = "EXTERIOR_ALL_LIGHTS";
+ LightName enumExteriorAllLights = LightName.valueForString(example);
assertNotNull("FRONT_LEFT_HIGH_BEAM returned null", enumFrontLeftHighBeam);
assertNotNull("FRONT_RIGHT_HIGH_BEAM returned null", enumFrontRightHighBeam);
@@ -109,8 +125,9 @@ public class LightNameTests extends TestCase {
assertNotNull("FRONT_RIGHT_PARKING_LIGHT returned null", enumFrontRightParkingLight);
assertNotNull("FRONT_LEFT_FOG_LIGHT returned null", enumFrontLeftFogLight);
assertNotNull("FRONT_RIGHT_FOG_LIGHT returned null", enumFrontRightFogLight);
- assertNotNull("FRONT_LEFT_DAYTIME_RUNNING_LIGHT returned null", enumFrontLeftDayTimeRunningLight);
- assertNotNull("FRONT_RIGHT_DAYTIME_RUNNING_LIGHT returned null", enumFrontRightDayTimeRunningLight);
+ assertNotNull("FRONT_LEFT_DAYTIME_RUNNING_LIGHT returned null", enumFrontLeftDaytimeRunningLight);
+ assertNotNull("FRONT_RIGHT_DAYTIME_RUNNING_LIGHT returned null", enumFrontRightDaytimeRunningLight);
+
assertNotNull("FRONT_LEFT_TURN_LIGHT returned null", enumFrontLeftTurnLight);
assertNotNull("FRONT_RIGHT_TURN_LIGHT returned null", enumFrontRightTurnLight);
assertNotNull("REAR_LEFT_FOG_LIGHT returned null", enumRearLeftFogLight);
@@ -122,25 +139,38 @@ public class LightNameTests extends TestCase {
assertNotNull("REAR_LEFT_TURN_LIGHT returned null", enumRearLeftTurnLight);
assertNotNull("REAR_RIGHT_TURN_LIGHT returned null", enumRearRightTurnLight);
assertNotNull("REAR_REGISTRATION_PLATE_LIGHT returned null", enumRearRegistrationPlateLight);
- assertNotNull("HIGH_BEAMS returned null", enumHightBeams);
+
+ assertNotNull("HIGH_BEAMS returned null", enumHighBeams);
assertNotNull("LOW_BEAMS returned null", enumLowBeams);
assertNotNull("FOG_LIGHTS returned null", enumFogLights);
assertNotNull("RUNNING_LIGHTS returned null", enumRunningLights);
assertNotNull("PARKING_LIGHTS returned null", enumParkingLights);
assertNotNull("BRAKE_LIGHTS returned null", enumBrakeLights);
+
assertNotNull("REAR_REVERSING_LIGHTS returned null", enumRearReversingLights);
assertNotNull("SIDE_MARKER_LIGHTS returned null", enumSideMarkerLights);
assertNotNull("LEFT_TURN_LIGHTS returned null", enumLeftTurnLights);
assertNotNull("RIGHT_TURN_LIGHTS returned null", enumRightTurnLights);
assertNotNull("HAZARD_LIGHTS returned null", enumHazardLights);
+ assertNotNull("REAR_CARGO_LIGHTS returned null", enumRearCargoLights);
+ assertNotNull("REAR_TRUCK_BED_LIGHTS returned null", enumRearTruckBedLights);
+ assertNotNull("REAR_TRAILER_LIGHTS returned null", enumRearTrailerLights);
+ assertNotNull("LEFT_SPOT_LIGHTS returned null", enumLeftSpotLights);
+ assertNotNull("RIGHT_SPOT_LIGHTS returned null", enumRightSpotLights);
+ assertNotNull("LEFT_PUDDLE_LIGHTS returned null", enumLeftPuddleLights);
+ assertNotNull("RIGHT_PUDDLE_LIGHTS returned null", enumRightPuddleLights);
+
assertNotNull("AMBIENT_LIGHTS returned null", enumAmbientLights);
assertNotNull("OVERHEAD_LIGHTS returned null", enumOverheadLights);
assertNotNull("READING_LIGHTS returned null", enumReadingLights);
assertNotNull("TRUNK_LIGHTS returned null", enumTrunkLights);
+
assertNotNull("EXTERIOR_FRONT_LIGHTS returned null", enumExteriorFrontLights);
assertNotNull("EXTERIOR_REAR_LIGHTS returned null", enumExteriorRearLights);
assertNotNull("EXTERIOR_LEFT_LIGHTS returned null", enumExteriorLeftLights);
assertNotNull("EXTERIOR_RIGHT_LIGHTS returned null", enumExteriorRightLights);
+
+ assertNotNull("EXTERIOR_ALL_LIGHTS returned null", enumExteriorAllLights);
}
/**
@@ -208,6 +238,13 @@ public class LightNameTests extends TestCase {
enumTestList.add(LightName.LEFT_TURN_LIGHTS);
enumTestList.add(LightName.RIGHT_TURN_LIGHTS);
enumTestList.add(LightName.HAZARD_LIGHTS);
+ enumTestList.add(LightName.REAR_CARGO_LIGHTS);
+ enumTestList.add(LightName.REAR_TRUCK_BED_LIGHTS);
+ enumTestList.add(LightName.REAR_TRAILER_LIGHTS);
+ enumTestList.add(LightName.LEFT_SPOT_LIGHTS);
+ enumTestList.add(LightName.RIGHT_SPOT_LIGHTS);
+ enumTestList.add(LightName.LEFT_PUDDLE_LIGHTS);
+ enumTestList.add(LightName.RIGHT_PUDDLE_LIGHTS);
enumTestList.add(LightName.AMBIENT_LIGHTS);
enumTestList.add(LightName.OVERHEAD_LIGHTS);
enumTestList.add(LightName.READING_LIGHTS);
@@ -216,6 +253,7 @@ public class LightNameTests extends TestCase {
enumTestList.add(LightName.EXTERIOR_REAR_LIGHTS);
enumTestList.add(LightName.EXTERIOR_LEFT_LIGHTS);
enumTestList.add(LightName.EXTERIOR_RIGHT_LIGHTS);
+ enumTestList.add(LightName.EXTERIOR_ALL_LIGHTS);
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/enums/LightStatusTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightStatusTests.java
index 25c8f321b..a97cd6eba 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightStatusTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/enums/LightStatusTests.java
@@ -23,9 +23,21 @@ public class LightStatusTests extends TestCase {
LightStatus enumOn = LightStatus.valueForString(example);
example = "OFF";
LightStatus enumOff = LightStatus.valueForString(example);
+ example = "RAMP_UP";
+ LightStatus enumRampUp = LightStatus.valueForString(example);
+ example = "RAMP_DOWN";
+ LightStatus enumRampDown = LightStatus.valueForString(example);
+ example = "UNKNOWN";
+ LightStatus enumUnknown = LightStatus.valueForString(example);
+ example = "INVALID";
+ LightStatus enumInvalid = LightStatus.valueForString(example);
assertNotNull("ON returned null", enumOn);
assertNotNull("OFF returned null", enumOff);
+ assertNotNull("RAMP_UP returned null", enumRampUp);
+ assertNotNull("RAMP_DOWN returned null", enumRampDown);
+ assertNotNull("UNKNOWN returned null", enumUnknown);
+ assertNotNull("INVALID returned null", enumInvalid);
}
/**
@@ -63,6 +75,10 @@ public class LightStatusTests extends TestCase {
List<LightStatus> enumTestList = new ArrayList<LightStatus>();
enumTestList.add(LightStatus.ON);
enumTestList.add(LightStatus.OFF);
+ enumTestList.add(LightStatus.RAMP_UP);
+ enumTestList.add(LightStatus.RAMP_DOWN);
+ enumTestList.add(LightStatus.UNKNOWN);
+ enumTestList.add(LightStatus.INVALID);
assertTrue("Enum value list does not match enum class list",
enumValueList.containsAll(enumTestList) && enumTestList.containsAll(enumValueList));
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java
index c67cb4517..018beceb8 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/LightCapabilities.java
@@ -8,9 +8,11 @@ import com.smartdevicelink.proxy.rpc.enums.LightName;
import java.util.Hashtable;
public class LightCapabilities extends RPCStruct {
+
public static final String KEY_NAME = "name";
public static final String KEY_DENSITY_AVAILABLE = "densityAvailable";
public static final String KEY_RGB_COLOR_SPACE_AVAILABLE = "RGBColorSpaceAvailable";
+ public static final String KEY_STATUS_AVAILABLE = "statusAvailable";
/**
* Constructs a newly allocated LightCapabilities object
@@ -90,4 +92,22 @@ public class LightCapabilities extends RPCStruct {
public Boolean getRGBColorSpaceAvailable() {
return getBoolean(KEY_RGB_COLOR_SPACE_AVAILABLE);
}
-}
+
+ /**
+ * Sets the statusAvailable portion of the LightCapabilities class
+ *
+ * @param statusAvailable Indicates if the status (ON/OFF) can be set remotely. App shall not use read-only values (RAMP_UP/RAMP_DOWN/UNKNOWN/INVALID) in a setInteriorVehicleData request.
+ */
+ public void setStatusAvailable(Boolean statusAvailable) {
+ setValue(KEY_STATUS_AVAILABLE, statusAvailable);
+ }
+
+ /**
+ * Gets the statusAvailable portion of the LightCapabilities class
+ *
+ * @return Boolean - Indicates if the status (ON/OFF) can be set remotely. App shall not use read-only values (RAMP_UP/RAMP_DOWN/UNKNOWN/INVALID) in a setInteriorVehicleData request.
+ */
+ public Boolean getStatusAvailable() {
+ return getBoolean(KEY_STATUS_AVAILABLE);
+ }
+} \ No newline at end of file
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightName.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightName.java
index 6d41ce0fe..0f34551d6 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightName.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightName.java
@@ -63,6 +63,34 @@ public enum LightName {
* Include all hazard lights: front_left, front_right, rear_left and rear_right.
*/
HAZARD_LIGHTS,
+ /**
+ * Cargo lamps illuminate the cargo area.
+ */
+ REAR_CARGO_LIGHTS,
+ /**
+ * Truck bed lamps light up the bed of the truck.
+ */
+ REAR_TRUCK_BED_LIGHTS,
+ /**
+ * Trailer lights are lamps mounted on a trailer hitch.
+ */
+ REAR_TRAILER_LIGHTS,
+ /**
+ * It is the spotlights mounted on the left side of a vehicle.
+ */
+ LEFT_SPOT_LIGHTS,
+ /**
+ * It is the spotlights mounted on the right side of a vehicle.
+ */
+ RIGHT_SPOT_LIGHTS,
+ /**
+ * Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door.
+ */
+ LEFT_PUDDLE_LIGHTS,
+ /**
+ * Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door.
+ */
+ RIGHT_PUDDLE_LIGHTS,
/*Interior Lights by common function groups*/
@@ -90,6 +118,10 @@ public enum LightName {
* Include exterior lights located at the right side of the vehicle. For example, right puddle lights and spot lights.
*/
EXTERIOR_RIGHT_LIGHTS,
+ /**
+ * Include all exterior lights around the vehicle.
+ */
+ EXTERIOR_ALL_LIGHTS,
;
public static LightName valueForString(String value) {
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightStatus.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightStatus.java
index c55b7e52c..98c4b175c 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightStatus.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/LightStatus.java
@@ -3,6 +3,10 @@ package com.smartdevicelink.proxy.rpc.enums;
public enum LightStatus {
ON,
OFF,
+ RAMP_UP,
+ RAMP_DOWN,
+ UNKNOWN,
+ INVALID,
;
public static LightStatus valueForString(String value) {