Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59efa305 authored by Isaac Katzenelson's avatar Isaac Katzenelson Committed by Automerger Merge Worker
Browse files

Merge "Call onServiceConnected only after callback is saved in the service."...

Merge "Call onServiceConnected only after callback is saved in the service." into udc-qpr-dev am: eb9b233d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24257605



Change-Id: Iccbe23b5eca58b380e6f6b600c952701ae0cb566
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 5b38a9ab eb9b233d
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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();
}
+5 −0
Original line number Diff line number Diff line
@@ -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();
        }