summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Kast <julian@livio.com>2021-09-30 16:33:41 -0400
committerJulian Kast <julian@livio.com>2021-09-30 16:33:41 -0400
commitd65d18e709031a6469689ab0bda54e458b79a2e5 (patch)
treeabd4ff9d06acc7a6fabded22a33004e3c6a4d6bf
parente55f735c735d96b53ee8fa098f6c8cca0d13c38d (diff)
parent3243c51ce4ec3a0c765e9d56e762181d88cf8f6c (diff)
downloadsdl_android-bugfix/issue_1736_multi_file_upload.tar.gz
Merge branch 'develop' into bugfix/issue_1736_multi_file_uploadbugfix/issue_1736_multi_file_upload
-rw-r--r--android/sdl_android/libs/TaskMaster-0.5.jarbin17590 -> 0 bytes
-rw-r--r--android/sdl_android/libs/Taskmaster-0.6.jarbin0 -> 17636 bytes
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java31
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java11
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/BaseAlertManager.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java6
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java6
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java4
-rw-r--r--javaEE/javaEE/libs/TaskMaster-0.5.jarbin17590 -> 0 bytes
-rw-r--r--javaEE/javaEE/libs/Taskmaster-0.6.jarbin0 -> 17636 bytes
-rw-r--r--javaSE/javaSE/libs/TaskMaster-0.5.jarbin17590 -> 0 bytes
-rw-r--r--javaSE/javaSE/libs/Taskmaster-0.6.jarbin0 -> 17636 bytes
13 files changed, 48 insertions, 14 deletions
diff --git a/android/sdl_android/libs/TaskMaster-0.5.jar b/android/sdl_android/libs/TaskMaster-0.5.jar
deleted file mode 100644
index a7881051b..000000000
--- a/android/sdl_android/libs/TaskMaster-0.5.jar
+++ /dev/null
Binary files differ
diff --git a/android/sdl_android/libs/Taskmaster-0.6.jar b/android/sdl_android/libs/Taskmaster-0.6.jar
new file mode 100644
index 000000000..8f249d0f7
--- /dev/null
+++ b/android/sdl_android/libs/Taskmaster-0.6.jar
Binary files differ
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java
index 65f9c7bb4..03854d3ee 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java
@@ -32,6 +32,7 @@ import com.smartdevicelink.proxy.rpc.SdlMsgVersion;
import com.smartdevicelink.proxy.rpc.SetDisplayLayoutResponse;
import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities;
import com.smartdevicelink.proxy.rpc.SystemCapability;
+import com.smartdevicelink.proxy.rpc.TextField;
import com.smartdevicelink.proxy.rpc.VideoStreamingCapability;
import com.smartdevicelink.proxy.rpc.WindowCapability;
import com.smartdevicelink.proxy.rpc.WindowTypeCapabilities;
@@ -52,6 +53,7 @@ import com.smartdevicelink.proxy.rpc.enums.ServiceUpdateReason;
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
import com.smartdevicelink.proxy.rpc.enums.SystemContext;
+import com.smartdevicelink.proxy.rpc.enums.TextFieldName;
import com.smartdevicelink.proxy.rpc.enums.WindowType;
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCListener;
@@ -689,6 +691,35 @@ public class SystemCapabilityManagerTests {
verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class));
}
+ /**
+ * Test to verify that we can get null for templatesAvailable without hitting an NPE and
+ * test media field conversion for NON_MEDIA to NON-MEDIA for Sync bug.
+ */
+ @Test
+ public void testMediaFieldConversion() {
+ SystemCapabilityManager systemCapabilityManager = new SystemCapabilityManager(new InternalSDLInterface());
+
+ RegisterAppInterfaceResponse raiResponse = new RegisterAppInterfaceResponse();
+ DisplayCapabilities displayCapabilities = new DisplayCapabilities();
+ displayCapabilities.setGraphicSupported(false);
+ TextField textField = new TextField();
+ textField.setName(TextFieldName.mainField1);
+ displayCapabilities.setTextFields(Collections.singletonList(textField));
+ raiResponse.setDisplayCapabilities(displayCapabilities);
+ raiResponse.setSuccess(true);
+ systemCapabilityManager.parseRAIResponse(raiResponse);
+
+ WindowCapability windowCapability = systemCapabilityManager.getDefaultMainWindowCapability();
+ assertNull(windowCapability.getTemplatesAvailable());
+
+ List<String> templates = new ArrayList<>();
+ templates.add("NON_MEDIA");
+ displayCapabilities.setTemplatesAvailable(templates);
+ systemCapabilityManager.parseRAIResponse(raiResponse);
+ windowCapability = systemCapabilityManager.getDefaultMainWindowCapability();
+ assertTrue(windowCapability.getTemplatesAvailable().contains("NON-MEDIA"));
+ }
+
@Test
public void testListConversion() {
SystemCapabilityManager systemCapabilityManager = createSampleManager();
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
index 7f6eb2b40..bcabc9546 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
@@ -3319,7 +3319,7 @@ public class SdlRouterService extends Service {
try {
List<TransportType> transportTypes = (List<TransportType>) obj;
if (transportTypes != null) {
- if (transportTypes.get(0) != null) {
+ if (transportTypes.size() > 0 && transportTypes.get(0) != null) {
return transportTypes.get(0);
}
}
diff --git a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java
index 54a343043..33a778e58 100644
--- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java
@@ -135,12 +135,15 @@ abstract class BaseSystemCapabilityManager {
// HAX: Issue #1705, Ford Sync bug returning incorrect template name for "NON-MEDIA" (https://github.com/smartdevicelink/sdl_java_suite/issues/1705).
List<String> templatesAvailable = display.getTemplatesAvailable();
- for (int i = 0; i < templatesAvailable.size(); i++) {
- if (templatesAvailable.get(i).equals("NON_MEDIA")) {
- templatesAvailable.set(i, "NON-MEDIA");
- break;
+ if (templatesAvailable != null) {
+ for (int i = 0; i < templatesAvailable.size(); i++) {
+ if ("NON_MEDIA".equals(templatesAvailable.get(i))) {
+ templatesAvailable.set(i, "NON-MEDIA");
+ break;
+ }
}
}
+
// copy all available display capabilities
defaultWindowCapability.setTemplatesAvailable(templatesAvailable);
defaultWindowCapability.setNumCustomPresetsAvailable(display.getNumCustomPresetsAvailable());
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/BaseAlertManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/BaseAlertManager.java
index 56aec5c19..10db9c54c 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseAlertManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseAlertManager.java
@@ -182,7 +182,7 @@ abstract class BaseAlertManager extends BaseSubManager {
private Queue newTransactionQueue() {
- Queue queue = internalInterface.getTaskmaster().createQueue("AlertManager", 6, false);
+ Queue queue = internalInterface.getTaskmaster().createQueue("AlertManager", 8, false);
queue.pause();
return queue;
}
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java
index 7ead85fef..edff66488 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java
@@ -64,7 +64,7 @@ public class AudioControlCapabilities extends RPCStruct {
/**
* Constructs a newly allocated AudioControlCapabilities object
*
- * @param moduleName short friendly name of the light control module.
+ * @param moduleName short friendly name of the audio control module.
*/
public AudioControlCapabilities(@NonNull String moduleName) {
this();
@@ -74,7 +74,7 @@ public class AudioControlCapabilities extends RPCStruct {
/**
* Sets the moduleName portion of the AudioControlCapabilities class
*
- * @param moduleName The short friendly name of the light control module. It should not be used to identify a module by mobile application.
+ * @param moduleName The short friendly name of the audio control module. It should not be used to identify a module by mobile application.
*/
public AudioControlCapabilities setModuleName(@NonNull String moduleName) {
setValue(KEY_MODULE_NAME, moduleName);
@@ -84,7 +84,7 @@ public class AudioControlCapabilities extends RPCStruct {
/**
* Gets the moduleName portion of the AudioControlCapabilities class
*
- * @return String - The short friendly name of the light control module. It should not be used to identify a module by mobile application.
+ * @return String - The short friendly name of the audio control module. It should not be used to identify a module by mobile application.
*/
public String getModuleName() {
return getString(KEY_MODULE_NAME);
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 05dccbc88..a120e66bc 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java
@@ -68,7 +68,7 @@ public class RadioControlCapabilities extends RPCStruct {
/**
* Constructs a new RadioControlCapabilities object
*
- * @param moduleName The short friendly name of the climate control module.
+ * @param moduleName The short friendly name of the radio control module.
* It should not be used to identify a module by mobile application.
*/
public RadioControlCapabilities(@NonNull String moduleName) {
@@ -79,7 +79,7 @@ public class RadioControlCapabilities extends RPCStruct {
/**
* Sets the moduleName portion of the RadioControlCapabilities class
*
- * @param moduleName The short friendly name of the climate control module.
+ * @param moduleName The short friendly name of the radio control module.
* It should not be used to identify a module by mobile application.
*/
public RadioControlCapabilities setModuleName(@NonNull String moduleName) {
@@ -90,7 +90,7 @@ public class RadioControlCapabilities extends RPCStruct {
/**
* Gets the moduleName portion of the RadioControlCapabilities class
*
- * @return String - Short friendly name of the climate control module.
+ * @return String - Short friendly name of the radio control module.
*/
public String getModuleName() {
return getString(KEY_MODULE_NAME);
diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
index ef82a3686..cbb44fcdd 100644
--- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
+++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java
@@ -75,7 +75,7 @@ public class SeatControlCapabilities extends RPCStruct {
/**
* Constructs a newly allocated SeatControlCapabilities object
*
- * @param moduleName short friendly name of the light control module.
+ * @param moduleName short friendly name of the seat control module.
*/
public SeatControlCapabilities(@NonNull String moduleName) {
this();
@@ -94,7 +94,7 @@ public class SeatControlCapabilities extends RPCStruct {
/**
* 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.
+ * @param moduleName - The short friendly name of the seat control module. It should not be used to identify a module by mobile application.
*/
public SeatControlCapabilities setModuleName(@NonNull String moduleName) {
setValue(KEY_MODULE_NAME, moduleName);
diff --git a/javaEE/javaEE/libs/TaskMaster-0.5.jar b/javaEE/javaEE/libs/TaskMaster-0.5.jar
deleted file mode 100644
index a7881051b..000000000
--- a/javaEE/javaEE/libs/TaskMaster-0.5.jar
+++ /dev/null
Binary files differ
diff --git a/javaEE/javaEE/libs/Taskmaster-0.6.jar b/javaEE/javaEE/libs/Taskmaster-0.6.jar
new file mode 100644
index 000000000..8f249d0f7
--- /dev/null
+++ b/javaEE/javaEE/libs/Taskmaster-0.6.jar
Binary files differ
diff --git a/javaSE/javaSE/libs/TaskMaster-0.5.jar b/javaSE/javaSE/libs/TaskMaster-0.5.jar
deleted file mode 100644
index a7881051b..000000000
--- a/javaSE/javaSE/libs/TaskMaster-0.5.jar
+++ /dev/null
Binary files differ
diff --git a/javaSE/javaSE/libs/Taskmaster-0.6.jar b/javaSE/javaSE/libs/Taskmaster-0.6.jar
new file mode 100644
index 000000000..8f249d0f7
--- /dev/null
+++ b/javaSE/javaSE/libs/Taskmaster-0.6.jar
Binary files differ