diff options
author | 2024-09-18 20:57:23 +0000 | |
---|---|---|
committer | 2024-09-18 20:57:23 +0000 | |
commit | e31c90369eca71e2b9cb61b885d70d9f0b0c290a (patch) | |
tree | 5c4f2eb97786b8783a754b527d5c79bc6e2d7e85 /wifi | |
parent | 22e3414f98b7a83da4b591923742e818042ab66d (diff) | |
parent | 1b917593dd7a42212e87ee8221b98f510f0b953e (diff) |
Merge "Run callback registration on the worker provided by the client." into main
Diffstat (limited to 'wifi')
-rw-r--r-- | wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java | 28 |
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); + } + } + ); } /** |