summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Isaac Katzenelson <isaackatz@google.com> 2024-09-17 16:47:03 -0700
committer Isaac Katzenelson <isaackatz@google.com> 2024-09-17 16:50:57 -0700
commit1b917593dd7a42212e87ee8221b98f510f0b953e (patch)
tree0c4ad02c35962f13fe79da799d0be3428985b3b3
parent2a48266b248e2e7921dc5b3fef66703262450db2 (diff)
Run callback registration on the worker provided by the client.
Since the worker is provided in the callback proxy object, added a method to get the worker. Flag: EXEMPT bugfix Bug: 351495492 Test: atest SharedConnectivityManagerTest Change-Id: If5eaa939419503121708ac746354a6159543e6df
-rw-r--r--wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java28
1 files changed, 18 insertions, 10 deletions
diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java
index f68ae2c7e249..fc4a909e761f 100644
--- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java
+++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java
@@ -173,6 +173,10 @@ public class SharedConnectivityManager {
}
}
}
+
+ Executor getExecutor() {
+ return mExecutor;
+ }
}
private ISharedConnectivityService mService;
@@ -188,7 +192,7 @@ public class SharedConnectivityManager {
private final String mServicePackageName;
private final String mIntentAction;
private ServiceConnection mServiceConnection;
- private UserManager mUserManager;
+ private final UserManager mUserManager;
/**
* Creates a new instance of {@link SharedConnectivityManager}.
@@ -316,15 +320,19 @@ public class SharedConnectivityManager {
private void registerCallbackInternal(SharedConnectivityClientCallback callback,
SharedConnectivityCallbackProxy proxy) {
- try {
- mService.registerCallback(proxy);
- synchronized (mProxyDataLock) {
- mProxyMap.put(callback, proxy);
- }
- } catch (RemoteException e) {
- Log.e(TAG, "Exception in registerCallback", e);
- callback.onRegisterCallbackFailed(e);
- }
+ proxy.getExecutor().execute(
+ () -> {
+ try {
+ mService.registerCallback(proxy);
+ synchronized (mProxyDataLock) {
+ mProxyMap.put(callback, proxy);
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "Exception in registerCallback", e);
+ callback.onRegisterCallbackFailed(e);
+ }
+ }
+ );
}
/**