Skip to content

Commit

Permalink
Merge pull request #1512 from smartdevicelink/release/RC_5.0.0
Browse files Browse the repository at this point in the history
5.0.0 Release
  • Loading branch information
bilal-alsharifi committed Nov 5, 2020
2 parents 7f12aef + 34c7d06 commit e1ef1b4
Show file tree
Hide file tree
Showing 1,362 changed files with 96,929 additions and 121,184 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,20 @@ jobs:
run: ./android/gradlew -p ./android/hello_sdl_android test

- name: Sdl JavaSE Tests
run: ./javaSE/gradlew -p ./javaSE test
run: ./javaSE/gradlew -p ./javaSE/javaSE test

- name: Hello Sdl JavaSE Tests
run: ./hello_sdl_java/gradlew -p ./hello_sdl_java test
run: ./javaSE/gradlew -p ./javaSE/hello_sdl_java test

- name: Sdl JavaEE Tests
run: ./javaEE/gradlew -p ./javaEE test
run: ./javaEE/gradlew -p ./javaEE/javaEE test

- name: RPC Generator Tests
run: |
python3 -m pip install -r ./generator/requirements.txt
python3 ./generator/test/runner.py
- name: Codecov
uses: codecov/codecov-action@v1.0.6
uses: codecov/codecov-action@v1.0.13
with:
yml: ./codecov.yml
14 changes: 6 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
##############################
# Project Specific
##############################
javaSE/out/
javaSE/build/
javaSE/local.properties
javaEE/out/
javaEE/build/
javaEE/local.properties
baseAndroid/windows/

javaSE/javaSE/out/
javaSE/javaSE/build/
javaSE/javaSE/local.properties
javaEE/javaEE/out/
javaEE/javaEE/build/
javaEE/javaEE/local.properties

##############################
# OS generated files
Expand Down
127 changes: 98 additions & 29 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,127 @@
# 4.12.0 Release Notes
# 5.0.0 Release Notes

### Summary:
## Summary:
||Version|
|--|--|
| **Protocol** | 5.2.0
| **RPC** | 6.0.0
| **Protocol** | 5.3.0
| **RPC** | 7.0.0
| **Tested Targeting** | Android 29

