Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
joeygrover committed Sep 15, 2015
2 parents a3bf4de + df74151 commit e5e7961
Show file tree
Hide file tree
Showing 173 changed files with 3,493 additions and 1,737 deletions.
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# 4.0.0 Release Notes

### API New Features & Breaking Changes
* Updated to v4.0 RPCs and enums.
* Enums updated:
* LayoutMode (Add and deprecate)
* AppInterfaceUnregisteredReason
* TextFieldName
* ImageFieldName
* VehicleDataResultCode
* KeyboardEvent
* RequestType
* RPCs updated
* TouchEvent - Changed timestamp (ts) to use Long instead of Integers
* HMICapabilities (new)
* RegisterAppInterface (response)
* PutFile (request) - Changed offset and length to use Long instead of Integers
* DialNumber (new - request, response)
* OnSystemRequest (notification) (Changed offset and length to use Long instead of Integers)
* Removed unused classes StringEnumer, Base64, and utl/Mime
* Removed unused methods including these public/protected methods:
* `com/smartDeviceLink/streaming/AbstractPacketizer`
* printBuffer(byte[],int,int)
* `com/smartDeviceLink/trace/Mime`
* base64Decode(String)
* `com/smartDeviceLink/trace/SdlTrace`
* setTracingEnable(Boolean)
* Moved TransportType enum to new package which will contain all new enums for the transport package, `com/smartDeviceLink/transport/enums`
* Removed unused enums
* GearShiftAdviceStatus
* LightSwitchStatus
* MaintenanceModeStatus
* MessageType
* PermissionStatus
* TirePressureTellTale
* VehicleDataActiveStatus
* Video/Audio streaming are now enabled. *[(See spec for more detail)](https://github.com/smartdevicelink/protocol_spec)*
* Changed the USB metadata information to use SDL as the manufacturer and Core as the model


### Enhancements
* Modified generics to follow Java convention
* Made FunctionID an enum rather than class with constants
* Added more robust parameter checking
* Changed some logging methods to return boolean for easier unit tests
* Changed putFile building methods to accept Longs instead of ints. Old methods were deprecated.
* Cleaned up SdlDataTypeConverter in terms of readability.
* MTU size increased to 128kb up from 1.5k for v4. This will be the expected MTU for this version.
* Added a SDL Proxy builder that will enable simpler building of proxy objects as the large amount of constructors could be confusing.
* Changed the outgoing message queues to actually be FIFO queues.
* Heartbeat is now fully implemented which is needed for audio and video streaming. *[(See spec for more details)](https://github.com/smartdevicelink/protocol_spec).*
* Device info will now automatically populate in the Register App Interface RPC.


### Bugfixes
* Fixed issue with onProxyClosed not always called in multiple session scenario
* Removed recursion from HandleReceivedBytes
* Fixed wrong key issue in UpdateTurnList during turn list retrieval
* Fixed class cast exception caused by calling toArray from enums:
* FrameData
* FrameDataControlFrameType
* FrameType
* SessionType
* Redirected deprecated methods to new methods when available for following classes:
* GetVehicleData
* GetVehicleDataResponse
* OnVehicleData
* SubscribeVehicleData
* SubscribeVehicleDataResponse
* UnsubscribeVehicleData
* UnsubscribeVehicleDataResponse
* Fixed incorrect naming conventions of variables (SdlTrace)
* Fixed an issue RPC base classes that allowed for null values to be passed and cause issues with the underlying hashtable.
* 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.
* Fixed SendLocation to use Doubles instead of Floats for degrees
* Fixed naming of SessionTypes to reflect spec and Sava naming conventions
* Fixed ByteEnumer to catch class cast exceptions
* Removed outdated logging.
* Implemented missing callbacks for turn by turn RPCs.
2 changes: 1 addition & 1 deletion sdl_android_lib/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<manifest package="com.smartdevicelink" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="12"/>
<uses-sdk android:minSdkVersion="8"/>
<!-- Required to use the USB Accessory mode -->
<uses-feature android:name="android.hardware.usb.accessory"/>
<application android:debuggable="true"/>
Expand Down
2 changes: 1 addition & 1 deletion sdl_android_lib/project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
# project structure.

# Project target.
target=android-17
target=android-18
android.library=true

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
package com.smartdevicelink.Dispatcher;

import java.util.Comparator;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;

import com.smartdevicelink.util.DebugTool;

public class ProxyMessageDispatcher<T> {
PriorityBlockingQueue<T> _queue = null;
LinkedBlockingQueue<T> _queue = null;
private Thread _messageDispatchingThread = null;
IDispatchingStrategy<T> _strategy = null;

// Boolean to track if disposed
private Boolean dispatcherDisposed = false;

public ProxyMessageDispatcher(String THREAD_NAME, Comparator<T> messageComparator,
IDispatchingStrategy<T> strategy) {
_queue = new PriorityBlockingQueue<T>(10, messageComparator);
public ProxyMessageDispatcher(String THREAD_NAME, IDispatchingStrategy<T> strategy) {
_queue = new LinkedBlockingQueue<T>();

_strategy = strategy;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
import com.smartdevicelink.protocol.ProtocolMessage;
import com.smartdevicelink.protocol.enums.SessionType;


public interface ISdlConnectionListener {
public void onTransportDisconnected(String info);

public void onTransportError(String info, Exception e);

public void onProtocolMessageReceived(ProtocolMessage msg);

public void onProtocolSessionNACKed(SessionType sessionType,
public void onProtocolSessionStartedNACKed(SessionType sessionType,
byte sessionID, byte version, String correlationID);

public void onProtocolSessionStarted(SessionType sessionType,
Expand All @@ -19,7 +20,12 @@ public void onProtocolSessionStarted(SessionType sessionType,
public void onProtocolSessionEnded(SessionType sessionType,
byte sessionID, String correlationID);

public void onProtocolSessionEndedNACKed(SessionType sessionType,
byte sessionID, String correlationID);

public void onProtocolError(String info, Exception e);

public void onHeartbeatTimedOut(byte sessionID);
public void onHeartbeatTimedOut(byte sessionID);

public void onProtocolServiceDataACK(SessionType sessionType, byte sessionID);
}
Loading

0 comments on commit e5e7961

Please sign in to comment.