summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wifi/java/android/net/wifi/nan/IWifiNanManager.aidl19
-rw-r--r--wifi/java/android/net/wifi/nan/WifiNanManager.java31
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);
}