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

Commit 835a50f1 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 am: 59efa305

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



Change-Id: Ia2478ec188c06c7056a436cd222496a60e56f029
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 27121ba8 59efa305
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();
        }