diff options
Diffstat (limited to 'wifi/java/src')
3 files changed, 20 insertions, 1 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 feef0497c152..d41c0197addc 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java @@ -81,6 +81,19 @@ public class SharedConnectivityManager { mCallback = callback; } + @Override + public void onServiceConnected() { + if (mCallback != null) { + final long token = Binder.clearCallingIdentity(); + try { + mExecutor.execute(() -> mCallback.onServiceConnected()); + } finally { + Binder.restoreCallingIdentity(token); + } + } + } + + @Override public void onHotspotNetworksUpdated(@NonNull List<HotspotNetwork> networks) { if (mCallback != null) { final long token = Binder.clearCallingIdentity(); @@ -117,6 +130,7 @@ public class SharedConnectivityManager { } } + @Override public void onHotspotNetworkConnectionStatusChanged( @NonNull HotspotNetworkConnectionStatus status) { if (mCallback != null) { @@ -251,7 +265,6 @@ public class SharedConnectivityManager { synchronized (mProxyDataLock) { mProxyMap.put(callback, proxy); } - callback.onServiceConnected(); } catch (RemoteException e) { Log.e(TAG, "Exception in registerCallback", e); callback.onRegisterCallbackFailed(e); diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityCallback.aidl b/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityCallback.aidl index 737aa6d9964c..521f94367f6f 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityCallback.aidl +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/service/ISharedConnectivityCallback.aidl @@ -31,4 +31,5 @@ interface ISharedConnectivityCallback { oneway void onKnownNetworksUpdated(in List<KnownNetwork> networks); oneway void onKnownNetworkConnectionStatusChanged(in KnownNetworkConnectionStatus status); oneway void onSharedConnectivitySettingsChanged(in SharedConnectivitySettingsState state); + oneway void onServiceConnected(); } diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java b/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java index 2bbe91958383..ebda6f1c5826 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java @@ -276,6 +276,11 @@ public abstract class SharedConnectivityService extends Service { private void onRegisterCallback(ISharedConnectivityCallback callback) { mRemoteCallbackList.register(callback); + try { + callback.onServiceConnected(); + } catch (RemoteException e) { + if (DEBUG) Log.w(TAG, "Exception in onRegisterCallback", e); + } if (mCountDownLatch != null) { mCountDownLatch.countDown(); } |