summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnil Dahiya <anil_dahiya@infosys.com>2016-10-18 16:42:06 +0530
committerAnil Dahiya <anil_dahiya@infosys.com>2016-10-18 16:42:06 +0530
commitf025244af5fb91a8047b288ce1bf0bce37d91b1a (patch)
treee1dc1aab263be105b55e0b8ecef2a9b6d67b45cd
parentfd29e92919b93c51c660ddf8aa08bd78a107dfd5 (diff)
downloadsdl_android-f025244af5fb91a8047b288ce1bf0bce37d91b1a.tar.gz
Updation of SendLocation RPC with additional params. Also, addition of new RPC enum : DeliveryMode and RPCStruct : DateTime and OASISAddress.
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/rpc/DateTime.java132
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/rpc/OasisAddress.java132
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/rpc/SendLocation.java68
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/rpc/enums/DeliveryMode.java15
4 files changed, 347 insertions, 0 deletions
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/DateTime.java b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/DateTime.java
new file mode 100644
index 000000000..6b0d79132
--- /dev/null
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/DateTime.java
@@ -0,0 +1,132 @@
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+
+import java.util.Hashtable;
+
+public class DateTime extends RPCStruct{
+ public static final String KEY_MILLISECOND = "millisecond";
+ public static final String KEY_SECOND = "second";
+ public static final String KEY_MINUTE = "minute";
+ public static final String KEY_HOUR = "hour";
+ public static final String KEY_DAY = "day";
+ public static final String KEY_MONTH = "month";
+ public static final String KEY_YEAR = "year";
+ public static final String KEY_TZ_HOUR = "tz_hour";
+ public static final String KEY_TZ_MINUTE = "tz_minute";
+
+ public DateTime() {
+ }
+
+ public DateTime(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ public Integer getMilliSecond() {
+ return (Integer) store.get(KEY_MILLISECOND);
+ }
+
+ public void setMilliSecond(Integer milliSecond) {
+ if (milliSecond != null) {
+ store.put(KEY_MILLISECOND, milliSecond);
+ } else {
+ store.remove(KEY_MILLISECOND);
+ }
+ }
+
+ public Integer getSecond() {
+ return (Integer) store.get(KEY_SECOND);
+ }
+
+ public void setSecond(Integer second) {
+ if (second != null) {
+ store.put(KEY_SECOND, second);
+ } else {
+ store.remove(KEY_SECOND);
+ }
+ }
+
+ public Integer getMinute() {
+ return (Integer) store.get(KEY_MINUTE);
+ }
+
+ public void setMinute(Integer minute) {
+ if (minute != null) {
+ store.put(KEY_MINUTE, minute);
+ } else {
+ store.remove(KEY_MINUTE);
+ }
+ }
+
+ public Integer getHour() {
+ return (Integer) store.get(KEY_HOUR);
+ }
+
+ public void setHour(Integer hour) {
+ if (hour != null) {
+ store.put(KEY_HOUR, hour);
+ } else {
+ store.remove(KEY_HOUR);
+ }
+ }
+
+ public Integer getDay() {
+ return (Integer) store.get(KEY_DAY);
+ }
+
+ public void setDay(Integer day) {
+ if (day != null) {
+ store.put(KEY_DAY, day);
+ } else {
+ store.remove(KEY_DAY);
+ }
+ }
+
+ public Integer getMonth() {
+ return (Integer) store.get(KEY_MONTH);
+ }
+
+ public void setMonth(Integer month) {
+ if (month != null) {
+ store.put(KEY_MONTH, month);
+ } else {
+ store.remove(KEY_MONTH);
+ }
+ }
+
+ public Integer getYear() {
+ return (Integer) store.get(KEY_YEAR);
+ }
+
+ public void setYear(Integer year) {
+ if (year != null) {
+ store.put(KEY_YEAR, year);
+ } else {
+ store.remove(KEY_YEAR);
+ }
+ }
+
+ public Integer getTzHour() {
+ return (Integer) store.get(KEY_TZ_HOUR);
+ }
+
+ public void setTzHour(Integer tzHour) {
+ if (tzHour != null) {
+ store.put(KEY_TZ_HOUR, tzHour);
+ } else {
+ store.remove(KEY_TZ_HOUR);
+ }
+ }
+
+ public Integer getTzMinute() {
+ return (Integer) store.get(KEY_TZ_MINUTE);
+ }
+
+ public void setTzMinute(Integer tzMinute) {
+ if (tzMinute != null) {
+ store.put(KEY_TZ_MINUTE, tzMinute);
+ } else {
+ store.remove(KEY_TZ_MINUTE);
+ }
+ }
+}
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/OasisAddress.java b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/OasisAddress.java
new file mode 100644
index 000000000..a20086c35
--- /dev/null
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/OasisAddress.java
@@ -0,0 +1,132 @@
+package com.smartdevicelink.proxy.rpc;
+
+import com.smartdevicelink.proxy.RPCStruct;
+
+import java.util.Hashtable;
+
+public class OasisAddress extends RPCStruct{
+ public static final String KEY_COUNTRY_NAME = "countryName";
+ public static final String KEY_COUNTRY_CODE = "countryCode";
+ public static final String KEY_POSTAL_CODE = "postalCode";
+ public static final String KEY_ADMINISTRATIVE_AREA = "administrativeArea";
+ public static final String KEY_SUB_ADMINISTRATIVE_AREA = "subAdministrativeArea";
+ public static final String KEY_LOCALITY = "locality";
+ public static final String KEY_SUB_LOCALITY = "subLocality";
+ public static final String KEY_THOROUGH_FARE = "thoroughfare";
+ public static final String KEY_SUB_THOROUGH_FARE = "subThoroughfare";
+
+ public OasisAddress() {
+ }
+
+ public OasisAddress(Hashtable<String, Object> hash) {
+ super(hash);
+ }
+
+ public String getCountryName() {
+ return (String) store.get(KEY_COUNTRY_NAME);
+ }
+
+ public void setCountryName(String countryName) {
+ if (countryName != null) {
+ store.put(KEY_COUNTRY_NAME, countryName);
+ } else {
+ store.remove(KEY_COUNTRY_NAME);
+ }
+ }
+
+ public String getCountryCode() {
+ return (String) store.get(KEY_COUNTRY_CODE);
+ }
+
+ public void setCountryCode(String countryCode) {
+ if (countryCode != null) {
+ store.put(KEY_COUNTRY_CODE, countryCode);
+ } else {
+ store.remove(KEY_COUNTRY_CODE);
+ }
+ }
+
+ public String getPostalCode() {
+ return (String) store.get(KEY_POSTAL_CODE);
+ }
+
+ public void setPostalCode(String postalCode) {
+ if (postalCode != null) {
+ store.put(KEY_POSTAL_CODE, postalCode);
+ } else {
+ store.remove(KEY_POSTAL_CODE);
+ }
+ }
+
+ public String getAdministrativeArea() {
+ return (String) store.get(KEY_ADMINISTRATIVE_AREA);
+ }
+
+ public void setAdministrativeArea(String administrativeArea) {
+ if (administrativeArea != null) {
+ store.put(KEY_ADMINISTRATIVE_AREA, administrativeArea);
+ } else {
+ store.remove(KEY_ADMINISTRATIVE_AREA);
+ }
+ }
+
+ public String getSubAdministrativeArea() {
+ return (String) store.get(KEY_SUB_ADMINISTRATIVE_AREA);
+ }
+
+ public void setSubAdministrativeArea(String subAdministrativeArea) {
+ if (subAdministrativeArea != null) {
+ store.put(KEY_SUB_ADMINISTRATIVE_AREA, subAdministrativeArea);
+ } else {
+ store.remove(KEY_SUB_ADMINISTRATIVE_AREA);
+ }
+ }
+
+ public String getLocality() {
+ return (String) store.get(KEY_LOCALITY);
+ }
+
+ public void setLocality(String locality) {
+ if (locality != null) {
+ store.put(KEY_LOCALITY, locality);
+ } else {
+ store.remove(KEY_LOCALITY);
+ }
+ }
+
+ public String getSubLocality() {
+ return (String) store.get(KEY_SUB_LOCALITY);
+ }
+
+ public void setSubLocality(String subLocality) {
+ if (subLocality != null) {
+ store.put(KEY_SUB_LOCALITY, subLocality);
+ } else {
+ store.remove(KEY_SUB_LOCALITY);
+ }
+ }
+
+ public String getThoroughfare() {
+ return (String) store.get(KEY_THOROUGH_FARE);
+ }
+
+ public void setThoroughfare(String thoroughFare) {
+ if (thoroughFare != null) {
+ store.put(KEY_THOROUGH_FARE, thoroughFare);
+ } else {
+ store.remove(KEY_THOROUGH_FARE);
+ }
+ }
+
+ public String getSubThoroughfare() {
+ return (String) store.get(KEY_SUB_THOROUGH_FARE);
+ }
+
+ public void setSubThoroughfare(String subThoroughfare) {
+ if (subThoroughfare != null) {
+ store.put(KEY_SUB_THOROUGH_FARE, subThoroughfare);
+ } else {
+ store.remove(KEY_SUB_THOROUGH_FARE);
+ }
+ }
+}
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/SendLocation.java b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/SendLocation.java
index dc77058de..2a9108e47 100644
--- a/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/SendLocation.java
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/SendLocation.java
@@ -5,6 +5,8 @@ import java.util.List;
import com.smartdevicelink.protocol.enums.FunctionID;
import com.smartdevicelink.proxy.RPCRequest;
+import com.smartdevicelink.proxy.rpc.enums.DeliveryMode;
+import com.smartdevicelink.util.DebugTool;
import com.smartdevicelink.util.SdlDataTypeConverter;
@@ -23,6 +25,9 @@ public class SendLocation extends RPCRequest{
public static final String KEY_PHONE_NUMBER = "phoneNumber";
public static final String KEY_ADDRESS_LINES = "addressLines";
public static final String KEY_LOCATION_IMAGE = "locationImage";
+ public static final String KEY_DELIVERY_MODE = "deliveryMode";
+ public static final String KEY_TIME_STAMP = "timeStamp";
+ public static final String KEY_ADDRESS = "address";
/**
* Constructs a new SendLocation object
@@ -221,4 +226,67 @@ public class SendLocation extends RPCRequest{
}
}
+ public DeliveryMode getDeliveryMode() {
+ Object obj = parameters.get(KEY_DELIVERY_MODE);
+ if (obj instanceof DeliveryMode) {
+ return (DeliveryMode) obj;
+ } else if (obj instanceof String) {
+ return DeliveryMode.valueForString((String) obj);
+ }
+ return null;
+ }
+
+ public void setDeliveryMode(DeliveryMode deliveryMode) {
+ if (deliveryMode != null) {
+ parameters.put(KEY_DELIVERY_MODE, deliveryMode);
+ } else {
+ parameters.remove(KEY_DELIVERY_MODE);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public DateTime getTimeStamp() {
+ Object obj = parameters.get(KEY_TIME_STAMP);
+ if (obj instanceof DateTime) {
+ return (DateTime) obj;
+ } else if (obj instanceof Hashtable) {
+ try {
+ return new DateTime((Hashtable<String, Object>) obj);
+ } catch (Exception e) {
+ DebugTool.logError("Failed to parse " + getClass().getSimpleName() + "." + KEY_TIME_STAMP, e);
+ }
+ }
+ return null;
+ }
+
+ public void setTimeStamp(DateTime timeStamp) {
+ if (timeStamp != null) {
+ parameters.put(KEY_TIME_STAMP, timeStamp);
+ } else {
+ parameters.remove(KEY_TIME_STAMP);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public OasisAddress getAddress() {
+ Object obj = parameters.get(KEY_ADDRESS);
+ if (obj instanceof OasisAddress) {
+ return (OasisAddress) obj;
+ } else if (obj instanceof Hashtable) {
+ try {
+ return new OasisAddress((Hashtable<String, Object>) obj);
+ } catch (Exception e) {
+ DebugTool.logError("Failed to parse " + getClass().getSimpleName() + "." + KEY_ADDRESS, e);
+ }
+ }
+ return null;
+ }
+
+ public void setAddress(OasisAddress address) {
+ if (address != null) {
+ parameters.put(KEY_ADDRESS, address);
+ } else {
+ parameters.remove(KEY_ADDRESS);
+ }
+ }
}
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/enums/DeliveryMode.java b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/enums/DeliveryMode.java
new file mode 100644
index 000000000..0b6834eed
--- /dev/null
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/rpc/enums/DeliveryMode.java
@@ -0,0 +1,15 @@
+package com.smartdevicelink.proxy.rpc.enums;
+
+public enum DeliveryMode {
+ PROMPT,
+ DESTINATION,
+ QUEUE;
+
+ public static DeliveryMode valueForString(String value) {
+ try{
+ return valueOf(value);
+ }catch(Exception e){
+ return null;
+ }
+ }
+}