diff --git a/CHANGELOG.md b/CHANGELOG.md index f7f1182d5f..60aacacc2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# 5.4.0 Release Notes +# 5.5.0 Release Notes ## Summary: ||Version| @@ -7,51 +7,9 @@ | **RPC** | 8.0.0 | **Tested Targeting** | Android 31 -## Bug Fixes / Enhancements: +## Bug Fixes: -- [Video auto restarts streaming regardless if HMI level is streamable ](https://github.com/smartdevicelink/sdl_java_suite/issues/1807) +- [ScreenManager tries to upload images even if they are not supported (SDL 2.0)](https://github.com/smartdevicelink/sdl_java_suite/issues/1738) -- [Video Streaming Fails on Android 12 at Low Resolutions](https://github.com/smartdevicelink/sdl_java_suite/issues/1803) - -- [sdl_java_se uses deprecated testCompile in build.gradle](https://github.com/smartdevicelink/sdl_java_suite/issues/1805) - -- [Incorrect behavior and potential crashes in PresentAlertOperation.supportsSoftButtonImages()](https://github.com/smartdevicelink/sdl_java_suite/issues/1800) - -- [Bugfix/rs notification issue usb](https://github.com/smartdevicelink/sdl_java_suite/pull/1797) - -- [Attempting to Send Voice Command with No Strings Fails to Log Error](https://github.com/smartdevicelink/sdl_java_suite/issues/1798) - -- [Fix LCM to close down properly](https://github.com/smartdevicelink/sdl_java_suite/pull/1796) - -- [Cleanup/proposal sdl 0286 spacing](https://github.com/smartdevicelink/sdl_java_suite/pull/1782) - -- [API Reference Docs Typos](https://github.com/smartdevicelink/sdl_java_suite/issues/1792) - -- [Foreground Service Notifications can be delayed by 10 seconds](https://github.com/smartdevicelink/sdl_java_suite/issues/1733) - -- [Bluetooth Permission Requirements will change in Android 12](https://github.com/smartdevicelink/sdl_java_suite/issues/1732) - -- [[SDL 0345] Android 12 Issues](https://github.com/smartdevicelink/sdl_java_suite/issues/1794) - -- [SdlRouterService crashes if SDL app sets targetSdkVersion to 31, and running on Android 12](https://github.com/smartdevicelink/sdl_java_suite/issues/1751) - -- [Error Code is cut off from bulk data when reading a SEND_INTERNAL_ERROR query](https://github.com/smartdevicelink/sdl_java_suite/issues/1790) - -- [NPE crash in BaseLifecycleManager on checkLifecycleConfiguration](https://github.com/smartdevicelink/sdl_java_suite/issues/1783) - -- [NPE crash in SdlDeviceListener](https://github.com/smartdevicelink/sdl_java_suite/issues/1780) - -- [NPE crash in BaseLifecycleManager](https://github.com/smartdevicelink/sdl_java_suite/issues/1781) - -- [SoftButtonObject doesn't handle error states correctly](https://github.com/smartdevicelink/sdl_java_suite/issues/1774) - -- [ScrollableMessage.timeout units should be specified in documentation](https://github.com/smartdevicelink/sdl_java_suite/issues/1775) - -- [Incorrect SPP error notification presented to user](https://github.com/smartdevicelink/sdl_java_suite/issues/1661) - -- [SecurityQuery error notification payload not set](https://github.com/smartdevicelink/sdl_java_suite/issues/1753) - -- [Menu Manager won't send submenu cell images on RPC versions >= 5.0 && < 7.0 #2047](https://github.com/smartdevicelink/sdl_java_suite/issues/1756) - -- [GenerateSources gradle task in javaSE incorrectly reads the version from gradle.properties instead of VERSION file](https://github.com/smartdevicelink/sdl_java_suite/issues/1763) +- [Fix formatting of many tables within the documentation](https://github.com/smartdevicelink/sdl_java_suite/pull/1810) diff --git a/VERSION b/VERSION index 8a30e8f94a..d50359de18 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.4.0 +5.5.0 diff --git a/android/sdl_android/build.gradle b/android/sdl_android/build.gradle index 4f25487371..b0072a6fd7 100644 --- a/android/sdl_android/build.gradle +++ b/android/sdl_android/build.gradle @@ -5,7 +5,7 @@ android { defaultConfig { minSdkVersion 16 targetSdkVersion 31 - versionCode 22 + versionCode 23 versionName new File(projectDir.path, ('/../../VERSION')).text.trim() buildConfigField "String", "VERSION_NAME", '\"' + versionName + '\"' resValue "string", "SDL_LIB_VERSION", '\"' + versionName + '\"' diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java index 67e7384e9c..7e0890e18a 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java @@ -140,6 +140,7 @@ public Void answer(InvocationOnMock invocation) { taskmaster.start(); when(internalInterface.getTaskmaster()).thenReturn(taskmaster); softButtonManager = new SoftButtonManager(internalInterface, fileManager); + softButtonManager.isDynamicGraphicSupported = true; // When internalInterface.sendRPC() is called inside SoftButtonManager: @@ -516,4 +517,27 @@ public void testAssignSameNameStateListToSoftButtonObject() { assertEquals(stateListUnique, softButtonObject.getStates()); } + + @Test + public void testSoftButtonManagerGraphicNotSupported() { + softButtonManager.isDynamicGraphicSupported = false; + fileManagerUploadArtworksListenerCalledCounter = 0; + internalInterfaceSendRPCListenerCalledCounter = 0; + + softButtonManager.setSoftButtonObjects(Arrays.asList(softButtonObject1, softButtonObject2)); + assertEquals("SoftButtonManager is uploading artwork, when graphic is not supported", 0, fileManagerUploadArtworksListenerCalledCounter); + } + + @Test + public void testSoftButtonManagerDynamicImageNotSupportedNoText() { + softButtonManager.isDynamicGraphicSupported = false; + fileManagerUploadArtworksListenerCalledCounter = 0; + internalInterfaceSendRPCListenerCalledCounter = 0; + + SoftButtonState softButtonState = new SoftButtonState("testState", null, new SdlArtwork("image", FileType.GRAPHIC_PNG, 1, true)); + SoftButtonObject softButtonObject = new SoftButtonObject("obj1", softButtonState, null); + + softButtonManager.setSoftButtonObjects(Arrays.asList(softButtonObject)); + assertEquals("SoftButtonManager is uploading artwork, when graphic is not supported", 0, fileManagerUploadArtworksListenerCalledCounter); + } } diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java index 4d93be5019..ab9159c33d 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java @@ -43,6 +43,7 @@ import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager; import com.smartdevicelink.protocol.enums.FunctionID; import com.smartdevicelink.proxy.RPCNotification; +import com.smartdevicelink.proxy.rpc.DisplayCapabilities; import com.smartdevicelink.proxy.rpc.DisplayCapability; import com.smartdevicelink.proxy.rpc.OnButtonEvent; import com.smartdevicelink.proxy.rpc.OnButtonPress; @@ -58,7 +59,6 @@ import java.lang.ref.WeakReference; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -71,6 +71,7 @@ abstract class BaseSoftButtonManager extends BaseSubManager { private static final String TAG = "BaseSoftButtonManager"; private final WeakReference fileManager; SoftButtonCapabilities softButtonCapabilities; + boolean isDynamicGraphicSupported; private CopyOnWriteArrayList softButtonObjects; private HMILevel currentHMILevel; private final OnSystemCapabilityListener onDisplayCapabilityListener; @@ -99,6 +100,11 @@ abstract class BaseSoftButtonManager extends BaseSubManager { this.currentHMILevel = null; this.transactionQueue = newTransactionQueue(); this.batchQueue = new ArrayList<>(); + DisplayCapabilities displayCapabilities = null; + if (internalInterface.getSystemCapabilityManager() != null) { + displayCapabilities = (DisplayCapabilities) this.internalInterface.getSystemCapabilityManager().getCapability(SystemCapabilityType.DISPLAY, null, false); + } + isDynamicGraphicSupported = (displayCapabilities != null && displayCapabilities.getGraphicSupported() != null) ? displayCapabilities.getGraphicSupported() : true; this.updateListener = new SoftButtonObject.UpdateListener() { @Override @@ -152,7 +158,7 @@ public void onCapabilityRetrieved(Object capability) { // Auto-send an updated Show if we have new capabilities if (softButtonObjects != null && !softButtonObjects.isEmpty() && softButtonCapabilities != null && !softButtonCapabilitiesEquals(oldSoftButtonCapabilities, softButtonCapabilities)) { - SoftButtonReplaceOperation operation = new SoftButtonReplaceOperation(internalInterface, fileManager, softButtonCapabilities, softButtonObjects, getCurrentMainField1()); + SoftButtonReplaceOperation operation = new SoftButtonReplaceOperation(internalInterface, fileManager, softButtonCapabilities, softButtonObjects, getCurrentMainField1(), isDynamicGraphicSupported); transactionQueue.add(operation, false); } } @@ -311,7 +317,7 @@ protected void setSoftButtonObjects(@NonNull List list) { this.softButtonObjects = softButtonObjects; // We only need to pass the first softButtonCapabilities in the array due to the fact that all soft button capabilities are the same (i.e. there is no way to assign a softButtonCapabilities to a specific soft button). - SoftButtonReplaceOperation operation = new SoftButtonReplaceOperation(internalInterface, fileManager.get(), softButtonCapabilities, softButtonObjects, getCurrentMainField1()); + SoftButtonReplaceOperation operation = new SoftButtonReplaceOperation(internalInterface, fileManager.get(), softButtonCapabilities, softButtonObjects, getCurrentMainField1(), isDynamicGraphicSupported); if (batchUpdates) { batchQueue.clear(); diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java index b157c4cb9e..f39fe279b5 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java @@ -10,6 +10,7 @@ import com.smartdevicelink.proxy.rpc.Show; import com.smartdevicelink.proxy.rpc.SoftButton; import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities; +import com.smartdevicelink.proxy.rpc.enums.ImageType; import com.smartdevicelink.proxy.rpc.enums.SoftButtonType; import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener; import com.smartdevicelink.util.DebugTool; @@ -30,14 +31,16 @@ class SoftButtonReplaceOperation extends Task { private final SoftButtonCapabilities softButtonCapabilities; private final CopyOnWriteArrayList softButtonObjects; private String currentMainField1; + private Boolean isDynamicGraphicSupported; - SoftButtonReplaceOperation(ISdl internalInterface, FileManager fileManager, SoftButtonCapabilities softButtonCapabilities, CopyOnWriteArrayList softButtonObjects, String currentMainField1) { + SoftButtonReplaceOperation(ISdl internalInterface, FileManager fileManager, SoftButtonCapabilities softButtonCapabilities, CopyOnWriteArrayList softButtonObjects, String currentMainField1, Boolean isDynamicGraphicSupported) { super("SoftButtonReplaceOperation"); this.internalInterface = new WeakReference<>(internalInterface); this.fileManager = new WeakReference<>(fileManager); this.softButtonCapabilities = softButtonCapabilities; this.softButtonObjects = softButtonObjects; this.currentMainField1 = currentMainField1; + this.isDynamicGraphicSupported = isDynamicGraphicSupported; } @Override @@ -65,6 +68,18 @@ public void onComplete(boolean success) { onFinished(); } }); + } else if (!supportsDynamicSoftButtonImages()) { + DebugTool.logInfo(TAG, "Soft button images are not supported. Attempting to send text and static image only soft buttons. If any button does not contain text and/or a static image, no buttons will be sent."); + sendCurrentStateStaticImageOnlySoftButtons(new CompletionListener() { + @Override + public void onComplete(boolean success) { + if (!success) { + DebugTool.logError(TAG, "Buttons will not be sent because the module does not support dynamic images and some of the buttons do not have text or static images"); + } + onFinished(); + } + }); + } else if (currentStateHasImages() && !allCurrentStateImagesAreUploaded()) { // If there are images that aren't uploaded // Send text buttons if all the soft buttons have text @@ -128,6 +143,13 @@ private void uploadInitialStateImages(final CompletionListener completionListene } return; } + if (!supportsDynamicSoftButtonImages()) { + DebugTool.logInfo(TAG, "Head unit does not support dynamic images, skipping upload"); + if (completionListener != null) { + completionListener.onComplete(false); + } + return; + } DebugTool.logInfo(TAG, "Uploading soft button initial artworks"); if (fileManager.get() != null) { @@ -236,6 +258,59 @@ public void onResponse(int correlationId, RPCResponse response) { } } + // Send soft buttons for the current state that only contain text and static images only, if possible. + private void sendCurrentStateStaticImageOnlySoftButtons(final CompletionListener completionListener) { + if (getState() == Task.CANCELED) { + onFinished(); + } + + DebugTool.logInfo(TAG, "Preparing to send text and static image only soft buttons"); + List textButtons = new ArrayList<>(); + for (SoftButtonObject softButtonObject : softButtonObjects) { + SoftButton softButton = softButtonObject.getCurrentStateSoftButton(); + if (softButton.getText() == null && softButton.getImage() != null && softButton.getImage().getImageType() == ImageType.DYNAMIC) { + DebugTool.logWarning(TAG, "Attempted to create text and static image only buttons, but some buttons don't support text and have dynamic images, so no soft buttons will be sent."); + if (completionListener != null) { + completionListener.onComplete(false); + } + return; + } + + + if (softButton.getImage() != null && softButton.getImage().getImageType() == ImageType.DYNAMIC) { + // We should create a new softButtonObject rather than modifying the original one + SoftButton textAndStaticImageOnlySoftButton = new SoftButton(SoftButtonType.SBT_TEXT, softButton.getSoftButtonID()); + textAndStaticImageOnlySoftButton.setText(softButton.getText()); + textAndStaticImageOnlySoftButton.setSystemAction(softButton.getSystemAction()); + textAndStaticImageOnlySoftButton.setIsHighlighted(softButton.getIsHighlighted()); + textAndStaticImageOnlySoftButton.setImage(softButton.getImage()); + textButtons.add(textAndStaticImageOnlySoftButton); + } else { + textButtons.add(softButton); + } + } + + Show show = new Show(); + show.setOnRPCResponseListener(new OnRPCResponseListener() { + @Override + public void onResponse(int correlationId, RPCResponse response) { + if (response.getSuccess()) { + DebugTool.logInfo(TAG, "Finished sending text and static image only soft buttons"); + } else { + DebugTool.logWarning(TAG, "Failed to update soft buttons with text and static image only buttons"); + } + if (completionListener != null) { + completionListener.onComplete(response.getSuccess()); + } + } + }); + show.setMainField1(currentMainField1); + show.setSoftButtons(textButtons); + if (internalInterface.get() != null) { + internalInterface.get().sendRPC(show); + } + } + // Returns text soft buttons representing the current states of the button objects, or returns if _any_ of the buttons' current states are image only buttons. private void sendCurrentStateTextOnlySoftButtons(final CompletionListener completionListener) { @@ -303,6 +378,10 @@ private boolean allCurrentStateImagesAreUploaded() { return true; } + private boolean supportsDynamicSoftButtonImages() { + return softButtonCapabilities != null && Boolean.TRUE.equals(isDynamicGraphicSupported) && Boolean.TRUE.equals(softButtonCapabilities.getImageSupported()); + } + private boolean supportsSoftButtonImages() { return softButtonCapabilities != null && Boolean.TRUE.equals(softButtonCapabilities.getImageSupported()); } diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java index 311279eb82..e46d39339c 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java @@ -113,9 +113,7 @@ * Optional secondary image struct for menu cell * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * *

