smartdevicelink / sdl_javascript_suite

SmartDeviceLink library for applications developed in JavaScript
BSD 3-Clause "New" or "Revised" License
15 stars 13 forks source link

ScreenManager tries to upload images even if they are not supported (SDL 2.0) #541

Closed crokita closed 2 years ago

crokita commented 2 years ago

Bug Summary

Bug report is from https://github.com/smartdevicelink/sdl_java_suite/issues/1738

Bug Report

It seems the ScreenManager tries to upload images on Sync 2 even if the dynamic images are not supported. That doesn't crash the app but it just sends RPCs when there is no need for that. It also logs some error messages like the following:

E/FileManager: 5.2.0: File named icon.png failed to upload. Max number of upload attempts reached.
E/FileManager: 5.2.0: File named image1.png failed to upload. Max number of upload attempts reached.
E/SoftButtonReplaceOperation: 5.2.0: Error uploading soft button artworks: [image1.png]
E/FileManager: 5.2.0: File named image2.png failed to upload. Max number of upload attempts reached.
E/SoftButtonReplaceOperation: 5.2.0: Error uploading soft button artworks: [image2.png]

The potential reason for the issue is that Sync 2 sends RegisterAppInterfaceResponse with the following values:

RegisterAppInterfaceResponse.displayCapabilities.graphicSupported = false
RegisterAppInterfaceResponse.softButtonCapabilities.imageSupported = true

The SoftButtonManager (and possibly other managers) depends on ImageSupported and thinks the images are supported when in reality they are not.

Reproduction Steps

The JavaScript will not be able to run on Sync 2. Instead it should match the code changes made from the other mobile libraries.

Which projects have you seen this bug on?

No response

JavaScript Version(s)

1.5.0

sdl_javascript Version

1.5.0

Testing Environment(s)

N/A

Relevant log output

No response

theresalech commented 2 years ago

Closed via #542