diff options
author | Anil Dahiya <anil_dahiya@infosys.com> | 2019-06-04 15:07:16 +0530 |
---|---|---|
committer | Anil Dahiya <anil_dahiya@infosys.com> | 2019-06-04 15:07:16 +0530 |
commit | b621366c8a19c53cf56456f4493bb974ec65e877 (patch) | |
tree | a8b23137a567f1b1aac722e8abe6905115a71435 | |
parent | a1c9407c775b61ae9a0d7f1d921ea379b71e7504 (diff) | |
download | sdl_android-b621366c8a19c53cf56456f4493bb974ec65e877.tar.gz |
Changes for Radio and Climate Parameter Update proposal.
9 files changed, 114 insertions, 1 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java index 62176744f..6a0443379 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java @@ -449,7 +449,7 @@ public class Test { public static final List<WeatherData> GENERAL_WEATHERDATA_LIST = Arrays.asList(GENERAL_WEATHERDATA); public static final List<WeatherAlert> GENERAL_WEATHERALERT_LIST = Arrays.asList(GENERAL_WEATHERALERT); public static final List<NavigationInstruction> GENERAL_NAVIGATION_INSTRUCTION_LIST = Arrays.asList(GENERAL_NAVIGATION_INSTRUCTION); - + public static final List<Integer> GENERAL_AVAILABLE_HD_CHANNELS_LIST = Arrays.asList(new Integer[]{ 1, 2}); public static final JSONArray JSON_TURNS = new JSONArray(); public static final JSONArray JSON_CHOICES = new JSONArray(); diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlCapabilitiesTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlCapabilitiesTests.java index c391eb4eb..eb182f31c 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlCapabilitiesTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlCapabilitiesTests.java @@ -44,6 +44,7 @@ public class ClimateControlCapabilitiesTests extends TestCase{ msg.setHeatedWindshieldAvailable(Test.GENERAL_BOOLEAN); msg.setHeatedRearWindowAvailable(Test.GENERAL_BOOLEAN); msg.setHeatedMirrorsAvailable(Test.GENERAL_BOOLEAN); + msg.setClimateEnableAvailable(Test.GENERAL_BOOLEAN); } /** @@ -67,6 +68,7 @@ public class ClimateControlCapabilitiesTests extends TestCase{ boolean heatedWindshieldAvailable = msg.getHeatedWindshieldAvailable(); boolean heatedRearWindowAvailable = msg.getHeatedRearWindowAvailable(); boolean heatedMirrorsAvailable = msg.getHeatedMirrorsAvailable(); + boolean climateEnableAvailable = msg.getClimateEnableAvailable(); // Valid Tests assertEquals(Test.MATCH, Test.GENERAL_STRING, moduleName); @@ -94,6 +96,8 @@ public class ClimateControlCapabilitiesTests extends TestCase{ assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, heatedWindshieldAvailable); assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, heatedRearWindowAvailable); assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, heatedMirrorsAvailable); + assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, climateEnableAvailable); + // Invalid/Null Tests ClimateControlCapabilities msg = new ClimateControlCapabilities(); assertNotNull(Test.NOT_NULL, msg); @@ -113,6 +117,7 @@ public class ClimateControlCapabilitiesTests extends TestCase{ assertNull(Test.NULL, msg.getHeatedWindshieldAvailable()); assertNull(Test.NULL, msg.getHeatedRearWindowAvailable()); assertNull(Test.NULL, msg.getHeatedMirrorsAvailable()); + assertNull(Test.NULL, msg.getClimateEnableAvailable()); } public void testJson(){ @@ -135,6 +140,7 @@ public class ClimateControlCapabilitiesTests extends TestCase{ reference.put(ClimateControlCapabilities.KEY_HEATED_WIND_SHIELD_AVAILABLE, Test.GENERAL_BOOLEAN); reference.put(ClimateControlCapabilities.KEY_HEATED_REAR_WINDOW_AVAILABLE, Test.GENERAL_BOOLEAN); reference.put(ClimateControlCapabilities.KEY_HEATED_MIRRORS_AVAILABLE, Test.GENERAL_BOOLEAN); + reference.put(ClimateControlCapabilities.KEY_CLIMATE_ENABLE_AVAILABLE, Test.GENERAL_BOOLEAN); JSONObject underTest = msg.serializeJSON(); assertEquals(Test.MATCH, reference.length(), underTest.length()); diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlDataTests.java index 99d5c3285..7aeeb76cd 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlDataTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlDataTests.java @@ -43,6 +43,7 @@ public class ClimateControlDataTests extends TestCase{ msg.setHeatedWindshieldEnable(Test.GENERAL_BOOLEAN); msg.setHeatedRearWindowEnable(Test.GENERAL_BOOLEAN); msg.setHeatedMirrorsEnable(Test.GENERAL_BOOLEAN); + msg.setClimateEnable(Test.GENERAL_BOOLEAN); } /** @@ -64,6 +65,7 @@ public class ClimateControlDataTests extends TestCase{ boolean heatedWindshieldEnable = msg.getHeatedWindshieldEnable(); boolean heatedRearWindowEnable = msg.getHeatedRearWindowEnable(); boolean heatedMirrorsEnable = msg.getHeatedMirrorsEnable(); + boolean climateEnable = msg.getClimateEnable(); // Valid Tests assertEquals(Test.MATCH, Test.GENERAL_INT, fanSpeed); @@ -80,6 +82,7 @@ public class ClimateControlDataTests extends TestCase{ assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, heatedWindshieldEnable); assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, heatedRearWindowEnable); assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, heatedMirrorsEnable); + assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, climateEnable); // Invalid/Null Tests ClimateControlData msg = new ClimateControlData(); @@ -99,6 +102,7 @@ public class ClimateControlDataTests extends TestCase{ assertNull(Test.NULL, msg.getHeatedWindshieldEnable()); assertNull(Test.NULL, msg.getHeatedRearWindowEnable()); assertNull(Test.NULL, msg.getHeatedMirrorsEnable()); + assertNull(Test.NULL, msg.getClimateEnable()); } public void testJson(){ @@ -119,6 +123,7 @@ public class ClimateControlDataTests extends TestCase{ reference.put(ClimateControlData.KEY_HEATED_WIND_SHIELD_ENABLE, Test.GENERAL_BOOLEAN); reference.put(ClimateControlData.KEY_HEATED_REAR_WINDOW_ENABLE, Test.GENERAL_BOOLEAN); reference.put(ClimateControlData.KEY_HEATED_MIRRORS_ENABLE, Test.GENERAL_BOOLEAN); + reference.put(ClimateControlData.KEY_CLIMATE_ENABLE, Test.GENERAL_BOOLEAN); JSONObject underTest = msg.serializeJSON(); assertEquals(Test.MATCH, reference.length(), underTest.length()); diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlCapabilitiesTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlCapabilitiesTests.java index 915e779a7..a525bdb23 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlCapabilitiesTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlCapabilitiesTests.java @@ -36,6 +36,7 @@ public class RadioControlCapabilitiesTests extends TestCase{ msg.setHdRadioEnableAvailable(Test.GENERAL_BOOLEAN); msg.setSiriusXMRadioAvailable(Test.GENERAL_BOOLEAN); msg.setSisDataAvailable(Test.GENERAL_BOOLEAN); + msg.setAvailableHdChannelsAvailable(Test.GENERAL_BOOLEAN); } /** @@ -56,6 +57,7 @@ public class RadioControlCapabilitiesTests extends TestCase{ boolean hdRadioEnableAvailable = msg.getHdRadioEnableAvailable(); boolean siriusXMRadioAvailable = msg.getSiriusXMRadioAvailable(); boolean sisDataAvailable = msg.getSisDataAvailable(); + boolean availableHdChannelsAvailable = msg.getAvailableHdChannelsAvailable(); // Valid Tests @@ -72,6 +74,7 @@ public class RadioControlCapabilitiesTests extends TestCase{ assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, hdRadioEnableAvailable); assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, siriusXMRadioAvailable); assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, sisDataAvailable); + assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, availableHdChannelsAvailable); // Invalid/Null Tests RadioControlCapabilities msg = new RadioControlCapabilities(); @@ -90,6 +93,7 @@ public class RadioControlCapabilitiesTests extends TestCase{ assertNull(Test.NULL, msg.getHdRadioEnableAvailable()); assertNull(Test.NULL, msg.getSiriusXMRadioAvailable()); assertNull(Test.NULL, msg.getSisDataAvailable()); + assertNull(Test.NULL, msg.getAvailableHdChannelsAvailable()); } public void testJson(){ @@ -109,6 +113,7 @@ public class RadioControlCapabilitiesTests extends TestCase{ reference.put(RadioControlCapabilities.KEY_HD_RADIO_ENABLE_AVAILABLE, Test.GENERAL_BOOLEAN); reference.put(RadioControlCapabilities.KEY_SIRIUS_XM_RADIO_AVAILABLE, Test.GENERAL_BOOLEAN); reference.put(RadioControlCapabilities.KEY_SIS_DATA_AVAILABLE, Test.GENERAL_BOOLEAN); + reference.put(RadioControlCapabilities.KEY_AVAILABLE_HD_CHANNELS_AVAILABLE, Test.GENERAL_BOOLEAN); JSONObject underTest = msg.serializeJSON(); assertEquals(Test.MATCH, reference.length(), underTest.length()); diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlDataTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlDataTests.java index a560827c4..6094b505a 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlDataTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlDataTests.java @@ -17,6 +17,7 @@ import org.json.JSONObject; import java.util.Hashtable; import java.util.Iterator; +import java.util.List; /** * This is a unit test class for the SmartDeviceLink library project class : @@ -42,6 +43,7 @@ public class RadioControlDataTests extends TestCase{ msg.setState(Test.GENERAL_RADIOSTATE); msg.setHdRadioEnable(Test.GENERAL_BOOLEAN); msg.setSisData(Test.GENERAL_SISDATA); + msg.setAvailableHdChannels(Test.GENERAL_AVAILABLE_HD_CHANNELS_LIST); } /** @@ -61,6 +63,7 @@ public class RadioControlDataTests extends TestCase{ RadioState state = msg.getState(); boolean hdRadioEnable = msg.getHdRadioEnable(); SisData sisData = msg.getSisData(); + List<Integer> availableHdChannels = msg.getAvailableHdChannels(); // Valid Tests assertEquals(Test.MATCH, Test.GENERAL_INT, frequencyInteger); @@ -75,6 +78,7 @@ public class RadioControlDataTests extends TestCase{ assertEquals(Test.MATCH, Test.GENERAL_RADIOSTATE, state); assertEquals(Test.MATCH, Test.GENERAL_BOOLEAN, hdRadioEnable); assertTrue(Test.TRUE, Validator.validateSisData(Test.GENERAL_SISDATA, sisData)); + assertEquals(Test.MATCH, Test.GENERAL_AVAILABLE_HD_CHANNELS_LIST, availableHdChannels); // Invalid/Null Tests RadioControlData msg = new RadioControlData(); @@ -92,6 +96,7 @@ public class RadioControlDataTests extends TestCase{ assertNull(Test.NULL, msg.getState()); assertNull(Test.NULL, msg.getHdRadioEnable()); assertNull(Test.NULL, msg.getSisData()); + assertNull(Test.NULL, msg.getAvailableHdChannels()); } public void testJson(){ @@ -110,6 +115,7 @@ public class RadioControlDataTests extends TestCase{ reference.put(RadioControlData.KEY_STATE, Test.GENERAL_RADIOSTATE); reference.put(RadioControlData.KEY_HD_RADIO_ENABLE, Test.GENERAL_BOOLEAN); reference.put(RadioControlData.KEY_SIS_DATA, JsonRPCMarshaller.serializeHashtable(Test.GENERAL_SISDATA.getStore())); + reference.put(RadioControlData.KEY_AVAILABLE_HD_CHANNELS, Test.GENERAL_AVAILABLE_HD_CHANNELS_LIST); JSONObject underTest = msg.serializeJSON(); assertEquals(Test.MATCH, reference.length(), underTest.length()); @@ -130,6 +136,10 @@ public class RadioControlDataTests extends TestCase{ Hashtable<String, Object> hashReference = JsonRPCMarshaller.deserializeJSONObject(objectEquals); Hashtable<String, Object> hashTest = JsonRPCMarshaller.deserializeJSONObject(testEquals); assertTrue(Test.TRUE, Validator.validateSisData(new SisData(hashReference), new SisData(hashTest))); + } else if(key.equals(RadioControlData.KEY_AVAILABLE_HD_CHANNELS)){ + List<Integer> list1 = Test.GENERAL_AVAILABLE_HD_CHANNELS_LIST; + List<Integer> list2 = JsonUtils.readIntegerListFromJsonObject(underTest, key); + assertTrue(Test.TRUE, Validator.validateIntegerList(list1,list2)); } else{ assertEquals(Test.MATCH, JsonUtils.readObjectFromJsonObject(reference, key), JsonUtils.readObjectFromJsonObject(underTest, key)); } diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java index 6961faf94..5a4a39c14 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java @@ -61,6 +61,7 @@ public class ClimateControlCapabilities extends RPCStruct{ public static final String KEY_HEATED_WIND_SHIELD_AVAILABLE = "heatedWindshieldAvailable"; public static final String KEY_HEATED_REAR_WINDOW_AVAILABLE = "heatedRearWindowAvailable"; public static final String KEY_HEATED_MIRRORS_AVAILABLE = "heatedMirrorsAvailable"; + public static final String KEY_CLIMATE_ENABLE_AVAILABLE = "climateEnableAvailable"; public ClimateControlCapabilities() { } @@ -403,4 +404,24 @@ public class ClimateControlCapabilities extends RPCStruct{ public Boolean getHeatedMirrorsAvailable() { return getBoolean(KEY_HEATED_MIRRORS_AVAILABLE); } + + /** + * Sets the climateEnableAvailable portion of the ClimateControlCapabilities class + * + * @param climateEnableAvailable Availability of the control of enable/disable climate control. + * True: Available, False: Not Available, Not present: Not Available. + */ + public void setClimateEnableAvailable(Boolean climateEnableAvailable) { + setValue(KEY_CLIMATE_ENABLE_AVAILABLE, climateEnableAvailable); + } + + /** + * Gets the climateEnableAvailable portion of the ClimateControlCapabilities class + * + * @return Boolean - Availability of the control of enable/disable climate control. + * True: Available, False: Not Available, Not present: Not Available. + */ + public Boolean getClimateEnableAvailable() { + return getBoolean(KEY_CLIMATE_ENABLE_AVAILABLE); + } } diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlData.java index 4f9a8d09f..365a74044 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlData.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlData.java @@ -52,6 +52,7 @@ public class ClimateControlData extends RPCStruct{ public static final String KEY_HEATED_WIND_SHIELD_ENABLE = "heatedWindshieldEnable"; public static final String KEY_HEATED_REAR_WINDOW_ENABLE = "heatedRearWindowEnable"; public static final String KEY_HEATED_MIRRORS_ENABLE = "heatedMirrorsEnable"; + public static final String KEY_CLIMATE_ENABLE = "climateEnable"; public ClimateControlData() { } @@ -211,4 +212,22 @@ public class ClimateControlData extends RPCStruct{ public Boolean getHeatedMirrorsEnable() { return getBoolean(KEY_HEATED_MIRRORS_ENABLE); } + + /** + * Sets the climateEnable portion of the ClimateControlData class + * + * @param climateEnable Value false means disabled, value true means enabled. + */ + public void setClimateEnable(Boolean climateEnable) { + setValue(KEY_CLIMATE_ENABLE, climateEnable); + } + + /** + * Gets the climateEnable portion of the ClimateControlData class + * + * @return Boolean - Value false means disabled, value true means enabled. + */ + public Boolean getClimateEnable() { + return getBoolean(KEY_CLIMATE_ENABLE); + } } diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java index da987e48a..e729c2934 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java @@ -54,6 +54,7 @@ public class RadioControlCapabilities extends RPCStruct{ public static final String KEY_HD_RADIO_ENABLE_AVAILABLE = "hdRadioEnableAvailable"; public static final String KEY_SIRIUS_XM_RADIO_AVAILABLE = "siriusxmRadioAvailable"; public static final String KEY_SIS_DATA_AVAILABLE = "sisDataAvailable"; + public static final String KEY_AVAILABLE_HD_CHANNELS_AVAILABLE = "availableHdChannelsAvailable"; public RadioControlCapabilities() { } @@ -204,6 +205,7 @@ public class RadioControlCapabilities extends RPCStruct{ * Availability of the getting the number of available HD channels. * True: Available, False: Not Available, Not present: Not Available. */ + @Deprecated public void setAvailableHDsAvailable(Boolean availableHDsAvailable) { setValue(KEY_AVAILABLE_HDS_AVAILABLE, availableHDsAvailable); } @@ -214,11 +216,33 @@ public class RadioControlCapabilities extends RPCStruct{ * @return Boolean - Availability of the getting the number of available HD channels. * True: Available, False: Not Available, Not present: Not Available. */ + @Deprecated public Boolean getAvailableHDsAvailable() { return getBoolean(KEY_AVAILABLE_HDS_AVAILABLE); } /** + * Sets the availableHdChannelsAvailable portion of the RadioControlCapabilities class + * + * @param availableHdChannelsAvailable + * Availability of the list of available HD sub-channel indexes. + * True: Available, False: Not Available, Not present: Not Available. + */ + public void setAvailableHdChannelsAvailable(Boolean availableHdChannelsAvailable) { + setValue(KEY_AVAILABLE_HD_CHANNELS_AVAILABLE, availableHdChannelsAvailable); + } + + /** + * Gets the availableHdChannelsAvailable portion of the RadioControlCapabilities class + * + * @return Boolean - Availability of the list of available HD sub-channel indexes. + * True: Available, False: Not Available, Not present: Not Available. + */ + public Boolean getAvailableHdChannelsAvailable() { + return getBoolean(KEY_AVAILABLE_HD_CHANNELS_AVAILABLE); + } + + /** * Sets the stateAvailable portion of the RadioControlCapabilities class * * @param stateAvailable diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java index 8fbd001fb..4de584a9f 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java @@ -36,6 +36,7 @@ import com.smartdevicelink.proxy.rpc.enums.RadioBand; import com.smartdevicelink.proxy.rpc.enums.RadioState; import java.util.Hashtable; +import java.util.List; /** * Include information (both read-only and changeable data) about a @@ -54,6 +55,7 @@ public class RadioControlData extends RPCStruct{ public static final String KEY_STATE= "state"; public static final String KEY_HD_RADIO_ENABLE = "hdRadioEnable"; public static final String KEY_SIS_DATA = "sisData"; + public static final String KEY_AVAILABLE_HD_CHANNELS= "availableHdChannels"; public RadioControlData() { } @@ -144,6 +146,7 @@ public class RadioControlData extends RPCStruct{ * @param availableHDs * Number of HD sub-channels if available. */ + @Deprecated public void setAvailableHDs(Integer availableHDs) { setValue(KEY_AVAILABLE_HDS, availableHDs); } @@ -153,6 +156,7 @@ public class RadioControlData extends RPCStruct{ * * @return Integer - Number of HD sub-channels if available. */ + @Deprecated public Integer getAvailableHDs() { return getInteger(KEY_AVAILABLE_HDS); } @@ -290,4 +294,23 @@ public class RadioControlData extends RPCStruct{ public SisData getSisData() { return (SisData) getObject(SisData.class, KEY_SIS_DATA); } + + /** + * Sets the availableHdChannels portion of the RadioControlData class + * + * @param availableHdChannels List of available hd sub-channel indexes, empty list means no Hd channel is available, read-only. + */ + public void setAvailableHdChannels(List<Integer> availableHdChannels){ + setValue(KEY_AVAILABLE_HD_CHANNELS, availableHdChannels); + } + + /** + * Gets the availableHdChannels portion of the RadioControlData class + * + * @return List<Integer> - List of available hd sub-channel indexes, empty list means no Hd channel is available, read-only. + */ + @SuppressWarnings("unchecked") + public List<Integer> getAvailableHdChannels(){ + return (List<Integer>) getObject(Integer.class,KEY_AVAILABLE_HD_CHANNELS); + } } |