Response

Indicates that the corresponding request has failed or succeeded, if the response returns with a SUCCESS result code, this means a command was added to the Command Menu successfully.

diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java index 93c5f07197..fcd93d42ea 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java @@ -112,9 +112,7 @@ * Optional secondary text to display * N * {"string_min_length": 1, "string_max_length": 500} - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * tertiaryText @@ -122,9 +120,7 @@ * Optional tertiary text to display * N * {"string_min_length": 1, "string_max_length": 500} - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * secondaryImage @@ -132,9 +128,7 @@ * Optional secondary image struct for sub-menu cell * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * Response diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java index 62a006abe9..08819aa091 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java @@ -85,71 +85,79 @@ * * driverDoorAjar * Boolean - * true + * false * The information about the park brake: - true, if active - false if not. * - * @since SmartDeviceLink 2.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 + * SmartDeviceLink 2.0.0 + *
+ *
+ * Deprecated in SmartDeviceLink 7.1.0 * * * * passengerDoorAjar * Boolean - * true + * false * The information about the park brake: - true, if active - false if not. * - * @since SmartDeviceLink 2.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 + * SmartDeviceLink 2.0.0 + *
+ *
+ * Deprecated in SmartDeviceLink 7.1.0 * * * * rearLeftDoorAjar * Boolean - * true + * false * The information about the park brake: - true, if active - false if not. * - * @since SmartDeviceLink 2.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 + * SmartDeviceLink 2.0.0 + *
+ *
+ * Deprecated in SmartDeviceLink 7.1.0 * * * * rearRightDoorAjar * Boolean - * true + * false * References signal "DrStatRr_B_Actl". * - * @since SmartDeviceLink 2.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 + * SmartDeviceLink 2.0.0 + *
+ *
+ * Deprecated in SmartDeviceLink 7.1.0 * * * * doorStatuses * List - * Provides status for doors if Ajar/Closed/Locked - * N - * {"array_min_size": 0, "array_max_size": 100} + * False + * Provides status for doors if Ajar/Closed/Locked + * {"array_min_size": 0, "array_max_size": 100} * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * * gateStatuses * List - * Provides status for trunk/hood/etc. if Ajar/Closed/Locked - * N - * {"array_min_size": 0, "array_max_size": 100} + * False + * Provides status for trunk/hood/etc. if Ajar/Closed/Locked + * {"array_min_size": 0, "array_max_size": 100} * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * * roofStatuses * List - * Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/Removedetc. - * N - * {"array_min_size": 0, "array_max_size": 100} + * False + * Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/ Removedetc. + * {"array_min_size": 0, "array_max_size": 100} * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java index b723f08b97..4275baf8bc 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java @@ -112,8 +112,10 @@ * N * Subscribable * - * @since SmartDeviceLink 2.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 + * SmartDeviceLink 2.0.0 + *
+ *
+ * Deprecated in SmartDeviceLink 7.1.0 * * * @@ -124,19 +126,20 @@ * Subscribable * SmartDeviceLink 2.0 * - * * * gearStatus * Boolean * See GearStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * * prndl * Boolean * See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -254,7 +257,8 @@ * stabilityControlsStatus * Boolean * See StabilityControlsStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -262,14 +266,16 @@ * handsOffSteering * Boolean * To indicate whether driver hands are off the steering wheel - * N + * N + * * SmartDeviceLink 7.0.0 * * * windowStatus * Boolean * See WindowStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -279,7 +285,7 @@ * N * * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * @@ -289,7 +295,7 @@ * N * * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/KeyboardProperties.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/KeyboardProperties.java index a596237209..9277b4dbe3 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/KeyboardProperties.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/KeyboardProperties.java @@ -107,7 +107,7 @@ * KeyboardInputMask * false * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * Allows an app to mask entered characters on HMI * @@ -116,7 +116,7 @@ * List * false * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * Array of special characters to show in customizable keys. If omitted, keyboard will show default special characters @@ -245,7 +245,7 @@ public KeyboardProperties setAutoCompleteList(List autoCompleteList) { * Sets the maskInputCharacters. * * @param maskInputCharacters Allows an app to mask entered characters on HMI - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 */ public KeyboardProperties setMaskInputCharacters(KeyboardInputMask maskInputCharacters) { setValue(KEY_MASK_INPUT_CHARACTERS, maskInputCharacters); @@ -268,7 +268,7 @@ public KeyboardInputMask getMaskInputCharacters() { * @param customKeys Array of special characters to show in customizable keys. If omitted, keyboard will show * default special characters * {"string_max_length": 1, "string_min_length": 1, "array_max_size": 10, "array_min_size": 1} - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 */ public KeyboardProperties setCustomKeys(List customKeys) { setValue(KEY_CUSTOM_KEYS, customKeys); @@ -281,7 +281,7 @@ public KeyboardProperties setCustomKeys(List customKeys) { * @return List Array of special characters to show in customizable keys. If omitted, keyboard will show * default special characters * {"string_max_length": 1, "string_min_length": 1, "array_max_size": 10, "array_min_size": 1} - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 */ @SuppressWarnings("unchecked") public List getCustomKeys() { diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java index 4801930f77..2f6b3d7125 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java @@ -44,7 +44,8 @@ * * Name * Type - * Description + * Description + * Req. * SmartDeviceLink Ver. Available * * @@ -56,7 +57,8 @@ *
  • Min: 0
  • *
  • Max: 2000000000
  • * - * + * + * * SmartDeviceLink 1.0 * * @@ -70,7 +72,8 @@ *
  • If position is greater or equal than the number of items in the parent Command Menu, the sub menu will be appended to the end of that Command Menu.
  • *
  • If this element is omitted, the entry will be added at the end of the parent menu.
  • * - * + * + * * SmartDeviceLink 1.0 * * @@ -81,27 +84,26 @@ *
  • Min: 1
  • *
  • Max: 100
  • * - * + * + * * SmartDeviceLink 1.0 * * * secondaryText * String - * Optional secondary text to display + * Optional secondary text to display

    {"string_min_length": 1, "string_max_length": 500} * N - * {"string_min_length": 1, "string_max_length": 500} * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * * tertiaryText * String - * Optional tertiary text to display + * Optional tertiary text to display

    {"string_min_length": 1, "string_max_length": 500} * N - * {"string_min_length": 1, "string_max_length": 500} * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java index 8d87f6d30e..09608fb9a0 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java @@ -143,21 +143,16 @@ * gearStatus * GearStatus * See GearStatus - * N - * SmartDeviceLink 7.0.0 - * - * - * gearStatus - * GearStatus - * See GearStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * * prndl * PRNDL * See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -309,14 +304,16 @@ * handsOffSteering * Boolean * To indicate whether driver hands are off the steering wheel - * N + * N + * * SmartDeviceLink 7.0.0 * * * windowStatus * Boolean * See WindowStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -326,14 +323,15 @@ * N * * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * * stabilityControlsStatus * StabilityControlsStatus * See StabilityControlsStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -343,7 +341,7 @@ * N * * - * @since SmartDeviceLink 7.1.0 + * SmartDeviceLink 7.1.0 * * * diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java index 0992246386..139c3a77a5 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java @@ -99,12 +99,9 @@ * countRate * Float * The value of this parameter is the amount that the media clock timer will advance per 1.0 seconds of real time. Values less than 1.0 will therefore advance the timer slower than real-time, while values greater than 1.0 will advance the timer faster than real-time.e.g. If this parameter is set to `0.5`, the timer will advance one second per two seconds real-time, or at 50% speed. If this parameter is set to `2.0`, the timer will advance two seconds per one second real-time, or at 200% speed. - * N * {"num_min_value": 0.1, "num_max_value": 100.0} - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * forwardSeekIndicator @@ -112,9 +109,7 @@ * Used to control the forward seek button to either skip forward a set amount of time or to the next track. * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * backSeekIndicator @@ -122,9 +117,7 @@ * Used to control the forward seek button to either skip back a set amount of time or to the previous track. * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * @@ -142,7 +135,7 @@ *

    REJECTED

    *

    IGNORED

    * - * @since SmartDeviceLink 1.0 + * SmartDeviceLink 1.0 */ public class SetMediaClockTimer extends RPCRequest { public static final String KEY_START_TIME = "startTime"; diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java index e9bdcd905f..1e091beb6e 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java @@ -120,10 +120,10 @@ * Text value for MediaClock field. Has to be properly formatted by Mobile App according to the module's capabilities. If this text is set, any automatic media clock updates previously set with SetMediaClockTimer will be stopped. * N * {"string_min_length": 0, "string_max_length": 500} - * - * @since SmartDeviceLink 1.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 1.0.0 + *
    + *
    + * Deprecated in SmartDeviceLink 7.1.0 * * * mediaTrack @@ -168,9 +168,9 @@ * * templateTitle * String - * The title of the new template that will be displayed. + * The title of the new template that will be displayed. + * N *

    How this will be displayed is dependent on the OEM design and implementation of the template..

    Minsize: 0; Maxsize: 100 - * N * SmartDeviceLink 6.0.0 * * @@ -677,4 +677,4 @@ public Show setTemplateTitle(String templateTitle) { public String getTemplateTitle() { return getString(KEY_TEMPLATE_TITLE); } -} +} \ No newline at end of file diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java index a779c7288f..f32dba1a31 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java @@ -119,23 +119,25 @@ * The external temperature in degrees celsius. This parameter is deprecated starting RPCSpec 7.1.0, please see climateData. * N * Subscribable - * - * @since SmartDeviceLink 2.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 2.0.0 + *
    + *
    + * Deprecated in SmartDeviceLink 7.1.0 * * * gearStatus * Boolean * See GearStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * * prndl * Boolean * See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -294,21 +296,24 @@ * handsOffSteering * Boolean * To indicate whether driver hands are off the steering wheel - * N + * N + * * SmartDeviceLink 7.0.0 * * * windowStatus * Boolean * See WindowStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * * stabilityControlsStatus * Boolean * See StabilityControlsStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -317,9 +322,7 @@ * See ClimateData * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * seatOccupancy @@ -327,9 +330,7 @@ * See SeatOccupancy * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * diff --git a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java index 3f3dff1bf8..0f5a71efef 100644 --- a/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java +++ b/base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java @@ -114,23 +114,25 @@ * The external temperature in degrees celsius. This parameter is deprecated starting RPCSpec 7.1.0, please see climateData. * N * Subscribable - * - * @since SmartDeviceLink 2.0.0 - * @property-deprecated in SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 2.0.0 + *
    + *
    + * Deprecated in SmartDeviceLink 7.1.0 * * * gearStatus * Boolean * See GearStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * * prndl * Boolean * See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -281,21 +283,24 @@ * handsOffSteering * Boolean * To indicate whether driver hands are off the steering wheel - * N + * N + * * SmartDeviceLink 7.0.0 * * * windowStatus * Boolean * See WindowStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * * stabilityControlsStatus * Boolean * See StabilityControlsStatus - * N + * N + * * SmartDeviceLink 7.0.0 * * @@ -304,9 +309,7 @@ * See ClimateData * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * seatOccupancy @@ -314,9 +317,7 @@ * See SeatOccupancy * N * - * - * @since SmartDeviceLink 7.1.0 - * + * SmartDeviceLink 7.1.0 * * * diff --git a/javaSE/javaSE/src/main/java/com/smartdevicelink/BuildConfig.java b/javaSE/javaSE/src/main/java/com/smartdevicelink/BuildConfig.java index c2ed98ba6e..4a7314ad7a 100644 --- a/javaSE/javaSE/src/main/java/com/smartdevicelink/BuildConfig.java +++ b/javaSE/javaSE/src/main/java/com/smartdevicelink/BuildConfig.java @@ -32,5 +32,5 @@ // THIS FILE IS AUTO GENERATED, DO NOT MODIFY!! public final class BuildConfig { - public static final String VERSION_NAME = "5.4.0"; + public static final String VERSION_NAME = "5.5.0"; } \ No newline at end of file