Skip to content

Commit

Permalink
Merge pull request #366 from smartdevicelink/bugfix/issue_365
Browse files Browse the repository at this point in the history
Hotfix - NPE crash in RouterServiceProvider
  • Loading branch information
joeygrover authored Nov 22, 2016
2 parents a1c73c3 + f272533 commit 3901d52
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,11 @@ public void onConnectionStatusUpdate(boolean connected, ComponentName service,Co
if(triggerRouterServicePing){provider.setFlags(TransportConstants.ROUTER_STATUS_FLAG_TRIGGER_PING); }
provider.checkIsConnected();
}else{
Log.d(TAG, service.getPackageName() + " is connected = " + connected);
if(service!=null){
Log.d(TAG, service.getPackageName() + " is connected = " + connected);
}else{
Log.d(TAG,"No service is connected/running");
}
if(callback!=null){
callback.onConnectionStatusUpdate(connected, service,context);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public class SdlRouterService extends Service{
/**
* <b> NOTE: DO NOT MODIFY THIS UNLESS YOU KNOW WHAT YOU'RE DOING.</b>
*/
protected static final int ROUTER_SERVICE_VERSION_NUMBER = 2;
protected static final int ROUTER_SERVICE_VERSION_NUMBER = 3;

private static final String ROUTER_SERVICE_PROCESS = "com.smartdevicelink.router";

Expand Down Expand Up @@ -320,14 +320,17 @@ public void onReceive(Context context, Intent intent)
* Handler of incoming messages from clients.
*/
static class RouterHandler extends Handler {
WeakReference<SdlRouterService> provider;
final WeakReference<SdlRouterService> provider;

public RouterHandler(SdlRouterService provider){
this.provider = new WeakReference<SdlRouterService>(provider);
}

@Override
public void handleMessage(Message msg) {
if(this.provider.get() == null){
return;
}
final Bundle receivedBundle = msg.getData();
Bundle returnBundle;
final SdlRouterService service = this.provider.get();
Expand Down Expand Up @@ -543,7 +546,7 @@ public void run() {
*/
static class AltTransportHandler extends Handler {
ClassLoader loader;
WeakReference<SdlRouterService> provider;
final WeakReference<SdlRouterService> provider;

public AltTransportHandler(SdlRouterService provider){
this.provider = new WeakReference<SdlRouterService>(provider);
Expand All @@ -552,6 +555,9 @@ public AltTransportHandler(SdlRouterService provider){

@Override
public void handleMessage(Message msg) {
if(this.provider.get() == null){
return;
}
SdlRouterService service = this.provider.get();
Bundle receivedBundle = msg.getData();
switch(msg.what){
Expand Down Expand Up @@ -626,14 +632,17 @@ public void handleMessage(Message msg) {
* Handler of incoming messages from an alternative transport (USB).
*/
static class RouterStatusHandler extends Handler {
WeakReference<SdlRouterService> provider;
final WeakReference<SdlRouterService> provider;

public RouterStatusHandler(SdlRouterService provider){
this.provider = new WeakReference<SdlRouterService>(provider);
}

@Override
public void handleMessage(Message msg) {
if(this.provider.get() == null){
return;
}
SdlRouterService service = this.provider.get();
switch(msg.what){
case TransportConstants.ROUTER_STATUS_CONNECTED_STATE_REQUEST:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,17 @@ private void handleRouterStatusConnectedResponse(int connectedStatus){
}

static class ClientHandler extends Handler {
WeakReference<SdlRouterStatusProvider> provider;
final WeakReference<SdlRouterStatusProvider> provider;

public ClientHandler(SdlRouterStatusProvider provider){
this.provider = new WeakReference<SdlRouterStatusProvider>(provider);
}

@Override
public void handleMessage(Message msg) {
if(provider.get()==null){
return;
}
switch (msg.what) {
case TransportConstants.ROUTER_STATUS_CONNECTED_STATE_RESPONSE:
provider.get().handleRouterStatusConnectedResponse(msg.arg1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ protected synchronized boolean sendMessageToRouterService(Message message, int r
*/
static class ClientHandler extends Handler {
ClassLoader loader;
WeakReference<TransportBroker> provider;
final WeakReference<TransportBroker> provider;

public ClientHandler(TransportBroker provider){
this.provider = new WeakReference<TransportBroker>(provider);
Expand Down

0 comments on commit 3901d52

Please sign in to comment.