diff options
| -rw-r--r-- | wifi/java/android/net/wifi/nan/IWifiNanManager.aidl | 19 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/nan/WifiNanManager.java | 31 |
2 files changed, 28 insertions, 22 deletions
diff --git a/wifi/java/android/net/wifi/nan/IWifiNanManager.aidl b/wifi/java/android/net/wifi/nan/IWifiNanManager.aidl index f382d97762d3..5b4284c9561c 100644 --- a/wifi/java/android/net/wifi/nan/IWifiNanManager.aidl +++ b/wifi/java/android/net/wifi/nan/IWifiNanManager.aidl @@ -34,17 +34,18 @@ import android.net.wifi.nan.SubscribeSettings; interface IWifiNanManager { // client API - void connect(in IBinder binder, in IWifiNanEventListener listener, int events); - void disconnect(in IBinder binder); - void requestConfig(in ConfigRequest configRequest); + int connect(in IBinder binder, in IWifiNanEventListener listener, int events); + void disconnect(int clientId, in IBinder binder); + void requestConfig(int clientId, in ConfigRequest configRequest); // session API - int createSession(in IWifiNanSessionListener listener, int events); - void publish(int sessionId, in PublishData publishData, in PublishSettings publishSettings); - void subscribe(int sessionId, in SubscribeData subscribeData, + int createSession(int clientId, in IWifiNanSessionListener listener, int events); + void publish(int clientId, int sessionId, in PublishData publishData, + in PublishSettings publishSettings); + void subscribe(int clientId, int sessionId, in SubscribeData subscribeData, in SubscribeSettings subscribeSettings); - void sendMessage(int sessionId, int peerId, in byte[] message, int messageLength, + void sendMessage(int clientId, int sessionId, int peerId, in byte[] message, int messageLength, int messageId); - void stopSession(int sessionId); - void destroySession(int sessionId); + void stopSession(int clientId, int sessionId); + void destroySession(int clientId, int sessionId); } diff --git a/wifi/java/android/net/wifi/nan/WifiNanManager.java b/wifi/java/android/net/wifi/nan/WifiNanManager.java index 667c4b1de6d0..31db3936c0d9 100644 --- a/wifi/java/android/net/wifi/nan/WifiNanManager.java +++ b/wifi/java/android/net/wifi/nan/WifiNanManager.java @@ -42,7 +42,7 @@ public class WifiNanManager { private static final boolean VDBG = false; // STOPSHIP if true private IBinder mBinder; - + private int mClientId = -1; private IWifiNanManager mService; /** @@ -70,10 +70,14 @@ public class WifiNanManager { if (listener == null) { throw new IllegalArgumentException("Invalid listener - must not be null"); } + if (mClientId != -1) { + Log.w(TAG, "connect(): mClientId=" + mClientId + + ": seems to calling connect() without disconnecting() first!"); + } if (mBinder == null) { mBinder = new Binder(); } - mService.connect(mBinder, listener.callback, events); + mClientId = mService.connect(mBinder, listener.callback, events); } catch (RemoteException e) { Log.w(TAG, "connect RemoteException (FYI - ignoring): " + e); } @@ -91,8 +95,9 @@ public class WifiNanManager { public void disconnect() { try { if (VDBG) Log.v(TAG, "disconnect()"); - mService.disconnect(mBinder); + mService.disconnect(mClientId, mBinder); mBinder = null; + mClientId = -1; } catch (RemoteException e) { Log.w(TAG, "disconnect RemoteException (FYI - ignoring): " + e); } @@ -114,7 +119,7 @@ public class WifiNanManager { public void requestConfig(ConfigRequest configRequest) { if (VDBG) Log.v(TAG, "requestConfig(): configRequest=" + configRequest); try { - mService.requestConfig(configRequest); + mService.requestConfig(mClientId, configRequest); } catch (RemoteException e) { Log.w(TAG, "requestConfig RemoteException (FYI - ignoring): " + e); } @@ -169,9 +174,9 @@ public class WifiNanManager { int sessionId; try { - sessionId = mService.createSession(listener.callback, events); + sessionId = mService.createSession(mClientId, listener.callback, events); if (DBG) Log.d(TAG, "publish: session created - sessionId=" + sessionId); - mService.publish(sessionId, publishData, publishSettings); + mService.publish(mClientId, sessionId, publishData, publishSettings); } catch (RemoteException e) { Log.w(TAG, "createSession/publish RemoteException: " + e); return null; @@ -198,7 +203,7 @@ public class WifiNanManager { } try { - mService.publish(sessionId, publishData, publishSettings); + mService.publish(mClientId, sessionId, publishData, publishSettings); } catch (RemoteException e) { Log.w(TAG, "publish RemoteException: " + e); } @@ -252,9 +257,9 @@ public class WifiNanManager { int sessionId; try { - sessionId = mService.createSession(listener.callback, events); + sessionId = mService.createSession(mClientId, listener.callback, events); if (DBG) Log.d(TAG, "subscribe: session created - sessionId=" + sessionId); - mService.subscribe(sessionId, subscribeData, subscribeSettings); + mService.subscribe(mClientId, sessionId, subscribeData, subscribeSettings); } catch (RemoteException e) { Log.w(TAG, "createSession/subscribe RemoteException: " + e); return null; @@ -284,7 +289,7 @@ public class WifiNanManager { } try { - mService.subscribe(sessionId, subscribeData, subscribeSettings); + mService.subscribe(mClientId, sessionId, subscribeData, subscribeSettings); } catch (RemoteException e) { Log.w(TAG, "subscribe RemoteException: " + e); } @@ -297,7 +302,7 @@ public class WifiNanManager { if (DBG) Log.d(TAG, "Stop NAN session #" + sessionId); try { - mService.stopSession(sessionId); + mService.stopSession(mClientId, sessionId); } catch (RemoteException e) { Log.w(TAG, "stopSession RemoteException (FYI - ignoring): " + e); } @@ -310,7 +315,7 @@ public class WifiNanManager { if (DBG) Log.d(TAG, "Destroy NAN session #" + sessionId); try { - mService.destroySession(sessionId); + mService.destroySession(mClientId, sessionId); } catch (RemoteException e) { Log.w(TAG, "destroySession RemoteException (FYI - ignoring): " + e); } @@ -326,7 +331,7 @@ public class WifiNanManager { Log.v(TAG, "sendMessage(): sessionId=" + sessionId + ", peerId=" + peerId + ", messageLength=" + messageLength + ", messageId=" + messageId); } - mService.sendMessage(sessionId, peerId, message, messageLength, messageId); + mService.sendMessage(mClientId, sessionId, peerId, message, messageLength, messageId); } catch (RemoteException e) { Log.w(TAG, "subscribe RemoteException (FYI - ignoring): " + e); } |