Loading core/java/android/net/ConnectivityDiagnosticsManager.java +15 −6 Original line number Diff line number Diff line Loading @@ -623,32 +623,41 @@ public class ConnectivityDiagnosticsManager { /** @hide */ @VisibleForTesting public void onConnectivityReportAvailable(@NonNull ConnectivityReport report) { Binder.withCleanCallingIdentity(() -> { final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mCb.onConnectivityReportAvailable(report); }); }); } finally { Binder.restoreCallingIdentity(token); } } /** @hide */ @VisibleForTesting public void onDataStallSuspected(@NonNull DataStallReport report) { Binder.withCleanCallingIdentity(() -> { final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mCb.onDataStallSuspected(report); }); }); } finally { Binder.restoreCallingIdentity(token); } } /** @hide */ @VisibleForTesting public void onNetworkConnectivityReported( @NonNull Network network, boolean hasConnectivity) { Binder.withCleanCallingIdentity(() -> { final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mCb.onNetworkConnectivityReported(network, hasConnectivity); }); }); } finally { Binder.restoreCallingIdentity(token); } } } Loading core/java/android/net/ConnectivityManager.java +27 −15 Original line number Diff line number Diff line Loading @@ -1833,30 +1833,42 @@ public class ConnectivityManager { mCallback = new ISocketKeepaliveCallback.Stub() { @Override public void onStarted(int slot) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = slot; callback.onStarted(); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onStopped() { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = null; callback.onStopped(); })); }); } finally { Binder.restoreCallingIdentity(token); } mExecutor.shutdown(); } @Override public void onError(int error) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = null; callback.onError(error); })); }); } finally { Binder.restoreCallingIdentity(token); } mExecutor.shutdown(); } Loading core/java/android/net/SocketKeepalive.java +36 −20 Original line number Diff line number Diff line Loading @@ -187,38 +187,54 @@ public abstract class SocketKeepalive implements AutoCloseable { mCallback = new ISocketKeepaliveCallback.Stub() { @Override public void onStarted(int slot) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = slot; callback.onStarted(); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onStopped() { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { executor.execute(() -> { mSlot = null; callback.onStopped(); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onError(int error) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { executor.execute(() -> { mSlot = null; callback.onError(error); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onDataReceived() { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { executor.execute(() -> { mSlot = null; callback.onDataReceived(); })); }); } finally { Binder.restoreCallingIdentity(token); } } }; } Loading Loading
core/java/android/net/ConnectivityDiagnosticsManager.java +15 −6 Original line number Diff line number Diff line Loading @@ -623,32 +623,41 @@ public class ConnectivityDiagnosticsManager { /** @hide */ @VisibleForTesting public void onConnectivityReportAvailable(@NonNull ConnectivityReport report) { Binder.withCleanCallingIdentity(() -> { final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mCb.onConnectivityReportAvailable(report); }); }); } finally { Binder.restoreCallingIdentity(token); } } /** @hide */ @VisibleForTesting public void onDataStallSuspected(@NonNull DataStallReport report) { Binder.withCleanCallingIdentity(() -> { final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mCb.onDataStallSuspected(report); }); }); } finally { Binder.restoreCallingIdentity(token); } } /** @hide */ @VisibleForTesting public void onNetworkConnectivityReported( @NonNull Network network, boolean hasConnectivity) { Binder.withCleanCallingIdentity(() -> { final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mCb.onNetworkConnectivityReported(network, hasConnectivity); }); }); } finally { Binder.restoreCallingIdentity(token); } } } Loading
core/java/android/net/ConnectivityManager.java +27 −15 Original line number Diff line number Diff line Loading @@ -1833,30 +1833,42 @@ public class ConnectivityManager { mCallback = new ISocketKeepaliveCallback.Stub() { @Override public void onStarted(int slot) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = slot; callback.onStarted(); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onStopped() { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = null; callback.onStopped(); })); }); } finally { Binder.restoreCallingIdentity(token); } mExecutor.shutdown(); } @Override public void onError(int error) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = null; callback.onError(error); })); }); } finally { Binder.restoreCallingIdentity(token); } mExecutor.shutdown(); } Loading
core/java/android/net/SocketKeepalive.java +36 −20 Original line number Diff line number Diff line Loading @@ -187,38 +187,54 @@ public abstract class SocketKeepalive implements AutoCloseable { mCallback = new ISocketKeepaliveCallback.Stub() { @Override public void onStarted(int slot) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { mExecutor.execute(() -> { mSlot = slot; callback.onStarted(); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onStopped() { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { executor.execute(() -> { mSlot = null; callback.onStopped(); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onError(int error) { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { executor.execute(() -> { mSlot = null; callback.onError(error); })); }); } finally { Binder.restoreCallingIdentity(token); } } @Override public void onDataReceived() { Binder.withCleanCallingIdentity(() -> final long token = Binder.clearCallingIdentity(); try { executor.execute(() -> { mSlot = null; callback.onDataReceived(); })); }); } finally { Binder.restoreCallingIdentity(token); } } }; } Loading