summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilal Alsharifi <599206+bilal-alsharifi@users.noreply.github.com>2019-07-15 09:57:50 -0400
committerGitHub <noreply@github.com>2019-07-15 09:57:50 -0400
commit95b0b1b975139120c9b098bd4f036852a5ad6adb (patch)
tree6b4225f47bce52ece9578de5b41e5871e62a043c
parent88b066412d0e3e94bbd1b7d2e2a07c35f2eb4f18 (diff)
parenta85e4518f8728064e5e31cd139953f22cdb6b5b3 (diff)
downloadsdl_android-95b0b1b975139120c9b098bd4f036852a5ad6adb.tar.gz
Merge pull request #1092 from mrapitis/feature/radio_climate_update
Feature/issue 960 Remote Control - Radio and Climate Parameter Update
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlCapabilitiesTests.java6
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/ClimateControlDataTests.java5
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlCapabilitiesTests.java5
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/RadioControlDataTests.java10
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlCapabilities.java21
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/ClimateControlData.java19
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java24
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlData.java23
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 ad9ee5b3a..e6a005e8c 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
@@ -455,6 +455,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 int GENERAL_MENU_MAX_ID = 2000000000;
public static final MenuCell GENERAL_MENUCELL = new MenuCell(GENERAL_STRING,null, null, new MenuSelectionListener() {
@Override
@@ -473,7 +474,6 @@ public class Test {
});
public static final List<VoiceCommand> GENERAL_VOICE_COMMAND_LIST = Arrays.asList(GENERAL_VOICE_COMMAND);
-
public static final JSONArray JSON_TURNS = new JSONArray();
public static final JSONArray JSON_CHOICES = new JSONArray();
public static final JSONArray JSON_HMILEVELS = 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);
+ }
}