diff options
author | Joey Grover <joeygrover@gmail.com> | 2016-05-31 10:42:49 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2016-05-31 10:42:49 -0400 |
commit | 6e9ccf2651b3554d0f2826767fa9e71c6837da60 (patch) | |
tree | 3550ceb5a35244038d7c3df4c30b9ce7837af40a | |
parent | f65e3db9e839094cd23997fef2f8b3140363d396 (diff) | |
download | sdl_android-6e9ccf2651b3554d0f2826767fa9e71c6837da60.tar.gz |
General cleanup. Fixed warnings, removed unused imports, etc.
12 files changed, 43 insertions, 68 deletions
diff --git a/HelloSdl/src/com/hellosdl/sdl/SdlReceiver.java b/HelloSdl/src/com/hellosdl/sdl/SdlReceiver.java index e907c8a94..2162516f5 100644 --- a/HelloSdl/src/com/hellosdl/sdl/SdlReceiver.java +++ b/HelloSdl/src/com/hellosdl/sdl/SdlReceiver.java @@ -21,7 +21,4 @@ public class SdlReceiver extends com.smartdevicelink.transport.SdlBroadcastRecei intent.setClass(context, SdlService.class); context.startService(intent); } - - - } diff --git a/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java b/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java index f99ae19b6..02d6b45e0 100644 --- a/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java +++ b/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java @@ -115,9 +115,9 @@ public class SdlConnection implements IProtocolListener, ITransportListener, ISt _transport = new MultiplexTransport((MultiplexTransportConfig)transportConfig,this);
}else if(isLegacyModeEnabled() && legacyTransportRequest == TransportType.BLUETOOTH){
Log.d(TAG, "Creating legacy bluetooth connection");
- _transport = new BTTransport(this, true); //TODO make sure blindly sending true is ok
+ _transport = new BTTransport(this, true);
}else if(transportConfig.getTransportType() == TransportType.BLUETOOTH){
- _transport = new BTTransport(this,((BTTransportConfig)transportConfig).getKeepSocketActive()); //FIXME we should chage this over to a special legacy config
+ _transport = new BTTransport(this,((BTTransportConfig)transportConfig).getKeepSocketActive());
}
else if (transportConfig.getTransportType() == TransportType.TCP)
{
@@ -733,7 +733,6 @@ public class SdlConnection implements IProtocolListener, ITransportListener, ISt MultiplexTransportConfig config = multi.getConfig();
ComponentName tempCompName = SdlBroadcastReceiver.consumeQueuedRouterService();
//Log.d(TAG, "Consumed component name: " +tempCompName );
- //TODO check to see what component name connected and comapre it to what we are connected to
if(config.getService().equals(tempCompName)){ //If this is the same service that just connected that we are already looking at. Attempt to reconnect
boolean forced = multi.forceHardwareConnectEvent(TransportType.BLUETOOTH);
diff --git a/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java b/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java index 3d3452715..8f9faefd8 100644 --- a/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java +++ b/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java @@ -1,7 +1,5 @@ package com.smartdevicelink.protocol; -import android.util.Log; - import com.smartdevicelink.protocol.enums.FrameDataControlFrameType; import com.smartdevicelink.protocol.enums.SessionType; @@ -24,14 +22,14 @@ public class SdlPacketFactory { return new SdlPacket(version,false,SdlPacket.FRAME_TYPE_CONTROL, serviceType.getValue(),FrameDataControlFrameType.Heartbeat.value(),sessionID, - 0,0,null); //TODO check that 0 works for message Id. I can't find where it gets set otherwise + 0,0,null); } public static SdlPacket createHeartbeatACK(SessionType serviceType, byte sessionID, byte version) { return new SdlPacket(version,false,SdlPacket.FRAME_TYPE_CONTROL, serviceType.getValue(),FrameDataControlFrameType.HeartbeatACK.value(),sessionID, - 0,0,null); //TODO check that 0 works for message Id. I can't find where it gets set otherwise + 0,0,null); } public static SdlPacket createStartSessionACK(SessionType serviceType, byte sessionID, int messageID, byte version) { diff --git a/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java b/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java index 6913c160b..413ab61d8 100644 --- a/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java +++ b/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java @@ -3,8 +3,6 @@ package com.smartdevicelink.protocol; import java.io.ByteArrayOutputStream;
import java.util.Hashtable;
-import android.util.Log;
-
import com.smartdevicelink.exception.*;
import com.smartdevicelink.protocol.enums.*;
import com.smartdevicelink.util.BitConverter;
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/RPCMessage.java b/sdl_android_lib/src/com/smartdevicelink/proxy/RPCMessage.java index 8d3794075..dc2d44ee1 100644 --- a/sdl_android_lib/src/com/smartdevicelink/proxy/RPCMessage.java +++ b/sdl_android_lib/src/com/smartdevicelink/proxy/RPCMessage.java @@ -2,8 +2,6 @@ package com.smartdevicelink.proxy; import java.util.Hashtable;
-import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
-
public class RPCMessage extends RPCStruct {
public static final String KEY_REQUEST = "request";
diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/BTTransport.java b/sdl_android_lib/src/com/smartdevicelink/transport/BTTransport.java index 3a1ecdd13..e41c501e5 100644 --- a/sdl_android_lib/src/com/smartdevicelink/transport/BTTransport.java +++ b/sdl_android_lib/src/com/smartdevicelink/transport/BTTransport.java @@ -11,7 +11,6 @@ import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothServerSocket;
import android.bluetooth.BluetoothSocket;
import android.os.Build.VERSION;
-import android.util.Log;
import com.smartdevicelink.SdlConnection.SdlConnection;
import com.smartdevicelink.exception.SdlException;
diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/MultiplexBluetoothTransport.java b/sdl_android_lib/src/com/smartdevicelink/transport/MultiplexBluetoothTransport.java index dba4bdc1c..08fe98586 100644 --- a/sdl_android_lib/src/com/smartdevicelink/transport/MultiplexBluetoothTransport.java +++ b/sdl_android_lib/src/com/smartdevicelink/transport/MultiplexBluetoothTransport.java @@ -519,13 +519,7 @@ public class MultiplexBluetoothTransport { // This is a blocking call and will only return on a // successful connection or an exception mBluetoothLevel = SdlRouterService.getBluetoothPrefs(SHARED_PREFS); - long waitTime = 0; - if(mmDevice.getName().toLowerCase().contains("fireplug")){ - waitTime = 500; - } - else{ - waitTime = 3000; - } + long waitTime = 3000; try { Thread.sleep(waitTime); } catch (InterruptedException e) { @@ -841,8 +835,7 @@ public class MultiplexBluetoothTransport { } Field[] f = bsSocket.getClass().getDeclaredFields(); - int channel = -1; - + //int channel = -1; BluetoothSocket mySocket = null; for (Field field : f) { if(field.getName().equals("mSocket")){ diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/RouterServiceValidator.java b/sdl_android_lib/src/com/smartdevicelink/transport/RouterServiceValidator.java index 3cdeb3628..5809a19aa 100644 --- a/sdl_android_lib/src/com/smartdevicelink/transport/RouterServiceValidator.java +++ b/sdl_android_lib/src/com/smartdevicelink/transport/RouterServiceValidator.java @@ -75,6 +75,7 @@ public class RouterServiceValidator { private Context context= null; private boolean inDebugMode = false; + @SuppressWarnings("unused") private static boolean pendingListRefresh = false; private ComponentName service;//This is how we can save different routers over another in a waterfall method if we choose to. @@ -132,7 +133,6 @@ public class RouterServiceValidator { Log.d(TAG, "It's our router service running, so time to shut it down"); Intent intent = new Intent(); intent.setComponent(service); - //TODO Have to fix logic when router service stops. What is the correcty flow? try{context.stopService(intent);}catch(Exception e){} } wakeUpRouterServices(); @@ -165,6 +165,7 @@ public class RouterServiceValidator { return (this.inDebugMode && ((this.flags & FLAG_DEBUG_INSTALLED_FROM_CHECK) != FLAG_DEBUG_INSTALLED_FROM_CHECK)); } + @SuppressWarnings("unused") private boolean shouldOverrideTimeCheck(){ return (this.inDebugMode && ((this.flags & FLAG_DEBUG_USE_TIMESTAMP_CHECK) != FLAG_DEBUG_USE_TIMESTAMP_CHECK)); } @@ -240,7 +241,6 @@ public class RouterServiceValidator { PackageManager packageManager = context.getPackageManager(); try { final ApplicationInfo applicationInfo = packageManager.getApplicationInfo(packageName, 0); - //TODO might want to try to get version with this packageManager.getPackageInfo(packageName, 0).versionCode; if(TrustedAppStore.isTrustedStore(packageManager.getInstallerPackageName(applicationInfo.packageName))){ // App was installed by trusted app store return true; @@ -325,7 +325,7 @@ public class RouterServiceValidator { List<SdlApp> apps = new ArrayList<SdlApp>(); PackageManager packageManager = context.getPackageManager(); Intent intent = new Intent(); - intent.setAction("sdl.router.startservice"); //FIXME change this string in both the docs and the code + intent.setAction("sdl.router.startservice"); List<ResolveInfo> infoList = packageManager.queryBroadcastReceivers(intent, 0); if(infoList!=null){ Log.i(TAG, "Number of SDL apps: " + infoList.size()); @@ -361,7 +361,7 @@ public class RouterServiceValidator { return false; } - if(!forceRefresh && (System.currentTimeMillis()-getTrustedAppListTimeStamp(context))<REFRESH_TRUSTED_APP_LIST_TIME){ //FIXME + if(!forceRefresh && (System.currentTimeMillis()-getTrustedAppListTimeStamp(context))<REFRESH_TRUSTED_APP_LIST_TIME){ Log.d(TAG, "Don't need to get new list"); //Our list should still be ok for now so we will skip the request pendingListRefresh = false; @@ -446,7 +446,7 @@ public class RouterServiceValidator { if(json==null){ return stringToJson(DEFAULT_APP_LIST); } - try {//FIXME this isn't complete. Once SHAID or other service is POC'd we can adjust + try { JSONObject object = new JSONObject(json); JSONObject trustedApps = object.getJSONObject(JSON_RESPONSE_OBJECT_TAG); return trustedApps; diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/SdlBroadcastReceiver.java b/sdl_android_lib/src/com/smartdevicelink/transport/SdlBroadcastReceiver.java index 3e43e3c4f..b962c3295 100644 --- a/sdl_android_lib/src/com/smartdevicelink/transport/SdlBroadcastReceiver.java +++ b/sdl_android_lib/src/com/smartdevicelink/transport/SdlBroadcastReceiver.java @@ -1,5 +1,7 @@ package com.smartdevicelink.transport; +import java.util.Locale; + import android.app.ActivityManager; import android.app.ActivityManager.RunningServiceInfo; import android.bluetooth.BluetoothAdapter; @@ -7,7 +9,6 @@ import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager.NameNotFoundException; import android.util.Log; @@ -182,7 +183,7 @@ public abstract class SdlBroadcastReceiver extends BroadcastReceiver{ for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { //We will check to see if it contains this name, should be pretty specific //Log.d(TAG, "Found Service: "+ service.service.getClassName()); - if ((service.service.getClassName()).toLowerCase().contains(SDL_ROUTER_SERVICE_CLASS_NAME)) { + if ((service.service.getClassName()).toLowerCase(Locale.US).contains(SDL_ROUTER_SERVICE_CLASS_NAME)) { runningBluetoothServicePackage = service.service; //Store which instance is running if(pingService){ Intent intent = new Intent(); @@ -251,6 +252,7 @@ public abstract class SdlBroadcastReceiver extends BroadcastReceiver{ * @return Return the local copy of SdlRouterService.class * {@inheritDoc} */ + @SuppressWarnings("rawtypes") public abstract Class defineLocalSdlRouterClass(); diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/SdlPsm.java b/sdl_android_lib/src/com/smartdevicelink/transport/SdlPsm.java index 25107b883..b04b4453b 100644 --- a/sdl_android_lib/src/com/smartdevicelink/transport/SdlPsm.java +++ b/sdl_android_lib/src/com/smartdevicelink/transport/SdlPsm.java @@ -1,12 +1,10 @@ package com.smartdevicelink.transport; -import android.util.Log; - import com.smartdevicelink.protocol.SdlPacket; public class SdlPsm{ - private static final String TAG = "Sdl PSM"; + //private static final String TAG = "Sdl PSM"; //Each state represents the byte that should be incomming public static final int START_STATE = 0x0; diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java b/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java index 5d33e3585..fd81fd83f 100644 --- a/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java +++ b/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java @@ -45,7 +45,6 @@ import android.os.Parcelable; import android.os.RemoteException; import android.util.Log; import android.util.SparseArray; -import android.widget.Toast; import com.smartdevicelink.R; import com.smartdevicelink.marshal.JsonRPCMarshaller; @@ -215,6 +214,7 @@ public class SdlRouterService extends Service{ } } + @SuppressWarnings("unused") private void notifyStartedService(Context context){ Intent restart = new Intent(SdlRouterService.REGISTER_NEWER_SERVER_INSTANCE_ACTION); restart.putExtra(SdlBroadcastReceiver.LOCAL_ROUTER_SERVICE_EXTRA, getLocalRouterService()); @@ -242,7 +242,6 @@ public class SdlRouterService extends Service{ return; } - //TODO make sure it's ok to comment out closeBluetoothSerialServer(); connectAsClient=false; if(action!=null && intent.getAction().equalsIgnoreCase("android.bluetooth.adapter.action.STATE_CHANGED") @@ -257,7 +256,7 @@ public class SdlRouterService extends Service{ if(legacyModeEnabled){ Log.d(TAG, "Legacy mode enabled and bluetooth d/c'ed, restarting router service bluetooth."); enableLegacyMode(false); - onTransportDisconnected(TransportType.BLUETOOTH); //TODO check that this is ok + onTransportDisconnected(TransportType.BLUETOOTH); initBluetoothSerialService(); } } @@ -362,7 +361,7 @@ public class SdlRouterService extends Service{ Log.i(TAG, "Unregistering client: " + appIdToUnregister); RegisteredApp unregisteredApp = null; synchronized(REGISTERED_APPS_LOCK){ - unregisteredApp = registeredApps.remove(appIdToUnregister);//TODO check if this works + unregisteredApp = registeredApps.remove(appIdToUnregister); } Message response = Message.obtain(); response.what = TransportConstants.ROUTER_UNREGISTER_CLIENT_RESPONSE; @@ -529,7 +528,7 @@ public class SdlRouterService extends Service{ retMsg.arg1 = TransportConstants.ROUTER_REGISTER_ALT_TRANSPORT_RESPONSE_SUCESS; onTransportConnected(TransportType.valueOf(receivedBundle.getString(TransportConstants.HARDWARE_CONNECTED))); }else{ //There seems to be some other transport connected - //TODO error + //Error retMsg.arg1 = TransportConstants.ROUTER_REGISTER_ALT_TRANSPORT_ALREADY_CONNECTED; } if(msg.replyTo!=null){ @@ -590,7 +589,6 @@ public class SdlRouterService extends Service{ @Override public boolean onUnbind(Intent intent) { - // TODO If we are supposed to be shutting down, we need to try again. Log.d(TAG, "Unbind being called."); return super.onUnbind(intent); } @@ -846,7 +844,7 @@ public class SdlRouterService extends Service{ builder.setTicker("SmartDeviceLink Connected"); builder.setContentText("Connected to " + this.getConnectedDeviceName()); - //TODO use icon from library resources if available + //We should use icon from library resources if available builder.setSmallIcon(android.R.drawable.stat_sys_data_bluetooth); builder.setLargeIcon(icon); builder.setOngoing(true); @@ -877,7 +875,7 @@ public class SdlRouterService extends Service{ *********************************************** Helper Methods ************************************************************** ****************************************************************************************************************************************/ - public String getConnectedDeviceName(){ //FIXME we need to implement something better than this, but for now it will work.... + public String getConnectedDeviceName(){ return connectedDeviceName; } @@ -959,8 +957,6 @@ public class SdlRouterService extends Service{ } public void onTransportConnected(final TransportType type){ - //TODO remove - Toast.makeText(getBaseContext(), "SDL "+ type.name()+ " Transport Connected", Toast.LENGTH_SHORT).show(); enterForeground(); if(packetWriteTaskMaster!=null){ packetWriteTaskMaster.close(); @@ -1006,7 +1002,7 @@ public class SdlRouterService extends Service{ Bundle bundle = new Bundle(); bundle.putString(HARDWARE_DISCONNECTED, type.name()); bundle.putBoolean(TransportConstants.ENABLE_LEGACY_MODE_EXTRA, legacyModeEnabled); - message.setData(bundle); //TODO should we add a transport event what message type? + message.setData(bundle); notifyClients(message); } //We've notified our clients, less clean up the mess now. @@ -1018,13 +1014,7 @@ public class SdlRouterService extends Service{ return; } registeredApps.clear(); - //for (RegisteredApp app : registeredApps.values()) { - // app.clearSessionIds(); - // app.getSessionIds().add((long)-1); //Since we should be expecting at least one session. - //} } - //TODO remove - Toast.makeText(getBaseContext(), "SDL "+ type.name()+ " Transport disconnected", Toast.LENGTH_SHORT).show(); } public void onPacketRead(SdlPacket packet){ @@ -1047,7 +1037,7 @@ public class SdlRouterService extends Service{ } } - private final Handler mHandlerBT = new Handler() { //TODO make this generic transport handler + private final Handler mHandlerBT = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { @@ -1058,7 +1048,7 @@ public class SdlRouterService extends Service{ switch (msg.arg1) { case MultiplexBluetoothTransport.STATE_CONNECTED: storeConnectedStatus(true); - onTransportConnected(TransportType.BLUETOOTH); //FIXME actually check + onTransportConnected(TransportType.BLUETOOTH); break; case MultiplexBluetoothTransport.STATE_CONNECTING: // Currently attempting to connect - update UI? @@ -1073,7 +1063,7 @@ public class SdlRouterService extends Service{ if(!legacyModeEnabled){ initBluetoothSerialService(); } - onTransportDisconnected(TransportType.BLUETOOTH); //FIXME actually check + onTransportDisconnected(TransportType.BLUETOOTH); } break; case MultiplexBluetoothTransport.STATE_ERROR: @@ -1082,7 +1072,6 @@ public class SdlRouterService extends Service{ mSerialService.setStateManually(MultiplexBluetoothTransport.STATE_NONE); mSerialService = null; } - break; } break; @@ -1218,8 +1207,6 @@ public class SdlRouterService extends Service{ if(packetSize < ByteArrayMessageSpliter.MAX_BINDER_SIZE){ //This is a small enough packet just send on through //Log.w(TAG, " Packet size is just right " + packetSize + " is smaller than " + ByteArrayMessageSpliter.MAX_BINDER_SIZE + " = " + (packetSize<ByteArrayMessageSpliter.MAX_BINDER_SIZE)); - - //TODO put arg1 and 2 message.what = TransportConstants.ROUTER_RECEIVED_PACKET; bundle.putParcelable(FORMED_PACKET_EXTRA_NAME, packet); bundle.putInt(TransportConstants.BYTES_TO_SEND_FLAGS, TransportConstants.BYTES_TO_SEND_FLAG_NONE); @@ -1323,7 +1310,7 @@ public class SdlRouterService extends Service{ return true;//We should have sent our packet, so we can return true now } - private synchronized void closeBluetoothSerialServer(){ //FIXME change to ITransport + private synchronized void closeBluetoothSerialServer(){ if(mSerialService != null){ mSerialService.stop(); mSerialService = null; @@ -1380,6 +1367,8 @@ public class SdlRouterService extends Service{ //********************************************************* PREFERENCES **************************************************************** //************************************************************************************************************************************** + @SuppressLint("WorldReadableFiles") + @SuppressWarnings("deprecation") private void storeConnectedStatus(boolean isConnected){ SharedPreferences prefs = getApplicationContext().getSharedPreferences(getApplicationContext().getPackageName()+SdlBroadcastReceiver.TRANSPORT_GLOBAL_PREFS, Context.MODE_WORLD_READABLE); @@ -1556,7 +1545,7 @@ public class SdlRouterService extends Service{ Log.d(TAG, "Investigating session " +sessions.get(i).intValue()); Log.d(TAG, "App id is: " + sessionMap.get(sessions.get(i).intValue())); sessionId = sessions.get(i).intValue(); - removeSessionFromMap(sessionId); //TODO instead of removing, put a null there + removeSessionFromMap(sessionId); if(cleanModule){ attemptToCleanUpModule(sessionId, cachedModuleVersion); } @@ -1745,7 +1734,7 @@ public class SdlRouterService extends Service{ ComponentName name; private LocalRouterService(Intent intent, int version, long timeStamp,ComponentName name ){ - this.launchIntent = intent; //TODO we can create an intent object based on component name instead + this.launchIntent = intent; this.version = version; this.timestamp = timeStamp; this.name = name; diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/TransportBroker.java b/sdl_android_lib/src/com/smartdevicelink/transport/TransportBroker.java index 9203b40cd..5b63dba2f 100644 --- a/sdl_android_lib/src/com/smartdevicelink/transport/TransportBroker.java +++ b/sdl_android_lib/src/com/smartdevicelink/transport/TransportBroker.java @@ -7,11 +7,9 @@ import java.util.Locale; import android.annotation.SuppressLint; import android.app.ActivityManager; import android.app.ActivityManager.RunningServiceInfo; -import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.content.ServiceConnection; import android.os.Bundle; import android.os.Handler; @@ -127,7 +125,8 @@ public class TransportBroker { /** * Handler of incoming messages from service. */ - class ClientHandler extends Handler { + @SuppressLint("HandlerLeak") + class ClientHandler extends Handler { ClassLoader loader = getClass().getClassLoader(); @Override public void handleMessage(Message msg) { @@ -149,7 +148,7 @@ public class TransportBroker { } //Find out what message we have and what to do with it - switch (msg.what) {//FIXME + switch (msg.what) { case TransportConstants.ROUTER_REGISTER_CLIENT_RESPONSE: switch(msg.arg1){ case TransportConstants.REGISTRATION_RESPONSE_SUCESS: @@ -279,8 +278,8 @@ public class TransportBroker { SimpleDateFormat s = new SimpleDateFormat("hhmmssss"); //So we have a time stamp of the event String timeStamp = s.format(new Date(System.currentTimeMillis())); if(whereToReply==null){ - if(appId==null){ //FIXME this should really just throw an error - whereToReply = WHERE_TO_REPLY_PREFIX + "."+ timeStamp; //TODO get appid + if(appId==null){ //This should really just throw an error + whereToReply = WHERE_TO_REPLY_PREFIX + "."+ timeStamp; }else{ whereToReply = WHERE_TO_REPLY_PREFIX + appId +"."+ timeStamp; } @@ -318,7 +317,7 @@ public class TransportBroker { Log.d(TAG, "RESETING transport broker for " + whereToReply); synchronized(INIT_LOCK){ unregisterWithRouterService(); - routerServiceMessenger = null; //TODO make sure theres nothing else we need + routerServiceMessenger = null; queuedOnTransportConnect = null; unBindFromRouterService(); } @@ -484,6 +483,7 @@ public class TransportBroker { } + @SuppressLint("InlinedApi") private boolean sendBindingIntent(){ if(this.routerPackage !=null && this.routerClassName !=null){ Log.d(TAG, "Sending bind request to " + this.routerPackage + " - " + this.routerClassName); @@ -492,7 +492,11 @@ public class TransportBroker { //Quickly make sure it's just up and running getContext().startService(bindingIntent); bindingIntent.setAction( TransportConstants.BIND_REQUEST_TYPE_CLIENT); - return getContext().bindService(bindingIntent, routerConnection, Context.BIND_ABOVE_CLIENT); + int flags = 0; + if(android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH){ + flags = Context.BIND_ABOVE_CLIENT; + } + return getContext().bindService(bindingIntent, routerConnection, flags); }else{ return false; } |