summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2022-06-29 11:35:22 -0400
committerGitHub <noreply@github.com>2022-06-29 11:35:22 -0400
commitc1afd4f7d4af7cd6783d2c019b877153f84a6745 (patch)
tree58dc7d3105f1b43ddf528636b6cbadd725d30b3f
parent16b2ab698a70294c0e060dd88883936a6288b6b8 (diff)
parent527537cb2fca37deaffd705d7f8d5f1c2b74b3f0 (diff)
downloadsdl_android-c1afd4f7d4af7cd6783d2c019b877153f84a6745.tar.gz
Merge pull request #1816 from smartdevicelink/release/5.5.0_RC5.5.0
Release 5.5.0
-rw-r--r--CHANGELOG.md50
-rw-r--r--VERSION2
-rw-r--r--android/sdl_android/build.gradle2
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/SoftButtonManagerTests.java24
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/BaseSoftButtonManager.java12
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/SoftButtonReplaceOperation.java81
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AddCommand.java4
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/AddSubMenu.java12
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/BodyInformation.java56
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/GetVehicleData.java26
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/KeyboardProperties.java10
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/MenuParams.java22
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/OnVehicleData.java26
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SetMediaClockTimer.java15
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/Show.java14
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/SubscribeVehicleData.java31
-rw-r--r--base/src/main/java/com/smartdevicelink/proxy/rpc/UnsubscribeVehicleData.java31
-rw-r--r--javaSE/javaSE/src/main/java/com/smartdevicelink/BuildConfig.java2
18 files changed, 244 insertions, 176 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f7f1182d5..60aacacc2 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 8a30e8f94..d50359de1 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 4f2548737..b0072a6fd 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 67e7384e9..7e0890e18 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 class SoftButtonManagerTests {
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 class SoftButtonManagerTests {
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 4d93be501..ab9159c33 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.OnSystemCapabilityListener;
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 com.smartdevicelink.util.DebugTool;
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> fileManager;
SoftButtonCapabilities softButtonCapabilities;
+ boolean isDynamicGraphicSupported;
private CopyOnWriteArrayList<SoftButtonObject> 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 @@ abstract class BaseSoftButtonManager extends BaseSubManager {
// 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 @@ abstract class BaseSoftButtonManager extends BaseSubManager {
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 b157c4cb9..f39fe279b 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.RPCResponse;
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<SoftButtonObject> softButtonObjects;
private String currentMainField1;
+ private Boolean isDynamicGraphicSupported;
- SoftButtonReplaceOperation(ISdl internalInterface, FileManager fileManager, SoftButtonCapabilities softButtonCapabilities, CopyOnWriteArrayList<SoftButtonObject> softButtonObjects, String currentMainField1) {
+ SoftButtonReplaceOperation(ISdl internalInterface, FileManager fileManager, SoftButtonCapabilities softButtonCapabilities, CopyOnWriteArrayList<SoftButtonObject> 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 @@ class SoftButtonReplaceOperation extends Task {
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 @@ class SoftButtonReplaceOperation extends Task {
}
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 @@ class SoftButtonReplaceOperation extends Task {
}
}
+ // 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<SoftButton> 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 @@ class SoftButtonReplaceOperation extends Task {
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 311279eb8..e46d39339 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 @@ import java.util.List;
* <td>Optional secondary image struct for menu cell</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* </table>
* <p> <b>Response</b></p><p>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.</p>
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 93c5f0719..fcd93d42e 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 @@ import java.util.Hashtable;
* <td>Optional secondary text to display</td>
* <td>N</td>
* <td>{"string_min_length": 1, "string_max_length": 500}</td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>tertiaryText</td>
@@ -122,9 +120,7 @@ import java.util.Hashtable;
* <td>Optional tertiary text to display</td>
* <td>N</td>
* <td>{"string_min_length": 1, "string_max_length": 500}</td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>secondaryImage</td>
@@ -132,9 +128,7 @@ import java.util.Hashtable;
* <td>Optional secondary image struct for sub-menu cell</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* </table>
* <b>Response</b>
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 62a006abe..08819aa09 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 @@ import java.util.List;
* <tr>
* <td>driverDoorAjar</td>
* <td>Boolean</td>
- * <td>true</td>
+ * <td>false</td>
* <td>The information about the park brake: - true, if active - false if not.</td>
* <td>
- * @since SmartDeviceLink 2.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
+ * SmartDeviceLink 2.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>passengerDoorAjar</td>
* <td>Boolean</td>
- * <td>true</td>
+ * <td>false</td>
* <td>The information about the park brake: - true, if active - false if not.</td>
* <td>
- * @since SmartDeviceLink 2.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
+ * SmartDeviceLink 2.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>rearLeftDoorAjar</td>
* <td>Boolean</td>
- * <td>true</td>
+ * <td>false</td>
* <td>The information about the park brake: - true, if active - false if not.</td>
* <td>
- * @since SmartDeviceLink 2.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
+ * SmartDeviceLink 2.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>rearRightDoorAjar</td>
* <td>Boolean</td>
- * <td>true</td>
+ * <td>false</td>
* <td>References signal "DrStatRr_B_Actl".</td>
* <td>
- * @since SmartDeviceLink 2.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
+ * SmartDeviceLink 2.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>doorStatuses</td>
* <td>List<DoorStatus></td>
- * <td>Provides status for doors if Ajar/Closed/Locked</td>
- * <td>N</td>
- * <td>{"array_min_size": 0, "array_max_size": 100}</td>
+ * <td>False</td>
+ * <td>Provides status for doors if Ajar/Closed/Locked
+ * {"array_min_size": 0, "array_max_size": 100}</td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>gateStatuses</td>
* <td>List<GateStatus></td>
- * <td>Provides status for trunk/hood/etc. if Ajar/Closed/Locked</td>
- * <td>N</td>
- * <td>{"array_min_size": 0, "array_max_size": 100}</td>
+ * <td>False</td>
+ * <td>Provides status for trunk/hood/etc. if Ajar/Closed/Locked
+ * {"array_min_size": 0, "array_max_size": 100}</td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>roofStatuses</td>
* <td>List<RoofStatus></td>
- * <td>Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/Removedetc.</td>
- * <td>N</td>
- * <td>{"array_min_size": 0, "array_max_size": 100}</td>
+ * <td>False</td>
+ * <td>Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/ Removedetc.
+ * {"array_min_size": 0, "array_max_size": 100}</td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* </table>
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 b723f08b9..4275baf8b 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 @@ import java.util.Hashtable;
* <td>N</td>
* <td>Subscribable</td>
* <td>
- * @since SmartDeviceLink 2.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
+ * SmartDeviceLink 2.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
@@ -124,19 +126,20 @@ import java.util.Hashtable;
* <td>Subscribable</td>
* <td>SmartDeviceLink 2.0</td>
* </tr>
- * <tr>
* <tr>
* <td>gearStatus</td>
* <td>Boolean</td>
* <td>See GearStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>prndl</td>
* <td>Boolean</td>
* <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -254,7 +257,8 @@ import java.util.Hashtable;
* <td>stabilityControlsStatus</td>
* <td>Boolean</td>
* <td>See StabilityControlsStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* </tr>
@@ -262,14 +266,16 @@ import java.util.Hashtable;
* <td>handsOffSteering</td>
* <td>Boolean</td>
* <td>To indicate whether driver hands are off the steering wheel</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>windowStatus</td>
* <td>Boolean</td>
* <td>See WindowStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -279,7 +285,7 @@ import java.util.Hashtable;
* <td>N</td>
* <td></td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
@@ -289,7 +295,7 @@ import java.util.Hashtable;
* <td>N</td>
* <td></td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* </table>
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 a59623720..9277b4dbe 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 @@ import java.util.List;
* <td>KeyboardInputMask</td>
* <td>false</td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* <td>Allows an app to mask entered characters on HMI</td>
* </tr>
@@ -116,7 +116,7 @@ import java.util.List;
* <td>List<String></td>
* <td>false</td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* <td>
* Array of special characters to show in customizable keys. If omitted, keyboard will show default special characters
@@ -245,7 +245,7 @@ public class KeyboardProperties extends RPCStruct {
* 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 class KeyboardProperties extends RPCStruct {
* @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<String> customKeys) {
setValue(KEY_CUSTOM_KEYS, customKeys);
@@ -281,7 +281,7 @@ public class KeyboardProperties extends RPCStruct {
* @return List<String> 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<String> 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 4801930f7..2f6b3d712 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 @@ import java.util.Hashtable;
* <tr>
* <th>Name</th>
* <th>Type</th>
- * <th>Description</th>
+ * <th>Description</th>
+ * <th>Req.</th>
* <th>SmartDeviceLink Ver. Available</th>
* </tr>
* <tr>
@@ -56,7 +57,8 @@ import java.util.Hashtable;
* <li>Min: 0</li>
* <li>Max: 2000000000</li>
* </ul>
- * </td>
+ * </td>
+ * <th></th>
* <td>SmartDeviceLink 1.0</td>
* </tr>
* <tr>
@@ -70,7 +72,8 @@ import java.util.Hashtable;
* <li>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.</li>
* <li>If this element is omitted, the entry will be added at the end of the parent menu.</li>
* </ul>
- * </td>
+ * </td>
+ * <th></th>
* <td>SmartDeviceLink 1.0</td>
* </tr>
* <tr>
@@ -81,27 +84,26 @@ import java.util.Hashtable;
* <li>Min: 1</li>
* <li>Max: 100</li>
* </ul>
- * </td>
+ * </td>
+ * <th></th>
* <td>SmartDeviceLink 1.0</td>
* </tr>
* <tr>
* <td>secondaryText</td>
* <td>String</td>
- * <td>Optional secondary text to display</td>
+ * <td>Optional secondary text to display <br><br> {"string_min_length": 1, "string_max_length": 500}</td>
* <td>N</td>
- * <td>{"string_min_length": 1, "string_max_length": 500}</td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>tertiaryText</td>
* <td>String</td>
- * <td>Optional tertiary text to display</td>
+ * <td>Optional tertiary text to display <br><br> {"string_min_length": 1, "string_max_length": 500}</td>
* <td>N</td>
- * <td>{"string_min_length": 1, "string_max_length": 500}</td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* </table>
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 8d87f6d30..09608fb9a 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 @@ import java.util.List;
* <td>gearStatus</td>
* <td>GearStatus</td>
* <td>See GearStatus</td>
- * <td>N</td>
- * <td>SmartDeviceLink 7.0.0</td>
- * </tr>
- * <tr>
- * <td>gearStatus</td>
- * <td>GearStatus</td>
- * <td>See GearStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>prndl</td>
* <td>PRNDL</td>
* <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -309,14 +304,16 @@ import java.util.List;
* <td>handsOffSteering</td>
* <td>Boolean</td>
* <td>To indicate whether driver hands are off the steering wheel</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>windowStatus</td>
* <td>Boolean</td>
* <td>See WindowStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -326,14 +323,15 @@ import java.util.List;
* <td>N</td>
* <td></td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </tr>
* <tr>
* <td>stabilityControlsStatus</td>
* <td>StabilityControlsStatus</td>
* <td>See StabilityControlsStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -343,7 +341,7 @@ import java.util.List;
* <td>N</td>
* <td></td>
* <td>
- * @since SmartDeviceLink 7.1.0
+ * SmartDeviceLink 7.1.0
* </td>
* </table>
*
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 099224638..139c3a77a 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 @@ import java.util.Hashtable;
* <td>countRate</td>
* <td>Float</td>
* <td>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.</td>
-
* <td>N</td>
* <td>{"num_min_value": 0.1, "num_max_value": 100.0}</td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>forwardSeekIndicator</td>
@@ -112,9 +109,7 @@ import java.util.Hashtable;
* <td>Used to control the forward seek button to either skip forward a set amount of time or to the next track.</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>backSeekIndicator</td>
@@ -122,9 +117,7 @@ import java.util.Hashtable;
* <td>Used to control the forward seek button to either skip back a set amount of time or to the previous track.</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
*
* </table>
@@ -142,7 +135,7 @@ import java.util.Hashtable;
* <p> REJECTED </p>
* <p> IGNORED </p>
*
- * @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 e9bdcd905..1e091beb6 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 @@ import java.util.List;
* <td>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.</td>
* <td>N</td>
* <td>{"string_min_length": 0, "string_max_length": 500}</td>
- * <td>
- * @since SmartDeviceLink 1.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 1.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>mediaTrack</td>
@@ -168,9 +168,9 @@ import java.util.List;
* <tr>
* <td>templateTitle</td>
* <td>String</td>
- * <td>The title of the new template that will be displayed.</td>
+ * <td>The title of the new template that will be displayed.</td>
+ * <td>N</td>
* <td><p>How this will be displayed is dependent on the OEM design and implementation of the template..</p>Minsize: 0; Maxsize: 100</td>
- * <td>N</td>
* <td>SmartDeviceLink 6.0.0</td>
* </tr>
*
@@ -677,4 +677,4 @@ public class Show extends RPCRequest {
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 a779c7288..f32dba1a3 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 @@ import java.util.Hashtable;
* <td>The external temperature in degrees celsius. This parameter is deprecated starting RPCSpec 7.1.0, please see climateData.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>
- * @since SmartDeviceLink 2.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 2.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>gearStatus</td>
* <td>Boolean</td>
* <td>See GearStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>prndl</td>
* <td>Boolean</td>
* <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -294,21 +296,24 @@ import java.util.Hashtable;
* <td>handsOffSteering</td>
* <td>Boolean</td>
* <td>To indicate whether driver hands are off the steering wheel</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>windowStatus</td>
* <td>Boolean</td>
* <td>See WindowStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>stabilityControlsStatus</td>
* <td>Boolean</td>
* <td>See StabilityControlsStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -317,9 +322,7 @@ import java.util.Hashtable;
* <td>See ClimateData</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>seatOccupancy</td>
@@ -327,9 +330,7 @@ import java.util.Hashtable;
* <td>See SeatOccupancy</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* </table>
*
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 3f3dff1bf..0f5a71efe 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 @@ import java.util.Hashtable;
* <td>The external temperature in degrees celsius. This parameter is deprecated starting RPCSpec 7.1.0, please see climateData.</td>
* <td>N</td>
* <td>Subscribable</td>
- * <td>
- * @since SmartDeviceLink 2.0.0
- * @property-deprecated in SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 2.0.0
+ * <br>
+ * <br>
+ * Deprecated in SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>gearStatus</td>
* <td>Boolean</td>
* <td>See GearStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>prndl</td>
* <td>Boolean</td>
* <td>See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -281,21 +283,24 @@ import java.util.Hashtable;
* <td>handsOffSteering</td>
* <td>Boolean</td>
* <td>To indicate whether driver hands are off the steering wheel</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>windowStatus</td>
* <td>Boolean</td>
* <td>See WindowStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
* <td>stabilityControlsStatus</td>
* <td>Boolean</td>
* <td>See StabilityControlsStatus</td>
- * <td>N</td>
+ * <td>N</td>
+ * <td></td>
* <td>SmartDeviceLink 7.0.0</td>
* </tr>
* <tr>
@@ -304,9 +309,7 @@ import java.util.Hashtable;
* <td>See ClimateData</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
* <tr>
* <td>seatOccupancy</td>
@@ -314,9 +317,7 @@ import java.util.Hashtable;
* <td>See SeatOccupancy</td>
* <td>N</td>
* <td></td>
- * <td>
- * @since SmartDeviceLink 7.1.0
- * </td>
+ * <td>SmartDeviceLink 7.1.0</td>
* </tr>
*
*
diff --git a/javaSE/javaSE/src/main/java/com/smartdevicelink/BuildConfig.java b/javaSE/javaSE/src/main/java/com/smartdevicelink/BuildConfig.java
index c2ed98ba6..4a7314ad7 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 @@ package com.smartdevicelink;
// 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