Skip to content

Commit d65d18e

Browse files
author
Julian Kast
committed
Merge branch 'develop' into bugfix/issue_1736_multi_file_upload
2 parents e55f735 + 3243c51 commit d65d18e

13 files changed

Lines changed: 48 additions & 14 deletions

File tree

-17.2 KB
Binary file not shown.
17.2 KB
Binary file not shown.

android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/lifecycle/SystemCapabilityManagerTests.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.smartdevicelink.proxy.rpc.SetDisplayLayoutResponse;
3333
import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities;
3434
import com.smartdevicelink.proxy.rpc.SystemCapability;
35+
import com.smartdevicelink.proxy.rpc.TextField;
3536
import com.smartdevicelink.proxy.rpc.VideoStreamingCapability;
3637
import com.smartdevicelink.proxy.rpc.WindowCapability;
3738
import com.smartdevicelink.proxy.rpc.WindowTypeCapabilities;
@@ -52,6 +53,7 @@
5253
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
5354
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
5455
import com.smartdevicelink.proxy.rpc.enums.SystemContext;
56+
import com.smartdevicelink.proxy.rpc.enums.TextFieldName;
5557
import com.smartdevicelink.proxy.rpc.enums.WindowType;
5658
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
5759
import com.smartdevicelink.proxy.rpc.listeners.OnRPCListener;
@@ -689,6 +691,35 @@ public void testGetAndAddListenerForDisplaysCapability() {
689691
verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class));
690692
}
691693

