Skip to content

Commit e5e7961

Browse files
committed
Merge branch 'develop'
2 parents a3bf4de + df74151 commit e5e7961

File tree

173 files changed

+3493
-1737
lines changed

Some content is hidden

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

173 files changed

+3493
-1737
lines changed

CHANGELOG.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# 4.0.0 Release Notes
2+
3+
### API New Features & Breaking Changes
4+
* Updated to v4.0 RPCs and enums.
5+
* Enums updated:
6+
* LayoutMode (Add and deprecate)
7+
* AppInterfaceUnregisteredReason
8+
* TextFieldName
9+
* ImageFieldName
10+
* VehicleDataResultCode
11+
* KeyboardEvent
12+
* RequestType
13+
* RPCs updated
14+
* TouchEvent - Changed timestamp (ts) to use Long instead of Integers
15+
* HMICapabilities (new)
16+
* RegisterAppInterface (response)
17+
* PutFile (request) - Changed offset and length to use Long instead of Integers
18+
* DialNumber (new - request, response)
19+
* OnSystemRequest (notification) (Changed offset and length to use Long instead of Integers)
20+
* Removed unused classes StringEnumer, Base64, and utl/Mime
21+
* Removed unused methods including these public/protected methods:
22+
* `com/smartDeviceLink/streaming/AbstractPacketizer`
23+
* printBuffer(byte[],int,int)
24+
* `com/smartDeviceLink/trace/Mime`
25+
* base64Decode(String)
26+
* `com/smartDeviceLink/trace/SdlTrace`
27+
* setTracingEnable(Boolean)
28+
* Moved TransportType enum to new package which will contain all new enums for the transport package, `com/smartDeviceLink/transport/enums`
29+
* Removed unused enums
30+
* GearShiftAdviceStatus
31+
* LightSwitchStatus
32+
* MaintenanceModeStatus
33+
* MessageType
34+
* PermissionStatus
35+
* TirePressureTellTale
36+
* VehicleDataActiveStatus
37+
* Video/Audio streaming are now enabled. *[(See spec for more detail)](https://github.com/smartdevicelink/protocol_spec)*
38+
* Changed the USB metadata information to use SDL as the manufacturer and Core as the model
39+
40+
41+
### Enhancements
42+
* Modified generics to follow Java convention
43+
* Made FunctionID an enum rather than class with constants
44+
* Added more robust parameter checking
45+
* Changed some logging methods to return boolean for easier unit tests
46+
* Changed putFile building methods to accept Longs instead of ints. Old methods were deprecated.
47+
* Cleaned up SdlDataTypeConverter in terms of readability.
48+
* MTU size increased to 128kb up from 1.5k for v4. This will be the expected MTU for this version.
49+
* Added a SDL Proxy builder that will enable simpler building of proxy objects as the large amount of constructors could be confusing.
50+
* Changed the outgoing message queues to actually be FIFO queues.
51+
* Heartbeat is now fully implemented which is needed for audio and video streaming. *[(See spec for more details)](https://github.com/smartdevicelink/protocol_spec).*
52+
* Device info will now automatically populate in the Register App Interface RPC.
53+
54+
55+
### Bugfixes
56+
* Fixed issue with onProxyClosed not always called in multiple session scenario
57+
* Removed recursion from HandleReceivedBytes
58+
* Fixed wrong key issue in UpdateTurnList during turn list retrieval
59+
* Fixed class cast exception caused by calling toArray from enums:
60+
* FrameData
61+
* FrameDataControlFrameType
62+
* FrameType
63+
* SessionType
64+
* Redirected deprecated methods to new methods when available for following classes:
65+
* GetVehicleData
66+
* GetVehicleDataResponse
67+
* OnVehicleData
68+
* SubscribeVehicleData
69+
* SubscribeVehicleDataResponse
70+
* UnsubscribeVehicleData
71+
* UnsubscribeVehicleDataResponse
72+
* Fixed incorrect naming conventions of variables (SdlTrace)
73+
* Fixed an issue RPC base classes that allowed for null values to be passed and cause issues with the underlying hashtable.
74+
* Fixed issue where different types of RPC’s (response, request, notification) could be used in their parent class (RPCMessage) state to create other children of that class.
75+
* Fixed SendLocation to use Doubles instead of Floats for degrees
76+
* Fixed naming of SessionTypes to reflect spec and Sava naming conventions
77+
* Fixed ByteEnumer to catch class cast exceptions
78+
* Removed outdated logging.
79+
* Implemented missing callbacks for turn by turn RPCs.

sdl_android_lib/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<manifest package="com.smartdevicelink" xmlns:android="http://schemas.android.com/apk/res/android">
2-
<uses-sdk android:minSdkVersion="12"/>
2+
<uses-sdk android:minSdkVersion="8"/>
33
<!-- Required to use the USB Accessory mode -->
44
<uses-feature android:name="android.hardware.usb.accessory"/>
55
<application android:debuggable="true"/>

sdl_android_lib/project.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
# project structure.
99

1010
# Project target.
11-
target=android-17
11+
target=android-18
1212
android.library=true

sdl_android_lib/src/com/smartdevicelink/Dispatcher/IncomingProtocolMessageComparitor.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

sdl_android_lib/src/com/smartdevicelink/Dispatcher/InternalProxyMessageComparitor.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

sdl_android_lib/src/com/smartdevicelink/Dispatcher/OutgoingProtocolMessageComparitor.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

sdl_android_lib/src/com/smartdevicelink/Dispatcher/ProxyMessageDispatcher.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
package com.smartdevicelink.Dispatcher;
22

3-
import java.util.Comparator;
4-
import java.util.concurrent.PriorityBlockingQueue;
3+
import java.util.concurrent.LinkedBlockingQueue;
54

65
import com.smartdevicelink.util.DebugTool;
76

87
public class ProxyMessageDispatcher<T> {
9-
PriorityBlockingQueue<T> _queue = null;
8+
LinkedBlockingQueue<T> _queue = null;
109
private Thread _messageDispatchingThread = null;
1110
IDispatchingStrategy<T> _strategy = null;
1211

1312
// Boolean to track if disposed
1413
private Boolean dispatcherDisposed = false;
1514

16-
public ProxyMessageDispatcher(String THREAD_NAME, Comparator<T> messageComparator,
17-
IDispatchingStrategy<T> strategy) {
18-
_queue = new PriorityBlockingQueue<T>(10, messageComparator);
15+
public ProxyMessageDispatcher(String THREAD_NAME, IDispatchingStrategy<T> strategy) {
16+
_queue = new LinkedBlockingQueue<T>();
1917

2018
_strategy = strategy;
2119

sdl_android_lib/src/com/smartdevicelink/SdlConnection/ISdlConnectionListener.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
import com.smartdevicelink.protocol.ProtocolMessage;
44
import com.smartdevicelink.protocol.enums.SessionType;
55

6+
67
public interface ISdlConnectionListener {
78
public void onTransportDisconnected(String info);
89

910
public void onTransportError(String info, Exception e);
1011

1112
public void onProtocolMessageReceived(ProtocolMessage msg);
1213

13-
public void onProtocolSessionNACKed(SessionType sessionType,
14+
public void onProtocolSessionStartedNACKed(SessionType sessionType,
1415
byte sessionID, byte version, String correlationID);
1516

1617
public void onProtocolSessionStarted(SessionType sessionType,
@@ -19,7 +20,12 @@ public void onProtocolSessionStarted(SessionType sessionType,
1920
public void onProtocolSessionEnded(SessionType sessionType,
2021
byte sessionID, String correlationID);
2122

23+
public void onProtocolSessionEndedNACKed(SessionType sessionType,
24+
byte sessionID, String correlationID);
25+
2226
public void onProtocolError(String info, Exception e);
2327

24-
public void onHeartbeatTimedOut(byte sessionID);
28+
public void onHeartbeatTimedOut(byte sessionID);
29+
30+
public void onProtocolServiceDataACK(SessionType sessionType, byte sessionID);
2531
}

0 commit comments

Comments
 (0)