Revert "NetworkProvider: Do not propagate callbacks for unregistered offers"
This reverts commit 546c722511d42c39c13f0b2a7e1c4f8c0b10b004.
Test: TH
Change-Id: I2c8a8e7faf407a0dae17074d2d435669e16b5e79
diff --git a/framework/src/android/net/NetworkProvider.java b/framework/src/android/net/NetworkProvider.java
index 3615075..4dd642e 100644
--- a/framework/src/android/net/NetworkProvider.java
+++ b/framework/src/android/net/NetworkProvider.java
@@ -192,36 +192,21 @@
private class NetworkOfferCallbackProxy extends INetworkOfferCallback.Stub {
@NonNull public final NetworkOfferCallback callback;
@NonNull private final Executor mExecutor;
- /**
- * Boolean flag that prevents onNetworkNeeded / onNetworkUnneeded callbacks from being
- * propagated after unregisterNetworkOffer has been called. Since unregisterNetworkOffer
- * runs on the CS handler thread, it will not go into effect immediately.
- */
- private volatile boolean mIsStale;
NetworkOfferCallbackProxy(@NonNull final NetworkOfferCallback callback,
@NonNull final Executor executor) {
this.callback = callback;
this.mExecutor = executor;
- this.mIsStale = false;
}
@Override
public void onNetworkNeeded(final @NonNull NetworkRequest request) {
- mExecutor.execute(() -> {
- if (!mIsStale) callback.onNetworkNeeded(request);
- });
+ mExecutor.execute(() -> callback.onNetworkNeeded(request));
}
@Override
public void onNetworkUnneeded(final @NonNull NetworkRequest request) {
- mExecutor.execute(() -> {
- if (!mIsStale) callback.onNetworkUnneeded(request);
- });
- }
-
- public void markStale() {
- mIsStale = true;
+ mExecutor.execute(() -> callback.onNetworkUnneeded(request));
}
}
@@ -342,7 +327,6 @@
final NetworkOfferCallbackProxy proxy = findProxyForCallback(callback);
if (null == proxy) return;
synchronized (mProxies) {
- proxy.markStale();
mProxies.remove(proxy);
}
mContext.getSystemService(ConnectivityManager.class).unofferNetwork(proxy);