summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl2
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pManager.java25
2 files changed, 16 insertions, 11 deletions
diff --git a/wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl b/wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl
index bfdd45d9f9b0..fd89d3b0486e 100644
--- a/wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl
+++ b/wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl
@@ -25,7 +25,7 @@ import android.os.Messenger;
*/
interface IWifiP2pManager
{
- Messenger getMessenger(in IBinder binder);
+ Messenger getMessenger(in IBinder binder, in String packageName);
Messenger getP2pStateMachineMessenger();
oneway void close(in IBinder binder);
void setMiracastMode(int mode);
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
index 724ccf0d7c45..ad38c5af07fc 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
@@ -1156,8 +1156,8 @@ public class WifiP2pManager {
*/
public Channel initialize(Context srcContext, Looper srcLooper, ChannelListener listener) {
Binder binder = new Binder();
- Channel channel = initalizeChannel(srcContext, srcLooper, listener, getMessenger(binder),
- binder);
+ Channel channel = initializeChannel(srcContext, srcLooper, listener,
+ getMessenger(binder, srcContext.getOpPackageName()), binder);
return channel;
}
@@ -1167,12 +1167,12 @@ public class WifiP2pManager {
*/
public Channel initializeInternal(Context srcContext, Looper srcLooper,
ChannelListener listener) {
- return initalizeChannel(srcContext, srcLooper, listener, getP2pStateMachineMessenger(),
+ return initializeChannel(srcContext, srcLooper, listener, getP2pStateMachineMessenger(),
null);
}
- private Channel initalizeChannel(Context srcContext, Looper srcLooper, ChannelListener listener,
- Messenger messenger, Binder binder) {
+ private Channel initializeChannel(Context srcContext, Looper srcLooper,
+ ChannelListener listener, Messenger messenger, Binder binder) {
if (messenger == null) return null;
Channel c = new Channel(srcContext, srcLooper, listener, binder, this);
@@ -1814,6 +1814,14 @@ public class WifiP2pManager {
}
}
+ private Messenger getMessenger(@NonNull Binder binder, @Nullable String packageName) {
+ try {
+ return mService.getMessenger(binder, packageName);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
/**
* Get a reference to WifiP2pService handler. This is used to establish
* an AsyncChannel communication with WifiService
@@ -1824,11 +1832,8 @@ public class WifiP2pManager {
* @hide
*/
public Messenger getMessenger(Binder binder) {
- try {
- return mService.getMessenger(binder);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
+ // No way to determine package name in this case.
+ return getMessenger(binder, null);
}
/**