694+
/**
695+
* Test to verify that we can get null for templatesAvailable without hitting an NPE and
696+
* test media field conversion for NON_MEDIA to NON-MEDIA for Sync bug.
697+
*/
698+
@Test
699+
public void testMediaFieldConversion() {
700+
SystemCapabilityManager systemCapabilityManager = new SystemCapabilityManager(new InternalSDLInterface());
701+
702+
RegisterAppInterfaceResponse raiResponse = new RegisterAppInterfaceResponse();
703+
DisplayCapabilities displayCapabilities = new DisplayCapabilities();
704+
displayCapabilities.setGraphicSupported(false);
705+
TextField textField = new TextField();
706+
textField.setName(TextFieldName.mainField1);
707+
displayCapabilities.setTextFields(Collections.singletonList(textField));
708+
raiResponse.setDisplayCapabilities(displayCapabilities);
709+
raiResponse.setSuccess(true);
710+
systemCapabilityManager.parseRAIResponse(raiResponse);
711+
712+
WindowCapability windowCapability = systemCapabilityManager.getDefaultMainWindowCapability();
713+
assertNull(windowCapability.getTemplatesAvailable());
714+
715+
List<String> templates = new ArrayList<>();
716+
templates.add("NON_MEDIA");
717+
displayCapabilities.setTemplatesAvailable(templates);
718+
systemCapabilityManager.parseRAIResponse(raiResponse);
719+
windowCapability = systemCapabilityManager.getDefaultMainWindowCapability();
720+
assertTrue(windowCapability.getTemplatesAvailable().contains("NON-MEDIA"));
721+
}
722+
692723
@Test
693724
public void testListConversion() {
694725
SystemCapabilityManager systemCapabilityManager = createSampleManager();

android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3319,7 +3319,7 @@ private TransportType getCompatPrimaryTransport() {
33193319
try {
33203320
List<TransportType> transportTypes = (List<TransportType>) obj;
33213321
if (transportTypes != null) {
3322-
if (transportTypes.get(0) != null) {
3322+
if (transportTypes.size() > 0 && transportTypes.get(0) != null) {
33233323
return transportTypes.get(0);
33243324
}
33253325
}

base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseSystemCapabilityManager.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,15 @@ private List<DisplayCapability> createDisplayCapabilityList(DisplayCapabilities
135135

136136
// HAX: Issue #1705, Ford Sync bug returning incorrect template name for "NON-MEDIA" (https://github.com/smartdevicelink/sdl_java_suite/issues/1705).
137137
List<String> templatesAvailable = display.getTemplatesAvailable();
138-
for (int i = 0; i < templatesAvailable.size(); i++) {
139-
if (templatesAvailable.get(i).equals("NON_MEDIA")) {
140-
templatesAvailable.set(i, "NON-MEDIA");
141-
break;
138+
if (templatesAvailable != null) {
139+
for (int i = 0; i < templatesAvailable.size(); i++) {
140+
if ("NON_MEDIA".equals(templatesAvailable.get(i))) {
141+
templatesAvailable.set(i, "NON-MEDIA");
142+
break;
143+
}
142144
}
143145
}
146+
144147
// copy all available display capabilities
145148
defaultWindowCapability.setTemplatesAvailable(templatesAvailable);
146149
defaultWindowCapability.setNumCustomPresetsAvailable(display.getNumCustomPresetsAvailable());

base/src/main/java/com/smartdevicelink/managers/screen/BaseAlertManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ interface AlertSoftButtonClearListener {
182182

183183

184184
private Queue newTransactionQueue() {
185-
Queue queue = internalInterface.getTaskmaster().createQueue("AlertManager", 6, false);
185+
Queue queue = internalInterface.getTaskmaster().createQueue("AlertManager", 8, false);
186186
queue.pause();
187187
return queue;
188188
}

base/src/main/java/com/smartdevicelink/proxy/rpc/AudioControlCapabilities.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public AudioControlCapabilities(Hashtable<String, Object> hash) {
6464
/**
6565
* Constructs a newly allocated AudioControlCapabilities object
6666
*
67-
* @param moduleName short friendly name of the light control module.
67+
* @param moduleName short friendly name of the audio control module.
6868
*/
6969
public AudioControlCapabilities(@NonNull String moduleName) {
7070
this();
@@ -74,7 +74,7 @@ public AudioControlCapabilities(@NonNull String moduleName) {
7474
/**
7575
* Sets the moduleName portion of the AudioControlCapabilities class
7676
*
77-
* @param moduleName The short friendly name of the light control module. It should not be used to identify a module by mobile application.
77+
* @param moduleName The short friendly name of the audio control module. It should not be used to identify a module by mobile application.
7878
*/
7979
public AudioControlCapabilities setModuleName(@NonNull String moduleName) {
8080
setValue(KEY_MODULE_NAME, moduleName);
@@ -84,7 +84,7 @@ public AudioControlCapabilities setModuleName(@NonNull String moduleName) {
8484
/**
8585
* Gets the moduleName portion of the AudioControlCapabilities class
8686
*
87-
* @return String - The short friendly name of the light control module. It should not be used to identify a module by mobile application.
87+
* @return String - The short friendly name of the audio control module. It should not be used to identify a module by mobile application.
8888
*/
8989
public String getModuleName() {
9090
return getString(KEY_MODULE_NAME);

base/src/main/java/com/smartdevicelink/proxy/rpc/RadioControlCapabilities.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public RadioControlCapabilities(Hashtable<String, Object> hash) {
6868
/**
6969
* Constructs a new RadioControlCapabilities object
7070
*
71-
* @param moduleName The short friendly name of the climate control module.
71+
* @param moduleName The short friendly name of the radio control module.
7272
* It should not be used to identify a module by mobile application.
7373
*/
7474
public RadioControlCapabilities(@NonNull String moduleName) {
@@ -79,7 +79,7 @@ public RadioControlCapabilities(@NonNull String moduleName) {
7979
/**
8080
* Sets the moduleName portion of the RadioControlCapabilities class
8181
*
82-
* @param moduleName The short friendly name of the climate control module.
82+
* @param moduleName The short friendly name of the radio control module.
8383
* It should not be used to identify a module by mobile application.
8484
*/
8585
public RadioControlCapabilities setModuleName(@NonNull String moduleName) {
@@ -90,7 +90,7 @@ public RadioControlCapabilities setModuleName(@NonNull String moduleName) {
9090
/**
9191
* Gets the moduleName portion of the RadioControlCapabilities class
9292
*
93-
* @return String - Short friendly name of the climate control module.
93+
* @return String - Short friendly name of the radio control module.
9494
*/
9595
public String getModuleName() {
9696
return getString(KEY_MODULE_NAME);

base/src/main/java/com/smartdevicelink/proxy/rpc/SeatControlCapabilities.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public SeatControlCapabilities(Hashtable<String, Object> hash) {
7575
/**
7676
* Constructs a newly allocated SeatControlCapabilities object
7777
*
78-
* @param moduleName short friendly name of the light control module.
78+
* @param moduleName short friendly name of the seat control module.
7979
*/
8080
public SeatControlCapabilities(@NonNull String moduleName) {
8181
this();
@@ -94,7 +94,7 @@ public String getModuleName() {
9494
/**
9595
* Sets the moduleName portion of the SeatControlCapabilities class
9696
*
97-
* @param moduleName - The short friendly name of the light control module. It should not be used to identify a module by mobile application.
97+
* @param moduleName - The short friendly name of the seat control module. It should not be used to identify a module by mobile application.
9898
*/
9999
public SeatControlCapabilities setModuleName(@NonNull String moduleName) {
100100
setValue(KEY_MODULE_NAME, moduleName);
-17.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)