summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnil Dahiya <anil_dahiya@infosys.com>2017-12-11 16:58:50 +0530
committerAnil Dahiya <anil_dahiya@infosys.com>2018-07-11 20:17:33 +0530
commit65a358d2f63b85a3e01281f0740490a1527bdde6 (patch)
tree4a05cce0583152e926d33c3a68dff3aa93c15ab3
parent6a9cf3530fceb52fc98a12e7ef30b366067c6648 (diff)
downloadsdl_android-65a358d2f63b85a3e01281f0740490a1527bdde6.tar.gz
Implementation of Remote Control - Seat changes.
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java67
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java68
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java19
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RemoteControlCapabilities.java21
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java328
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java337
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java82
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageCushion.java21
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageMode.java19
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageZone.java24
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/ModuleType.java1
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SeatMemoryActionType.java25
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SupportedSeat.java18
13 files changed, 1030 insertions, 0 deletions
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java
new file mode 100644
index 000000000..b7da59b13
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageCushionFirmness.java
@@ -0,0 +1,67 @@
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.MassageCushion;
+
+import java.util.Hashtable;
+
+/**
+ * The intensity or firmness of a cushion.
+ */
+
+public class MassageCushionFirmness extends RPCStruct{
+ public static final String KEY_CUSHION = "cushion";
+ public static final String KEY_FIRMNESS = "firmness";
+
+ /**
+ * Constructs a new MassageCushionFirmness object
+ */
+ public MassageCushionFirmness() { }
+
+ /**
+ * <p>Constructs a new MassageCushionFirmness object indicated by the Hashtable parameter
+ * </p>
+ *
+ * @param hash
+ * The Hashtable to use
+ */
+ public MassageCushionFirmness(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the cushion portion of the MassageCushionFirmness class
+ *
+ * @param cushion
+ */
+ public void setCushion(MassageCushion cushion) {
+ setValue(KEY_CUSHION, cushion);
+ }
+
+ /**
+ * Gets the cushion portion of the MassageCushionFirmness class
+ *
+ * @return MassageCushion.
+ */
+ public MassageCushion getCushion() {
+ return (MassageCushion) getObject(MassageCushion.class, KEY_CUSHION);
+ }
+
+ /**
+ * Sets the firmness portion of the MassageCushionFirmness class
+ *
+ * @param firmness
+ */
+ public void setFirmness(Integer firmness) {
+ setValue(KEY_FIRMNESS, firmness);
+ }
+
+ /**
+ * Gets the firmness portion of the MassageCushionFirmness class
+ *
+ * @return Integer
+ */
+ public Integer getFirmness() {
+ return getInteger(KEY_FIRMNESS);
+ }
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java
new file mode 100644
index 000000000..e65ff478d
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/MassageModeData.java
@@ -0,0 +1,68 @@
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.MassageMode;
+import com.smartdevicelink.proxy.rpc.enums.MassageZone;
+
+import java.util.Hashtable;
+
+/**
+ * Specify the mode of a massage zone.
+ */
+
+public class MassageModeData extends RPCStruct{
+ public static final String KEY_MASSAGE_ZONE = "massageZone";
+ public static final String KEY_MASSAGE_MODE = "massageMode";
+
+ /**
+ * Constructs a new MassageModeData object
+ */
+ public MassageModeData() { }
+
+ /**
+ * <p>Constructs a new MassageModeData object indicated by the Hashtable parameter
+ * </p>
+ *
+ * @param hash
+ * The Hashtable to use
+ */
+ public MassageModeData(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the massageZone portion of the MassageModeData class
+ *
+ * @param massageZone
+ */
+ public void setMassageZone(MassageZone massageZone) {
+ setValue(KEY_MASSAGE_ZONE, massageZone);
+ }
+
+ /**
+ * Gets the massageZone portion of the MassageModeData class
+ *
+ * @return MassageZone.
+ */
+ public MassageZone getMassageZone() {
+ return (MassageZone) getObject(MassageZone.class, KEY_MASSAGE_ZONE);
+ }
+
+ /**
+ * Gets the massageMode portion of the MassageModeData class
+ *
+ * @return MassageMode
+ */
+ public MassageMode getMassageMode() {
+ return (MassageMode) getObject(MassageMode.class, KEY_MASSAGE_MODE);
+ }
+
+ /**
+ * Sets the massageMode portion of the MassageModeData class
+ *
+ * @param massageMode
+ */
+ public void setMassageMode(MassageMode massageMode) {
+ setValue(KEY_MASSAGE_MODE, massageMode);
+ }
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java
index 9ae3f7fd3..f8b68e3f6 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/ModuleData.java
@@ -12,6 +12,7 @@ public class ModuleData extends RPCStruct{
public static final String KEY_MODULE_TYPE= "moduleType";
public static final String KEY_RADIO_CONTROL_DATA = "radioControlData";
public static final String KEY_CLIMATE_CONTROL_DATA = "climateControlData";
+ public static final String KEY_SEAT_CONTROL_DATA = "seatControlData";
public ModuleData() {
}
@@ -81,4 +82,22 @@ public class ModuleData extends RPCStruct{
public ClimateControlData getClimateControlData() {
return (ClimateControlData) getObject(ClimateControlData.class, KEY_CLIMATE_CONTROL_DATA);
}
+
+ /**
+ * Sets the seatControlData portion of the ModuleData class
+ *
+ * @param seatControlData
+ */
+ public void setSeatControlData(SeatControlData seatControlData) {
+ setValue(KEY_SEAT_CONTROL_DATA, seatControlData);
+ }
+
+ /**
+ * Gets the seatControlData portion of the ModuleData class
+ *
+ * @return SeatControlData
+ */
+ public SeatControlData getSeatControlData() {
+ return (SeatControlData) getObject(SeatControlData.class, KEY_SEAT_CONTROL_DATA);
+ }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RemoteControlCapabilities.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RemoteControlCapabilities.java
index ec51aa633..72a7e3069 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RemoteControlCapabilities.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RemoteControlCapabilities.java
@@ -8,6 +8,7 @@ public class RemoteControlCapabilities extends RPCStruct{
public static final String KEY_CLIMATE_CONTROL_CAPABILITIES= "climateControlCapabilities";
public static final String KEY_RADIO_CONTROL_CAPABILITIES = "radioControlCapabilities";
public static final String KEY_BUTTON_CAPABILITIES = "buttonCapabilities";
+ public static final String KEY_SEAT_CONTROL_CAPABILITIES = "seatControlCapabilities";
public RemoteControlCapabilities() {
}
@@ -79,4 +80,24 @@ public class RemoteControlCapabilities extends RPCStruct{
public List<ButtonCapabilities> getButtonCapabilities() {
return (List<ButtonCapabilities>) getObject(ButtonCapabilities.class, KEY_BUTTON_CAPABILITIES);
}
+
+ /**
+ * Sets the seatControlCapabilities portion of the RemoteControlCapabilities class
+ *
+ * @param seatControlCapabilities
+ * If included, the platform supports seat controls.
+ */
+ public void setSeatControlCapabilities(List<SeatControlCapabilities> seatControlCapabilities) {
+ setValue(KEY_SEAT_CONTROL_CAPABILITIES, seatControlCapabilities);
+ }
+
+ /**
+ * Gets the seatControlCapabilities portion of the RemoteControlCapabilities class
+ *
+ * @return List<SeatControlCapabilities>
+ * If included, the platform supports seat controls.
+ */
+ public List<SeatControlCapabilities> getSeatControlCapabilities() {
+ return (List<SeatControlCapabilities>) getObject(SeatControlCapabilities.class, KEY_SEAT_CONTROL_CAPABILITIES);
+ }
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
new file mode 100644
index 000000000..baf6057db
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
@@ -0,0 +1,328 @@
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.SupportedSeat;
+
+import java.util.Hashtable;
+import java.util.List;
+
+public class SeatControlCapabilities extends RPCStruct{
+ public static final String KEY_MODULE_NAME = "moduleName";
+ public static final String KEY_HEATING_ENABLED_AVAILABLE = "heatingEnabledAvailable";
+ public static final String KEY_COOLING_ENABLED_AVAILABLE = "coolingEnabledAvailable";
+ public static final String KEY_HEATING_LEVEL_AVAILABLE = "heatingLevelAvailable";
+ public static final String KEY_COOLING_LEVEL_AVAILABLE = "coolingLevelAvailable";
+ public static final String KEY_HORIZONTAL_POSITION_AVAILABLE = "horizontalPositionAvailable";
+ public static final String KEY_VERTICAL_POSITION_AVAILABLE = "verticalPositionAvailable";
+ public static final String KEY_FRONT_VERTICAL_POSITION_AVAILABLE = "frontVerticalPositionAvailable";
+ public static final String KEY_BACK_VERTICAL_POSITION_AVAILABLE = "backVerticalPositionAvailable";
+ public static final String KEY_BACK_TILT_ANGLE_AVAILABLE = "backTiltAngleAvailable";
+ public static final String KEY_HEAD_SUPPORT_HORIZONTAL_POSITION_AVAILABLE = "headSupportHorizontalPositionAvailable";
+ public static final String KEY_HEAD_SUPPORT_VERTICAL_POSITION_AVAILABLE = "headSupportVerticalPositionAvailable";
+ public static final String KEY_MASSAGE_ENABLED_AVAILABLE = "massageEnabledAvailable";
+ public static final String KEY_MASSAGE_MODE_AVAILABLE = "massageModeAvailable";
+ public static final String KEY_MASSAGE_CUSHION_FIRMNESS_AVAILABLE = "massageCushionFirmnessAvailable";
+ public static final String KEY_MEMORY_AVAILABLE = "memoryAvailable";
+
+ /**
+ * Constructs a new SeatControlCapabilities object
+ */
+ public SeatControlCapabilities() { }
+
+ /**
+ * <p>Constructs a new SeatControlCapabilities object indicated by the Hashtable parameter
+ * </p>
+ *
+ * @param hash
+ * The Hashtable to use
+ */
+ public SeatControlCapabilities(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Get the moduleName portion of the SeatControlCapabilities class
+ * @return String
+ */
+ public String getModuleName() {
+ return getString( KEY_MODULE_NAME );
+ }
+
+ /**
+ * Sets the moduleName portion of the SeatControlCapabilities class
+ * @param moduleName - The short friendly name of the light control module. It should not be used to identify a module by mobile application.
+ */
+ public void setModuleName( String moduleName ) {
+ setValue(KEY_MODULE_NAME, moduleName);
+ }
+
+ /**
+ * Sets the heatingEnabledAvailable portion of the SeatControlCapabilities class
+ *
+ * @param heatingEnabledAvailable
+ */
+ public void setHeatingEnabledAvailable(Boolean heatingEnabledAvailable) {
+ setValue(KEY_HEATING_ENABLED_AVAILABLE, heatingEnabledAvailable);
+ }
+
+ /**
+ * Gets the heatingEnabledAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getHeatingEnabledAvailable() {
+ return getBoolean(KEY_HEATING_ENABLED_AVAILABLE);
+ }
+
+ /**
+ * Sets the coolingEnabledAvailable portion of the SeatControlCapabilities class
+ *
+ * @param coolingEnabledAvailable
+ */
+ public void setCoolingEnabledAvailable(Boolean coolingEnabledAvailable) {
+ setValue(KEY_COOLING_ENABLED_AVAILABLE, coolingEnabledAvailable);
+ }
+
+ /**
+ * Gets the coolingEnabledAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getCoolingEnabledAvailable() {
+ return getBoolean(KEY_COOLING_ENABLED_AVAILABLE);
+ }
+
+ /**
+ * Sets the heatingLevelAvailable portion of the SeatControlCapabilities class
+ *
+ * @param heatingLevelAvailable
+ */
+ public void setHeatingLevelAvailable(Boolean heatingLevelAvailable) {
+ setValue(KEY_HEATING_LEVEL_AVAILABLE, heatingLevelAvailable);
+ }
+
+ /**
+ * Gets the heatingLevelAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getHeatingLevelAvailable() {
+ return getBoolean(KEY_HEATING_LEVEL_AVAILABLE);
+ }
+
+ /**
+ * Sets the coolingLevelAvailable portion of the SeatControlCapabilities class
+ *
+ * @param coolingLevelAvailable
+ */
+ public void setCoolingLevelAvailable(Boolean coolingLevelAvailable) {
+ setValue(KEY_COOLING_LEVEL_AVAILABLE, coolingLevelAvailable);
+ }
+
+ /**
+ * Gets the coolingLevelAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getCoolingLevelAvailable() {
+ return getBoolean(KEY_COOLING_LEVEL_AVAILABLE);
+ }
+
+ /**
+ * Sets the horizontalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @param horizontalPositionAvailable
+ */
+ public void setHorizontalPositionAvailable(Boolean horizontalPositionAvailable) {
+ setValue(KEY_HORIZONTAL_POSITION_AVAILABLE, horizontalPositionAvailable);
+ }
+
+ /**
+ * Gets the horizontalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getHorizontalPositionAvailable() {
+ return getBoolean(KEY_HORIZONTAL_POSITION_AVAILABLE);
+ }
+
+ /**
+ * Sets the verticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @param verticalPositionAvailable
+ */
+ public void setVerticalPositionAvailable(Boolean verticalPositionAvailable) {
+ setValue(KEY_VERTICAL_POSITION_AVAILABLE, verticalPositionAvailable);
+ }
+
+ /**
+ * Gets the verticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getVerticalPositionAvailable() {
+ return getBoolean(KEY_VERTICAL_POSITION_AVAILABLE);
+ }
+
+ /**
+ * Sets the frontVerticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @param frontVerticalPositionAvailable
+ */
+ public void setFrontVerticalPositionAvailable(Boolean frontVerticalPositionAvailable) {
+ setValue(KEY_FRONT_VERTICAL_POSITION_AVAILABLE, frontVerticalPositionAvailable);
+ }
+
+ /**
+ * Gets the frontVerticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getFrontVerticalPositionAvailable() {
+ return getBoolean(KEY_FRONT_VERTICAL_POSITION_AVAILABLE);
+ }
+
+ /**
+ * Sets the backVerticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @param backVerticalPositionAvailable
+ */
+ public void setBackVerticalPositionAvailable(Boolean backVerticalPositionAvailable) {
+ setValue(KEY_BACK_VERTICAL_POSITION_AVAILABLE, backVerticalPositionAvailable);
+ }
+
+ /**
+ * Gets the backVerticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getBackVerticalPositionAvailable() {
+ return getBoolean(KEY_BACK_VERTICAL_POSITION_AVAILABLE);
+ }
+
+ /**
+ * Sets the backTiltAngleAvailable portion of the SeatControlCapabilities class
+ *
+ * @param backTiltAngleAvailable
+ */
+ public void setBackTiltAngleAvailable(Boolean backTiltAngleAvailable) {
+ setValue(KEY_BACK_TILT_ANGLE_AVAILABLE, backTiltAngleAvailable);
+ }
+
+ /**
+ * Gets the backTiltAngleAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getBackTiltAngleAvailable() {
+ return getBoolean(KEY_BACK_TILT_ANGLE_AVAILABLE);
+ }
+
+ /**
+ * Sets the headSupportHorizontalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @param headSupportHorizontalPositionAvailable
+ */
+ public void setHeadSupportHorizontalPositionAvailable(Boolean headSupportHorizontalPositionAvailable) {
+ setValue(KEY_HEAD_SUPPORT_HORIZONTAL_POSITION_AVAILABLE, headSupportHorizontalPositionAvailable);
+ }
+
+ /**
+ * Gets the headSupportHorizontalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getHeadSupportHorizontalPositionAvailable() {
+ return getBoolean(KEY_HEAD_SUPPORT_HORIZONTAL_POSITION_AVAILABLE);
+ }
+
+ /**
+ * Sets the headSupportVerticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @param headSupportVerticalPositionAvailable
+ */
+ public void setHeadSupportVerticalPositionAvailable(Boolean headSupportVerticalPositionAvailable) {
+ setValue(KEY_HEAD_SUPPORT_VERTICAL_POSITION_AVAILABLE, headSupportVerticalPositionAvailable);
+ }
+
+ /**
+ * Gets the headSupportVerticalPositionAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getHeadSupportVerticalPositionAvailable() {
+ return getBoolean(KEY_HEAD_SUPPORT_VERTICAL_POSITION_AVAILABLE);
+ }
+
+ /**
+ * Sets the massageEnabledAvailable portion of the SeatControlCapabilities class
+ *
+ * @param massageEnabledAvailable
+ */
+ public void setMassageEnabledAvailable(Boolean massageEnabledAvailable) {
+ setValue(KEY_MASSAGE_ENABLED_AVAILABLE, massageEnabledAvailable);
+ }
+
+ /**
+ * Gets the massageEnabledAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getMassageEnabledAvailable() {
+ return getBoolean(KEY_MASSAGE_ENABLED_AVAILABLE);
+ }
+
+ /**
+ * Sets the massageModeAvailable portion of the SeatControlCapabilities class
+ *
+ * @param massageModeAvailable
+ */
+ public void setMassageModeAvailable(Boolean massageModeAvailable) {
+ setValue(KEY_MASSAGE_MODE_AVAILABLE, massageModeAvailable);
+ }
+
+ /**
+ * Gets the massageModeAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getMassageModeAvailable() {
+ return getBoolean(KEY_MASSAGE_MODE_AVAILABLE);
+ }
+
+ /**
+ * Sets the massageCushionFirmnessAvailable portion of the SeatControlCapabilities class
+ *
+ * @param massageCushionFirmnessAvailable
+ */
+ public void setMassageCushionFirmnessAvailable(Boolean massageCushionFirmnessAvailable) {
+ setValue(KEY_MASSAGE_CUSHION_FIRMNESS_AVAILABLE, massageCushionFirmnessAvailable);
+ }
+
+ /**
+ * Gets the massageCushionFirmnessAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getMassageCushionFirmnessAvailable() {
+ return getBoolean(KEY_MASSAGE_CUSHION_FIRMNESS_AVAILABLE);
+ }
+
+ /**
+ * Sets the memoryAvailable portion of the SeatControlCapabilities class
+ *
+ * @param memoryAvailable
+ */
+ public void setMemoryAvailable(Boolean memoryAvailable) {
+ setValue(KEY_MEMORY_AVAILABLE, memoryAvailable);
+ }
+
+ /**
+ * Gets the memoryAvailable portion of the SeatControlCapabilities class
+ *
+ * @return Boolean.
+ */
+ public Boolean getMemoryAvailable() {
+ return getBoolean(KEY_MEMORY_AVAILABLE);
+ }
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java
new file mode 100644
index 000000000..7fcf85da9
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlData.java
@@ -0,0 +1,337 @@
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.SupportedSeat;
+
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Seat control data corresponds to "SEAT" ModuleType.
+ */
+
+public class SeatControlData extends RPCStruct{
+ public static final String KEY_ID = "id";
+ public static final String KEY_HEATING_ENABLED = "heatingEnabled";
+ public static final String KEY_COOLING_ENABLED = "coolingEnabled";
+ public static final String KEY_HEATING_LEVEL = "heatingLevel";
+ public static final String KEY_COOLING_LEVEL = "coolingLevel";
+ public static final String KEY_HORIZONTAL_POSITION = "horizontalPosition";
+ public static final String KEY_VERTICAL_POSITION = "verticalPosition";
+ public static final String KEY_FRONT_VERTICAL_POSITION = "frontVerticalPosition";
+ public static final String KEY_BACK_VERTICAL_POSITION = "backVerticalPosition";
+ public static final String KEY_BACK_TILT_ANGLE = "backTiltAngle";
+ public static final String KEY_HEAD_SUPPORT_HORIZONTAL_POSITION = "headSupportHorizontalPosition";
+ public static final String KEY_HEAD_SUPPORT_VERTICAL_POSITION = "headSupportVerticalPosition";
+ public static final String KEY_MASSAGE_ENABLED = "massageEnabled";
+ public static final String KEY_MASSAGE_MODE = "massageMode";
+ public static final String KEY_MASSAGE_CUSHION_FIRMNESS = "massageCushionFirmness";
+ public static final String KEY_MEMORY = "memory";
+
+ /**
+ * Constructs a new SeatControlData object
+ */
+ public SeatControlData() { }
+
+ /**
+ * <p>Constructs a new SeatControlData object indicated by the Hashtable parameter
+ * </p>
+ *
+ * @param hash
+ * The Hashtable to use
+ */
+ public SeatControlData(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the id portion of the SeatControlData class
+ *
+ * @param id
+ */
+ public void setId(SupportedSeat id) {
+ setValue(KEY_ID, id);
+ }
+
+ /**
+ * Gets the id portion of the SeatControlData class
+ *
+ * @return SupportedSeat.
+ */
+ public SupportedSeat getId() {
+ return (SupportedSeat) getObject(SupportedSeat.class, KEY_ID);
+ }
+
+ /**
+ * Sets the heatingEnabled portion of the SeatControlData class
+ *
+ * @param heatingEnabled
+ */
+ public void setHeatingEnabled(Boolean heatingEnabled) {
+ setValue(KEY_HEATING_ENABLED, heatingEnabled);
+ }
+
+ /**
+ * Gets the heatingEnabled portion of the SeatControlData class
+ *
+ * @return Boolean.
+ */
+ public Boolean getHeatingEnabled() {
+ return getBoolean(KEY_HEATING_ENABLED);
+ }
+
+ /**
+ * Sets the coolingEnabled portion of the SeatControlData class
+ *
+ * @param coolingEnabled
+ */
+ public void setCoolingEnabled(Boolean coolingEnabled) {
+ setValue(KEY_COOLING_ENABLED, coolingEnabled);
+ }
+
+ /**
+ * Gets the coolingEnabled portion of the SeatControlData class
+ *
+ * @return Boolean.
+ */
+ public Boolean getCoolingEnabled() {
+ return getBoolean(KEY_COOLING_ENABLED);
+ }
+
+ /**
+ * Sets the heatingLevel portion of the SeatControlData class
+ *
+ * @param heatingLevel
+ */
+ public void setHeatingLevel(Integer heatingLevel) {
+ setValue(KEY_HEATING_LEVEL, heatingLevel);
+ }
+
+ /**
+ * Gets the heatingLevel portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getHeatingLevel() {
+ return getInteger(KEY_HEATING_LEVEL);
+ }
+
+ /**
+ * Sets the coolingLevel portion of the SeatControlData class
+ *
+ * @param coolingLevel
+ */
+ public void setCoolingLevel(Integer coolingLevel) {
+ setValue(KEY_COOLING_LEVEL, coolingLevel);
+ }
+
+ /**
+ * Gets the coolingLevel portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getCoolingLevel() {
+ return getInteger(KEY_COOLING_LEVEL);
+ }
+
+ /**
+ * Sets the horizontalPosition portion of the SeatControlData class
+ *
+ * @param horizontalPosition
+ */
+ public void setHorizontalPosition(Integer horizontalPosition) {
+ setValue(KEY_HORIZONTAL_POSITION, horizontalPosition);
+ }
+
+ /**
+ * Gets the horizontalPosition portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getHorizontalPosition() {
+ return getInteger(KEY_HORIZONTAL_POSITION);
+ }
+
+ /**
+ * Sets the verticalPosition portion of the SeatControlData class
+ *
+ * @param verticalPosition
+ */
+ public void setVerticalPosition(Integer verticalPosition) {
+ setValue(KEY_VERTICAL_POSITION, verticalPosition);
+ }
+
+ /**
+ * Gets the verticalPosition portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getVerticalPosition() {
+ return getInteger(KEY_VERTICAL_POSITION);
+ }
+
+ /**
+ * Sets the frontVerticalPosition portion of the SeatControlData class
+ *
+ * @param frontVerticalPosition
+ */
+ public void setFrontVerticalPosition(Integer frontVerticalPosition) {
+ setValue(KEY_FRONT_VERTICAL_POSITION, frontVerticalPosition);
+ }
+
+ /**
+ * Gets the frontVerticalPosition portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getFrontVerticalPosition() {
+ return getInteger(KEY_FRONT_VERTICAL_POSITION);
+ }
+
+ /**
+ * Sets the backVerticalPosition portion of the SeatControlData class
+ *
+ * @param backVerticalPosition
+ */
+ public void setBackVerticalPosition(Integer backVerticalPosition) {
+ setValue(KEY_BACK_VERTICAL_POSITION, backVerticalPosition);
+ }
+
+ /**
+ * Gets the backVerticalPosition portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getBackVerticalPosition() {
+ return getInteger(KEY_BACK_VERTICAL_POSITION);
+ }
+
+ /**
+ * Sets the backTiltAngle portion of the SeatControlData class
+ *
+ * @param backTiltAngle
+ */
+ public void setBackTiltAngle(Integer backTiltAngle) {
+ setValue(KEY_BACK_TILT_ANGLE, backTiltAngle);
+ }
+
+ /**
+ * Gets the backTiltAngle portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getBackTiltAngle() {
+ return getInteger(KEY_BACK_TILT_ANGLE);
+ }
+
+ /**
+ * Sets the headSupportHorizontalPosition portion of the SeatControlData class
+ *
+ * @param headSupportHorizontalPosition
+ */
+ public void setHeadSupportHorizontalPosition(Integer headSupportHorizontalPosition) {
+ setValue(KEY_HEAD_SUPPORT_HORIZONTAL_POSITION, headSupportHorizontalPosition);
+ }
+
+ /**
+ * Gets the headSupportHorizontalPosition portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getHeadSupportHorizontalPosition() {
+ return getInteger(KEY_HEAD_SUPPORT_HORIZONTAL_POSITION);
+ }
+
+ /**
+ * Sets the headSupportVerticalPosition portion of the SeatControlData class
+ *
+ * @param headSupportVerticalPosition
+ */
+ public void setHeadSupportVerticalPosition(Integer headSupportVerticalPosition) {
+ setValue(KEY_HEAD_SUPPORT_VERTICAL_POSITION, headSupportVerticalPosition);
+ }
+
+ /**
+ * Gets the headSupportVerticalPosition portion of the SeatControlData class
+ *
+ * @return Integer
+ */
+ public Integer getHeadSupportVerticalPosition() {
+ return getInteger(KEY_HEAD_SUPPORT_VERTICAL_POSITION);
+ }
+
+ /**
+ * Sets the massageEnabled portion of the SeatControlData class
+ *
+ * @param massageEnabled
+ */
+ public void setMassageEnabled(Boolean massageEnabled) {
+ setValue(KEY_MASSAGE_ENABLED, massageEnabled);
+ }
+
+ /**
+ * Gets the massageEnabled portion of the SeatControlData class
+ *
+ * @return Boolean.
+ */
+ public Boolean getMassageEnabled() {
+ return getBoolean(KEY_MASSAGE_ENABLED);
+ }
+
+ /**
+ * Gets the List<MassageModeData> portion of the SeatControlData class
+ *
+ * @return List<MassageModeData>.
+ */
+ @SuppressWarnings("unchecked")
+ public List<MassageModeData> getMassageMode() {
+ return (List<MassageModeData>) getObject(MassageModeData.class, KEY_MASSAGE_MODE);
+ }
+
+ /**
+ * Sets the massageMode portion of the SeatControlData class
+ *
+ * @param massageMode
+ */
+ public void setMassageMode( List<MassageModeData> massageMode ) {
+ setValue(KEY_MASSAGE_MODE, massageMode);
+ }
+
+ /**
+ * Gets the List<MassageCushionFirmness> portion of the SeatControlData class
+ *
+ * @return List<MassageCushionFirmness>.
+ */
+ @SuppressWarnings("unchecked")
+ public List<MassageCushionFirmness> getMassageCushionFirmness() {
+ return (List<MassageCushionFirmness>) getObject(MassageCushionFirmness.class, KEY_MASSAGE_CUSHION_FIRMNESS);
+ }
+
+ /**
+ * Sets the massageCushionFirmness portion of the SeatControlData class
+ *
+ * @param massageCushionFirmness
+ */
+ public void setMassageCushionFirmness( List<MassageCushionFirmness> massageCushionFirmness ) {
+ setValue(KEY_MASSAGE_CUSHION_FIRMNESS, massageCushionFirmness);
+ }
+
+ /**
+ * Sets the memory portion of the SeatControlData class
+ *
+ * @param memory
+ */
+ public void setMemory(SeatMemoryAction memory) {
+ setValue(KEY_MEMORY, memory);
+ }
+
+ /**
+ * Gets the memory portion of the SeatControlData class
+ *
+ * @return SeatMemoryAction.
+ */
+ @SuppressWarnings("unchecked")
+ public SeatMemoryAction getMemory() {
+ return (SeatMemoryAction) getObject(SeatMemoryAction.class, KEY_MEMORY);
+ }
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java
new file mode 100644
index 000000000..44a64ae75
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SeatMemoryAction.java
@@ -0,0 +1,82 @@
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+import com.smartdevicelink.proxy.rpc.enums.SeatMemoryActionType;
+
+import java.util.Hashtable;
+
+public class SeatMemoryAction extends RPCStruct{
+ public static final String KEY_ID = "id";
+ public static final String KEY_LABEL = "label";
+ public static final String KEY_ACTION = "action";
+
+ /**
+ * Constructs a new SeatMemoryAction object
+ */
+ public SeatMemoryAction() { }
+
+ /**
+ * <p>Constructs a new SeatMemoryAction object indicated by the Hashtable parameter
+ * </p>
+ *
+ * @param hash
+ * The Hashtable to use
+ */
+ public SeatMemoryAction(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ /**
+ * Sets the id portion of the SeatMemoryAction class
+ *
+ * @param id
+ */
+ public void setId(Integer id) {
+ setValue(KEY_ID, id);
+ }
+
+ /**
+ * Gets the id portion of the SeatMemoryAction class
+ *
+ * @return Integer
+ */
+ public Integer getId() {
+ return getInteger(KEY_ID);
+ }
+
+ /**
+ * Sets the label portion of the SeatMemoryAction class
+ *
+ * @param label
+ */
+ public void setLabel(String label) {
+ setValue(KEY_LABEL, label);
+ }
+
+ /**
+ * Gets the label portion of the SeatMemoryAction class
+ *
+ * @return String
+ */
+ public String getLabel() {
+ return getString(KEY_LABEL);
+ }
+
+ /**
+ * Sets the action portion of the SeatMemoryAction class
+ *
+ * @param action
+ */
+ public void setAction(SeatMemoryActionType action) {
+ setValue(KEY_ACTION, action);
+ }
+
+ /**
+ * Gets the action portion of the SeatMemoryAction class
+ *
+ * @return SeatMemoryActionType.
+ */
+ public SeatMemoryActionType getAction() {
+ return (SeatMemoryActionType) getObject(SeatMemoryActionType.class, KEY_ACTION);
+ }
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageCushion.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageCushion.java
new file mode 100644
index 000000000..c264c58a5
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageCushion.java
@@ -0,0 +1,21 @@
+package com.smartdevicelink.proxy.rpc.enums;
+
+/**
+ * List possible cushions of a multi-contour massage seat.
+ */
+public enum MassageCushion {
+ TOP_LUMBAR,
+ MIDDLE_LUMBAR,
+ BOTTOM_LUMBAR,
+ BACK_BOLSTERS,
+ SEAT_BOLSTERS,
+ ;
+
+ public static MassageCushion 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/MassageMode.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageMode.java
new file mode 100644
index 000000000..db3ae7c94
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageMode.java
@@ -0,0 +1,19 @@
+package com.smartdevicelink.proxy.rpc.enums;
+
+/**
+ * List possible modes of a massage zone.
+ */
+public enum MassageMode {
+ OFF,
+ LOW,
+ HIGH,
+ ;
+
+ public static MassageMode 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/MassageZone.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageZone.java
new file mode 100644
index 000000000..bbe1dfb1f
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/MassageZone.java
@@ -0,0 +1,24 @@
+package com.smartdevicelink.proxy.rpc.enums;
+
+/**
+ * List possible zones of a multi-contour massage seat.
+ */
+public enum MassageZone {
+ /**
+ * The back of a multi-contour massage seat. or SEAT_BACK
+ */
+ LUMBAR,
+ /**
+ * The bottom a multi-contour massage seat. or SEAT_BOTTOM
+ */
+ SEAT_CUSHION,
+ ;
+
+ public static MassageZone 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/ModuleType.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/ModuleType.java
index faef92d36..fe62b0aa1 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/ModuleType.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/ModuleType.java
@@ -3,6 +3,7 @@ package com.smartdevicelink.proxy.rpc.enums;
public enum ModuleType {
CLIMATE,
RADIO,
+ SEAT,
;
public static ModuleType valueForString(String value) {
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SeatMemoryActionType.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SeatMemoryActionType.java
new file mode 100644
index 000000000..ac4925a8d
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SeatMemoryActionType.java
@@ -0,0 +1,25 @@
+package com.smartdevicelink.proxy.rpc.enums;
+
+public enum SeatMemoryActionType {
+ /**
+ * Save current seat positions and settings to seat memory.
+ */
+ SAVE,
+ /**
+ * Restore / apply the seat memory settings to the current seat.
+ */
+ RESTORE,
+ /**
+ * No action to be performed.
+ */
+ NONE,
+ ;
+
+ public static SeatMemoryActionType 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/SupportedSeat.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SupportedSeat.java
new file mode 100644
index 000000000..0945c3fa6
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SupportedSeat.java
@@ -0,0 +1,18 @@
+package com.smartdevicelink.proxy.rpc.enums;
+
+/**
+ * List possible seats that is a remote controllable seat.
+ */
+public enum SupportedSeat {
+ DRIVER,
+ FRONT_PASSENGER,
+ ;
+
+ public static SupportedSeat valueForString(String value) {
+ try{
+ return valueOf(value);
+ }catch(Exception e){
+ return null;
+ }
+ }
+}