Skip to content

Commit dafab74

Browse files
authored
Merge pull request #1 from smartdevicelink/develop
Lockscreen dismiss
2 parents 9682b37 + 5b60f51 commit dafab74

File tree

1,574 files changed

+111205
-44289
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,574 files changed

+111205
-44289
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[Delete any non-applicable sections, but we may ask for more information.]
1+
[Delete any non-applicable sections, but we may ask for more information. Please reference the [SmartDeviceLink GitHub Best Practices](https://d83tozu1c8tt6.cloudfront.net/media/resources/SDL_GitHub_BestPractices.pdf) for further instructions on how to enter an issue.]
22

33
### Bug Report
44
[Summary]

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[Things to note: Pull Requests **must** fix an issue. Discussion about the feature / bug takes place in the issue, discussion of the implementation takes place in the PR. Please also see the [Contributing Guide](https://github.com/smartdevicelink/sdl_android/blob/master/.github/CONTRIBUTING.md) for information on branch naming and the CLA.
1+
[Things to note: Pull Requests **must** fix an issue. Discussion about the feature / bug takes place in the issue, discussion of the implementation takes place in the PR. Please also see the [Contributing Guide](https://github.com/smartdevicelink/sdl_android/blob/master/.github/CONTRIBUTING.md) for information on branch naming and the CLA, and the [SmartDeviceLink GitHub Best Practices](https://d83tozu1c8tt6.cloudfront.net/media/resources/SDL_GitHub_BestPractices.pdf) document for more information on how to enter a pull request. Once this PR is ready for review, please request one from @joeygrover.
22

33
Delete the above section when you've read it.]
44

@@ -30,4 +30,4 @@ This PR makes **[no / minor / major]** API changes.
3030
- [ ] [Task 2]
3131

3232
### CLA
33-
- [ ] I have signed [the CLA](https://docs.google.com/forms/d/e/1FAIpQLSdsgJY33VByaX482zHzi-xUm49JNnmuJOyAM6uegPQ2LXYVfA/viewform)
33+
- [ ] I have signed [the CLA](https://docs.google.com/forms/d/e/1FAIpQLSdsgJY33VByaX482zHzi-xUm49JNnmuJOyAM6uegPQ2LXYVfA/viewform)

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
##############################
22
# Project Specific
33
##############################
4+
javaSE/out/
5+
javaSE/build/
6+
javaSE/local.properties
7+
javaEE/out/
8+
javaEE/build/
9+
javaEE/local.properties
10+
baseAndroid/windows/
411

512

613
##############################

.travis.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ android:
1010
- ndk-bundle
1111

1212
# The BuildTools version used by your project
13-
- build-tools-27.0.3
13+
- build-tools-28.0.3
1414

1515
# The SDK version used to compile your project
16+
- android-28
17+
- android-27
1618
- android-26
1719
- android-22 #For emulator
1820
# Specify at least one system image,
@@ -43,10 +45,14 @@ before_script:
4345

4446
script:
4547
- android list target
46-
- ./gradlew connectedCheck
48+
- ./android/gradlew -p ./android :sdl_android:connectedCheck
49+
- ./android/gradlew -p ./android :hello_sdl_android:test
50+
- ./javaSE/gradlew -p ./javaSE test
51+
- ./hello_sdl_java/gradlew -p ./hello_sdl_java test
52+
- ./javaEE/gradlew -p ./javaEE test
4753

4854
before_install:
49-
- echo yes | sdkmanager "build-tools;27.0.3"
55+
- echo yes | sdkmanager "build-tools;28.0.3"
5056

5157
after_success:
5258
- bash <(curl -s https://codecov.io/bash)

CHANGELOG.md

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,9 @@
1-
# 4.6.0 Release Notes
1+
# 4.8.1 Release Notes
22

3-
### API New Features & Breaking Changes
4-
- `RPCRequestFactory` has been deprecated. Please use the desired RPC's constructor instead.
5-
- The Android Annotations Library has been added to the project to better help and inform developers about the SDK.
3+
### Hotfix
64

7-
### Enhancements
8-
- The router service foreground lifecycle is improved. The notification should no longer be seen when connecting to non-SDL devices.
9-
- The SDL notification now links to a webpage to explain what the notification is and how to hide it.
10-
- The required `intent-filter` entires for the `SdlBroadcastReceiver` has been reduced. It is now only listening for the SDL custom intent, ACL connect, and USB connection if using AOA.
11-
- RPC classes now contain constructors with the required parameters for that RPC.
12-
- Moved project to newer version of Gradle. Updated configurations including from `compile` to `api` and `implementation`.
13-
- `SdlProxyBuilder` was cleaned up to remove redundant variables between the `SdlProxyBuilder.Builder` object and the `SdlProxyBuilder` class.
14-
15-
### Bug Fixes
16-
- Fixed touch issues with the video streaming feature. A new module was added to handle touch events much more aligned with Android native views.
17-
- Fixed JavaDoc issue in `UnregisterAppInterface`.
18-
- Fixed JavaDoc issue in `AddCommand`.
19-
- Added tags to the string resource xml file to ignore translation
20-
- Temporary fix to the TCP transport to catch `NetworkOnTheMainThread` exceptions when the connection is closing.
21-
- Fix issue where the `SdlBroadcastReceiver` was attempting to send implicit intents to ping the `SdlRouterService`. They are now explicit.
22-
- Fix a potential NPE in the `SdlBroadcastReceiver` while an app is only using USB and does not include an instance of an `SdlRouterService`.
23-
- Removed reflection usage in bluetooth transports when operating on systems that are newer than Android Oreo in anticipation of Android P.
24-
- Fix an issue where the `SdlBroadcastReceiver` would throw a false positive regarding whether or not an app had included the correct `intent-filter` in their `SdlRouterService` manifest declaration.
5+
- [NPE at SdlProtocol.java line 1132 #946](https://github.com/smartdevicelink/sdl_java_suite/issues/946)
6+
- [SdlManager doesn't transition to shutdown state when dispose() is called #1052] (https://github.com/smartdevicelink/sdl_java_suite/issues/1052)
7+
- [onLegacyModeEnabled no longer implemented #1051](https://github.com/smartdevicelink/sdl_java_suite/issues/1051)
8+
- [I can't get the value by getPressureTellTale() #1057](https://github.com/smartdevicelink/sdl_java_suite/issues/1057)
9+
- Fixed JavaEE Hello SDL app with correct constructor usage

JavaSuiteFolderStructure.png

17.9 KB
Loading

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2017 - 2018, SmartDeviceLink Consortium, Inc.
1+
Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, Inc.
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without

README.md

Lines changed: 90 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
1-
[![Build Status](https://travis-ci.org/smartdevicelink/sdl_android.svg?branch=master)](https://travis-ci.org/smartdevicelink/sdl_android)
2-
[![codecov](https://codecov.io/gh/smartdevicelink/sdl_android/branch/master/graph/badge.svg)](https://codecov.io/gh/smartdevicelink/sdl_android)
1+
[![Build Status](https://travis-ci.org/smartdevicelink/sdl_android.svg?branch=master)](https://travis-ci.org/smartdevicelink/sdl_java_suite)
2+
[![codecov](https://codecov.io/gh/smartdevicelink/sdl_android/branch/master/graph/badge.svg)](https://codecov.io/gh/smartdevicelink/sdl_java_suite)
33
[![Slack Status](http://sdlslack.herokuapp.com/badge.svg)](http://slack.smartdevicelink.com)
4-
[ ![Download](https://api.bintray.com/packages/smartdevicelink/sdl_android/sdl_android/images/download.svg) ](https://bintray.com/smartdevicelink/sdl_android/sdl_android/_latestVersion)
4+
55
# SmartDeviceLink (SDL)
66

77
SmartDeviceLink (SDL) is a standard set of protocols and messages that connect applications on a smartphone to a vehicle head unit. This messaging enables a consumer to interact with their application using common in-vehicle interfaces such as a touch screen display, embedded voice recognition, steering wheel controls and various vehicle knobs and buttons. There are three main components that make up the SDL ecosystem.
88

99
* 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.
1010
* 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.
11-
* The [iOS](https://github.com/smartdevicelink/sdl_ios) and [Android](https://github.com/smartdevicelink/sdl_android) libraries are implemented by app developers into their applications to enable command and control via the connected head unit.
12-
11+
* 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.
12+
* 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.
13+
1314
Pull Requests Welcome!
1415

1516
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).
1617

1718
<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>
1819

19-
## Mobile Proxy
20+
## Client Proxy
21+
22+
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.
2023

21-
The mobile library component of SDL is meant to run on the end user’s smart-device from within SDL enabled apps. The library allows the apps to connect to SDL enabled head-units and hardware through bluetooth, USB, and TCP. 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.
24+
# SmartDeviceLink Java Suite
2225

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

2529
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)
2630

@@ -32,7 +36,7 @@ You can also find some branches that have yet to be merged into this GitHub proj
3236

3337
To compile with the latest release of SDL Android, include the following in your app's `build.gradle` file,
3438

35-
```
39+
```sh
3640
repositories {
3741
jcenter()
3842
}
@@ -51,7 +55,83 @@ If you prefer not to use any of the aforementioned dependency managers, you can
5155

5256
Developers using Proguard to shrink and obfuscate their code should be sure to include the following lines in their proguard-rules.pro file:
5357

54-
```
58+
```sh
5559
-keep class com.smartdevicelink.** { *; }
5660
-keep class com.livio.** { *; }
57-
```
61+
# Video streaming apps must add the following line
62+
-keep class ** extends com.smartdevicelink.streaming.video.SdlRemoteDisplay { *; }
63+
```
64+
65+
## SmartDeviceLink Java
66+
67+
### JavaSE
68+
69+
[ ![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)
70+
71+
The JavaSE project is meant to allow SDL compatibility for embedded applications.
72+
73+
#### Dependency Managers
74+
75+
To compile with the latest release of SDL JavaSE, include the following in your app's `build.gradle` file,
76+
77+
```sh
78+
repositories {
79+
jcenter()
80+
}
81+
dependencies {
82+
implementation 'com.smartdevicelink:sdl_java_se:4.+'
83+
}
84+
```
85+
86+
### JavaEE
87+
88+
[ ![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)
89+
90+
The JavaEE project is meant to allow SDL compatibility for web applications.
91+
92+
#### Dependency Managers
93+
94+
To compile with the latest release of SDL JavaEE, include the following in your app's `build.gradle` file,
95+
96+
```sh
97+
repositories {
98+
jcenter()
99+
}
100+
dependencies {
101+
implementation 'com.smartdevicelink:sdl_java_ee:4.+'
102+
}
103+
```
104+
105+
#### Manually building a JAR
106+
107+
If you prefer making a JAR, simply call:
108+
109+
```sh
110+
gradle build
111+
```
112+
from within the project (JavaSE or JavaEE) and a JAR should be generated in the `build/libs` folder
113+
114+
## Java Suite Repo Structure
115+
116+
![Java Suite Folder Structure](JavaSuiteFolderStructure.png)
117+
118+
#### base Folder
119+
The base folder contains the source set that is shared between all of the compilable projects. This folder does not contain a a compilable project.
120+
121+
#### baseAndroid Folder
122+
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 a compilable project.
123+
124+
#### android Folder
125+
The android folder contains the SDL Android library as well as the sample project for Android. Both of those are compilable projects.
126+
127+
#### javaSE
128+
The javaSE folder contains the SDL JavaSE Library. The base folder source set is added as a dependency. This project can be used for embedded or remote SDL applications. It uses a web socket transport by default but can be made to work with other transports via the `CustomTransport`.
129+
130+
###### JavaSE Sample App
131+
The JavaSE sample app is in the hello_sdl_java folder. It demonstrates an efficient way to structure a Java app using the JavaSE library.
132+
133+
#### javaEE
134+
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.
135+
136+
###### JavaEE Sample App
137+
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.

VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
4.8.1

android/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
## SmartDeviceLink Android
2+
3+
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)
4+
5+
### Installation
6+
7+
#### Dependency Managers
8+
9+
To compile with the latest release of SDL Android, include the following in your app's `build.gradle` file,
10+
11+
```
12+
repositories {
13+
jcenter()
14+
}
15+
dependencies {
16+
implementation 'com.smartdevicelink:sdl_android:4.+'
17+
}
18+
```
19+
20+
For Maven or Ivy snippets please look at [Bintray](https://bintray.com/smartdevicelink/sdl_android/sdl_android)
21+
22+
#### Manually
23+
24+
If you prefer not to use any of the aforementioned dependency managers, you can integrate SDL Android into your project manually.
25+
26+
### Proguard Rules
27+
28+
Developers using Proguard to shrink and obfuscate their code should be sure to include the following lines in their proguard-rules.pro file:
29+
30+
```
31+
-keep class com.smartdevicelink.** { *; }
32+
-keep class com.livio.** { *; }
33+
# Video streaming apps must add the following line
34+
-keep class ** extends com.smartdevicelink.streaming.video.SdlRemoteDisplay { *; }
35+
```

android/build.gradle

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2+
3+
buildscript {
4+
5+
repositories {
6+
google()
7+
jcenter()
8+
}
9+
dependencies {
10+
classpath 'com.android.tools.build:gradle:3.3.1'
11+
12+
13+
// NOTE: Do not place your application dependencies here; they belong
14+
// in the individual module build.gradle files
15+
}
16+
}
17+
18+
allprojects {
19+
repositories {
20+
google()
21+
jcenter()
22+
}
23+
}
24+
25+
task clean(type: Delete) {
26+
delete rootProject.buildDir
27+
}
File renamed without changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Sun Jan 20 22:30:48 EST 2019
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

gradlew renamed to android/gradlew

File renamed without changes.
File renamed without changes.
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
compileSdkVersion 28
5+
defaultConfig {
6+
applicationId "com.sdl.hellosdlandroid"
7+
minSdkVersion 14
8+
targetSdkVersion 28
9+
versionCode 1
10+
versionName "1.0"
11+
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12+
}
13+
buildTypes {
14+
release {
15+
minifyEnabled false
16+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17+
}
18+
}
19+
flavorDimensions "default"
20+
productFlavors{
21+
multi_sec_high {
22+
buildConfigField 'String', 'TRANSPORT', '"MULTI"'
23+
buildConfigField 'String', 'SECURITY', '"HIGH"'
24+
}
25+
multi_sec_med {
26+
buildConfigField 'String', 'TRANSPORT', '"MULTI"'
27+
buildConfigField 'String', 'SECURITY', '"MED"'
28+
}
29+
multi_sec_low {
30+
buildConfigField 'String', 'TRANSPORT', '"MULTI"'
31+
buildConfigField 'String', 'SECURITY', '"LOW"'
32+
}
33+
multi_sec_off {
34+
buildConfigField 'String', 'TRANSPORT', '"MULTI"'
35+
buildConfigField 'String', 'SECURITY', '"OFF"'
36+
}
37+
multi_high_bandwidth {
38+
buildConfigField 'String', 'TRANSPORT', '"MULTI_HB"'
39+
buildConfigField 'String', 'SECURITY', '"OFF"'
40+
}
41+
tcp {
42+
buildConfigField 'String', 'TRANSPORT', '"TCP"'
43+
buildConfigField 'String', 'SECURITY', '"OFF"'
44+
}
45+
}
46+
lintOptions {
47+
disable 'GoogleAppIndexingWarning'
48+
}
49+
}
50+
51+
52+
dependencies {
53+
implementation fileTree(dir: 'libs', include: ['*.jar'])
54+
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
55+
exclude group: 'com.android.support', module: 'support-annotations'
56+
})
57+
implementation 'com.android.support:appcompat-v7:28.0.0'
58+
implementation project(path: ':sdl_android')
59+
testImplementation 'junit:junit:4.12'
60+
}

0 commit comments

Comments
 (0)