## Features
- [[SDL 0230] SPP resource management for Android](https://github.com/smartdevicelink/sdl_java_suite/issues/1132)
## Features:

- [[SDL 0279] Screen Manager Subscribe Buttons](https://github.com/smartdevicelink/sdl_java_suite/issues/1280)
- [[SDL 0242] Subtle Alert Style](https://github.com/smartdevicelink/sdl_java_suite/issues/1120)

- [[SDL 0289] Support for Set Language Separately](https://github.com/smartdevicelink/sdl_java_suite/issues/1313)
- [[SDL 0278] Screen Manager Template Management](https://github.com/smartdevicelink/sdl_java_suite/issues/1327)

- [Add a way to set the resumption hash in the managers layer](https://github.com/smartdevicelink/sdl_java_suite/issues/1400)
- [[SDL 0148] Template Improvements: Additional SubMenus](https://github.com/smartdevicelink/sdl_java_suite/issues/716)

- [Change lock screen logo and ensure correct contrast](https://github.com/smartdevicelink/sdl_java_suite/issues/1342)
- [[SDL 0268] Main Menu Updating and Pagination](https://github.com/smartdevicelink/sdl_java_suite/issues/1254)

- [[SDL 0152] Driver Distraction Improvements: Command List Limitations](https://github.com/smartdevicelink/sdl_java_suite/issues/729)

## Enhancements
- [[SDL 0306] Use Taskmaster To Handle Queuing Operations in Managers](https://github.com/smartdevicelink/sdl_java_suite/issues/1368)
- [[SDL 0311] Make RPC Setters Chainable](https://github.com/smartdevicelink/sdl_java_suite/issues/1421)

- [[SDL 0301] SDL Device Listener](https://github.com/smartdevicelink/sdl_java_suite/issues/1348)
- [[SDL 0308] Add a Reason Parameter to All Protocol NAKs](https://github.com/smartdevicelink/sdl_java_suite/issues/1379)

- [Sdl Android should use the new LifecycleManager](https://github.com/smartdevicelink/sdl_java_suite/issues/1365)
- [[SDL 0253] New vehicle data StabilityControlsStatus](https://github.com/smartdevicelink/sdl_java_suite/issues/1204)

- [Deprecate onError for OnRPCResponseListener](https://github.com/smartdevicelink/sdl_java_suite/pull/1404)
- [[SDL 0266] New vehicle data GearStatus](https://github.com/smartdevicelink/sdl_java_suite/issues/1256)

- [Add ForegroundServiceType Parameter to HelloSdl Project](https://github.com/smartdevicelink/sdl_java_suite/issues/1374)
- [[SDL 0261] New vehicle data WindowStatus](https://github.com/smartdevicelink/sdl_java_suite/issues/1243)

- [Update javadocs for PermissionManager.addListener](https://github.com/smartdevicelink/sdl_java_suite/pull/1364)
- [[SDL 0257] New vehicle data HandsOffSteering](https://github.com/smartdevicelink/sdl_java_suite/issues/1224)

- [PermissionManager Should send callback when subscribing to listener](https://github.com/smartdevicelink/sdl_java_suite/issues/1353)
- [[SDL 0256] Refactor Fuel Information Related Vehicle Data](https://github.com/smartdevicelink/sdl_java_suite/issues/1223)

- [Move textFields / imageFields == null checking from ScreenManager to SystemCapabilityManager](https://github.com/smartdevicelink/sdl_java_suite/issues/1335)
- [[SDL 0273] WebEngine Projection mode](https://github.com/smartdevicelink/sdl_java_suite/issues/1375)

- [Change Http to Https](https://github.com/smartdevicelink/sdl_java_suite/issues/1333)
- [[SDL 0202] Supported Character Sets](https://github.com/smartdevicelink/sdl_java_suite/issues/950)

- [Move src/java/main/android folder](https://github.com/smartdevicelink/sdl_java_suite/issues/1377)
## Enhancements:

- [Classes that need to be removed in next major release should be deprecated ](https://github.com/smartdevicelink/sdl_java_suite/issues/1362)
- [[SDL 0286] Java Suite Cleanup](https://github.com/smartdevicelink/sdl_java_suite/issues/1306)

- [OnSdlChoiceChosen contains duplicate class definitions](https://github.com/smartdevicelink/sdl_java_suite/issues/14)
- [Android X support](https://github.com/smartdevicelink/sdl_java_suite/issues/1094)

- [The name of setter and getter in OnButtonPress are ambiguous](https://github.com/smartdevicelink/sdl_java_suite/issues/547)
- [RPC Generator should use @deprecated annotation in JavaDocs when applicable](https://github.com/smartdevicelink/sdl_java_suite/issues/1448)

- [RPC Generator needs to be updated to generate correct Android X imports](https://github.com/smartdevicelink/sdl_java_suite/issues/1444)

## Bug Fixes
- [onError should be removed from OnRPCResponseListener](https://github.com/smartdevicelink/sdl_java_suite/issues/1455)

- [presentChoiceSet failed with "INVALID_ID, null"](https://github.com/smartdevicelink/sdl_java_suite/issues/1336)
- [SystemCapabilityManager & HapticInterfaceManager should be moved to the managers package](https://github.com/smartdevicelink/sdl_java_suite/issues/1432)

- [ Android app will not receive the notification of HU when the language is switched on the HU side.](https://github.com/smartdevicelink/sdl_java_suite/issues/1372)
- [[SDL 0193] Update SDL-Android minimum SDK](https://github.com/smartdevicelink/sdl_java_suite/issues/835)

- [If an empty array is set for voice commands on the SDLMenuCell the AddCommand is rejected](https://github.com/smartdevicelink/sdl_java_suite/issues/1341)
- [Refactor Text & Graphic Manager](https://github.com/smartdevicelink/sdl_java_suite/issues/1464)

- [Refactor session and protocol interfaces](https://github.com/smartdevicelink/sdl_java_suite/pull/1430)

- [Remove SdlProxy classes](https://github.com/smartdevicelink/sdl_java_suite/pull/1471)

- [Remove FrameData Class](https://github.com/smartdevicelink/sdl_java_suite/pull/1466)

- [Two StreamPacketizer classes](https://github.com/smartdevicelink/sdl_java_suite/issues/1272)

- [SdlFile in javaSE should have a constructor that takes URI as file source](https://github.com/smartdevicelink/sdl_java_suite/issues/1469)

- [The default value for overwrite property in SdlFile should be false to align with iOS ](https://github.com/smartdevicelink/sdl_java_suite/issues/1451)

- [Deprecated RPC APIs that don't exist in the spec should be removed ](https://github.com/smartdevicelink/sdl_java_suite/issues/1446)

- [[SDL 0200] - Removing URL Parameter Max Length](https://github.com/smartdevicelink/sdl_java_suite/issues/906)

- [Integration validator](https://github.com/smartdevicelink/sdl_java_suite/pull/1436)

- [Gradle dependencies needs to be updates](https://github.com/smartdevicelink/sdl_java_suite/issues/1459)

- [BSON library should be updated to the latest version (1.2.2)](https://github.com/smartdevicelink/sdl_java_suite/issues/1542)

- [Update Project Documentation in README](https://github.com/smartdevicelink/sdl_java_suite/issues/1534)

- [Feature/lockscreen ui testing](https://github.com/smartdevicelink/sdl_java_suite/pull/1527)

## Bug Fixes:

- [LockScreen behavior is incorrect for Display Always and Dismissible](https://github.com/smartdevicelink/sdl_java_suite/issues/1515)

- [NPE with SoftButtonCapabilities using Core](https://github.com/smartdevicelink/sdl_java_suite/issues/1499)

- [NPE Enum doesn't exist](https://github.com/smartdevicelink/sdl_java_suite/issues/1495)

- [NullPointerException While updating Image/Text after layout Change.](https://github.com/smartdevicelink/sdl_java_suite/issues/1465)

- [javaSE and javaEE links in the readme file don't reference the latest version of the library ](https://github.com/smartdevicelink/sdl_java_suite/issues/1449)

- [ScreenManager doesn't work when app register on backup transport](https://github.com/smartdevicelink/sdl_java_suite/issues/1518)

- [Difficult to import sdl_android as source library](https://github.com/smartdevicelink/sdl_java_suite/issues/1048)

- [Some cloud apps fail to download icons ](https://github.com/smartdevicelink/sdl_java_suite/issues/1513)

- [ANRs (Application Not Responding) occur when switching from App1 to App2 on HU.](https://github.com/smartdevicelink/sdl_java_suite/issues/1398)

- [Lists with initial values of null are not returned properly in RPCs](https://github.com/smartdevicelink/sdl_java_suite/issues/1473)

- [ClassCastException when calling RPC getter method returning Float type](https://github.com/smartdevicelink/sdl_java_suite/issues/1407)

- [TransportManager.exitLegacyMode () : NullPointerException ](https://github.com/smartdevicelink/sdl_java_suite/issues/1412)

- [RPC Generator is not generating the corresponding Javadoc for min & max attributes ](https://github.com/smartdevicelink/sdl_java_suite/issues/1438)

- [RPC Generator is generating enum values with wrong capitalization](https://github.com/smartdevicelink/sdl_java_suite/issues/1425)

- [RPC generator strips text after @TODO](https://github.com/smartdevicelink/sdl_java_suite/issues/1506)

- [Some RPCs in the code do not exactly match the spec](https://github.com/smartdevicelink/sdl_java_suite/issues/1545)

- [Fix issue in setting MediaTrack in the T&G manager](https://github.com/smartdevicelink/sdl_java_suite/pull/1544)

- [There are a few deprecated functions that don't link to the correct function](https://github.com/smartdevicelink/sdl_java_suite/issues/1536)

- [Some cloud apps fail to download icons](https://github.com/smartdevicelink/sdl_java_suite/issues/1513)

- [Fix inconsistency with HMICapabilities API names](https://github.com/smartdevicelink/sdl_java_suite/pull/1508)

- [LockScreen behavior is incorrect for Display Always and Dismissible](https://github.com/smartdevicelink/sdl_java_suite/issues/1515)

- [Disconnecting a cloud app doesn't free the port](https://github.com/smartdevicelink/sdl_java_suite/issues/1339)
Binary file modified JavaSuiteFolderStructure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 14 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,28 @@ SmartDeviceLink (SDL) is a standard set of protocols and messages that connect a

* The [Core](https://github.com/smartdevicelink/sdl_core) component is the software which Vehicle Manufacturers (OEMs) implement in their vehicle head units. Integrating this component into their head unit and HMI based on a set of guidelines and templates enables access to various smartphone applications.
* The optional [SDL Server](https://github.com/smartdevicelink/sdl_server) can be used by Vehicle OEMs to update application policies and gather usage information for connected applications.
* The [iOS](https://github.com/smartdevicelink/sdl_ios) and [Android](https://github.com/smartdevicelink/sdl_java_suite) libraries are implemented by app developers into their applications to enable command and control via the connected head unit.
* The [JavaSE](https://github.com/smartdevicelink/sdl_java_suite) (Embedded) and [JavaEE](https://github.com/smartdevicelink/sdl_java_suite) (Cloud) libraries, written in Java, are implemented by app developers into their applications to enable command and control of a connected head unit.

* The App Libraries - [Android](https://github.com/smartdevicelink/sdl_java_suite), [iOS](https://github.com/smartdevicelink/sdl_ios), [JavaScript](https://github.com/smartdevicelink/sdl_javascript_suite), [JavaSE](https://github.com/smartdevicelink/sdl_java_suite) (Embedded), and [JavaEE](https://github.com/smartdevicelink/sdl_java_suite) (Cloud) - are implemented by app developers into their applications to enable command and control of a connected head unit.

Pull Requests Welcome!

To understand if a contribution should be entered as an Android Pull Request (or issue), or an SDL Evolution Proposal, please reference [this document](https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals_versus_issues.md).
To understand if a contribution should be entered as a Java Suite Pull Request (or issue), or an SDL Evolution Proposal, please reference [this document](https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals_versus_issues.md).

<a href="http://www.youtube.com/watch?feature=player_embedded&v=AzdQdSCS24M" target="_blank"><img src="http://i.imgur.com/nm8UujD.png?1" alt="SmartDeviceLink" border="10" /></a>

## Client Proxy
## App Library

The client libraries component of SDL is meant to run on the end user’s smart-device from within SDL enabled apps, as an embedded app, or connected to from the cloud. The libraries allows the apps to connect to SDL enabled head-units and hardware through bluetooth, USB, TCP for Android and cloud and embedded apps can connect through web sockets, Java Beans, and other custom transports. Once the library establishes a connection between the smart device and head-unit through the preferred method of transport, the two components are able to communicate using the SDL defined protocol. The app integrating this library project is then able to expose its functionality to the head-unit through text, media, and other interactive elements.
The app library component of SDL is meant to run on the end user’s smart-device from within SDL enabled apps, as an embedded app, or connected to the cloud. App libraries allow the apps to connect to SDL enabled head-units and hardware through bluetooth, USB, and TCP for Android, and cloud and embedded apps can connect through web sockets, Java Beans, and other custom transports. Once the library establishes a connection between the smart device and head-unit through the preferred method of transport, the two components are able to communicate using the SDL defined protocol. The app integrating this library project is then able to expose its functionality to the head-unit through text, media, and other interactive elements.

# SmartDeviceLink Java Suite

## SmartDeviceLink Android
[ ![Download Android](https://api.bintray.com/packages/smartdevicelink/sdl_android/sdl_android/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_android/sdl_android/_latestVersion)
You can find guides and API Reference Documentation specific to SDL Android, JavaSE, and JavaEE libraries on [smartdevicelink.com](https://smartdevicelink.com/docs/).

We're still working on creating documentation for each of these individual repositories, but in the meantime, you can find more information about SmartDeviceLink [here](https://smartdevicelink.com)
Contents and timing for SDL Java Suite releases can be tracked on the [GitHub Projects](https://github.com/smartdevicelink/sdl_java_suite/projects) page.

You can also find some branches that have yet to be merged into this GitHub project on the GENIVI page [here](http://git.projects.genivi.org/?p=smartdevicelink_android.git;a=summary).
Additional information about recent and upcoming SDL Releases can be found in the [SDL Evolution README](https://github.com/smartdevicelink/sdl_evolution#recent-and-upcoming-releases).

## SmartDeviceLink Android
[ ![Download Android](https://api.bintray.com/packages/smartdevicelink/sdl_android/sdl_android/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_android/sdl_android/_latestVersion)

### Installation

Expand Down Expand Up @@ -66,7 +67,7 @@ Developers using Proguard to shrink and obfuscate their code should be sure to i

### JavaSE

[ ![Download JavaSE](https://api.bintray.com/packages/smartdevicelink/sdl_java_se/sdl_java_se/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_se/sdl_java_se/_latestVersion)
[ ![Download JavaSE](https://api.bintray.com/packages/smartdevicelink/sdl_java_se/sdl_javase/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_se/sdl_javase/_latestVersion)

The JavaSE project is meant to allow SDL compatibility for embedded applications.

Expand All @@ -85,7 +86,7 @@ dependencies {

### JavaEE

[ ![Download JavaEE](https://api.bintray.com/packages/smartdevicelink/sdl_java_ee/sdl_java_ee/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_ee/sdl_java_ee/_latestVersion)
[ ![Download JavaEE](https://api.bintray.com/packages/smartdevicelink/sdl_java_ee/sdl_javaee/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_java_ee/sdl_javaee/_latestVersion)

The JavaEE project is meant to allow SDL compatibility for web applications.

Expand Down Expand Up @@ -118,9 +119,6 @@ from within the project (JavaSE or JavaEE) and a JAR should be generated in the
#### base Folder
The base folder contains the source set that is shared between all of the compilable projects. This folder does not contain a compilable project.

#### baseAndroid Folder
The baseAndroid folder contains symbolic links to files and folders from the base folder. This has been included since the Java Suite refactor is a minor version release and the base folder contains breaking changes for the Android project. This folder does not contain a compilable project.

#### android Folder
The android folder contains the SDL Android library as well as the sample project for Android. Both of those are compilable projects.

Expand All @@ -134,4 +132,4 @@ The JavaSE sample app is in the hello_sdl_java folder. It demonstrates an effici
The javaEE folder contains the SDL JavaEE library. The JavaSE folder is used as a source set and added as a dependency. This library is based off the JavaSE library and will contain specifics for the JavaEe platform.

###### JavaEE Sample App
The JavaEE sample app is in the hello_sdl_java_ee folder. Most of the code is commented out since the library and sample app do not include the dependencies of JavaEE due to licensing issues. However, the commented out code demonstrates how to build a Java based app into the JavaEE bean architecture.
The JavaEE sample app is in the hello_sdl_java_ee folder. Most of the code is commented out since the library and sample app do not include the dependencies of JavaEE due to licensing issues. However, the commented out code demonstrates how to build a Java based app into the JavaEE bean architecture.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.12.0
5.0.0
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.android.tools.build:gradle:4.0.1'


// NOTE: Do not place your application dependencies here; they belong
Expand Down
2 changes: 2 additions & 0 deletions android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m

# When configured, Gradle will run in incubating parallel mode.
Expand Down
4 changes: 2 additions & 2 deletions android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Sun Jan 20 22:30:48 EST 2019
#Wed Aug 19 13:26:39 EDT 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
Loading

0 comments on commit e1ef1b4

Please sign in to comment.