diff options
author | Julian Kast <julian@livio.com> | 2021-09-30 16:33:41 -0400 |
---|---|---|
committer | Julian Kast <julian@livio.com> | 2021-09-30 16:33:41 -0400 |
commit | d65d18e709031a6469689ab0bda54e458b79a2e5 (patch) | |
tree | abd4ff9d06acc7a6fabded22a33004e3c6a4d6bf | |
parent | e55f735c735d96b53ee8fa098f6c8cca0d13c38d (diff) | |
parent | 3243c51ce4ec3a0c765e9d56e762181d88cf8f6c (diff) | |
download | sdl_android-bugfix/issue_1736_multi_file_upload.tar.gz |
Merge branch 'develop' into bugfix/issue_1736_multi_file_uploadbugfix/issue_1736_multi_file_upload
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 Binary files differdeleted file mode 100644 index a7881051b..000000000 --- a/android/sdl_android/libs/TaskMaster-0.5.jar +++ /dev/null diff --git a/android/sdl_android/libs/Taskmaster-0.6.jar b/android/sdl_android/libs/Taskmaster-0.6.jar Binary files differnew file mode 100644 index 000000000..8f249d0f7 --- /dev/null +++ b/android/sdl_android/libs/Taskmaster-0.6.jar 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 Binary files differdeleted file mode 100644 index a7881051b..000000000 --- a/javaEE/javaEE/libs/TaskMaster-0.5.jar +++ /dev/null diff --git a/javaEE/javaEE/libs/Taskmaster-0.6.jar b/javaEE/javaEE/libs/Taskmaster-0.6.jar Binary files differnew file mode 100644 index 000000000..8f249d0f7 --- /dev/null +++ b/javaEE/javaEE/libs/Taskmaster-0.6.jar diff --git a/javaSE/javaSE/libs/TaskMaster-0.5.jar b/javaSE/javaSE/libs/TaskMaster-0.5.jar Binary files differdeleted file mode 100644 index a7881051b..000000000 --- a/javaSE/javaSE/libs/TaskMaster-0.5.jar +++ /dev/null diff --git a/javaSE/javaSE/libs/Taskmaster-0.6.jar b/javaSE/javaSE/libs/Taskmaster-0.6.jar Binary files differnew file mode 100644 index 000000000..8f249d0f7 --- /dev/null +++ b/javaSE/javaSE/libs/Taskmaster-0.6.jar |