Commit 71d4f394 by eguven Committed by Oliver Woodman

Call Listener methods on the thread started RequirementsWatcher

PiperOrigin-RevId: 228701917
parent 92bec21c
...@@ -68,6 +68,7 @@ public final class RequirementsWatcher { ...@@ -68,6 +68,7 @@ public final class RequirementsWatcher {
private int notMetRequirements; private int notMetRequirements;
private CapabilityValidatedCallback networkCallback; private CapabilityValidatedCallback networkCallback;
private Handler handler;
/** /**
* @param context Any context. * @param context Any context.
...@@ -87,6 +88,7 @@ public final class RequirementsWatcher { ...@@ -87,6 +88,7 @@ public final class RequirementsWatcher {
*/ */
public void start() { public void start() {
Assertions.checkNotNull(Looper.myLooper()); Assertions.checkNotNull(Looper.myLooper());
handler = new Handler();
notMetRequirements = requirements.getNotMetRequirements(context); notMetRequirements = requirements.getNotMetRequirements(context);
...@@ -111,7 +113,7 @@ public final class RequirementsWatcher { ...@@ -111,7 +113,7 @@ public final class RequirementsWatcher {
} }
} }
receiver = new DeviceStatusChangeReceiver(); receiver = new DeviceStatusChangeReceiver();
context.registerReceiver(receiver, filter, null, new Handler()); context.registerReceiver(receiver, filter, null, handler);
logd(this + " started"); logd(this + " started");
} }
...@@ -195,16 +197,22 @@ public final class RequirementsWatcher { ...@@ -195,16 +197,22 @@ public final class RequirementsWatcher {
private final class CapabilityValidatedCallback extends ConnectivityManager.NetworkCallback { private final class CapabilityValidatedCallback extends ConnectivityManager.NetworkCallback {
@Override @Override
public void onAvailable(Network network) { public void onAvailable(Network network) {
super.onAvailable(network); onNetworkCallback();
logd(RequirementsWatcher.this + " NetworkCallback.onAvailable");
checkRequirements();
} }
@Override @Override
public void onLost(Network network) { public void onLost(Network network) {
super.onLost(network); onNetworkCallback();
logd(RequirementsWatcher.this + " NetworkCallback.onLost"); }
checkRequirements();
private void onNetworkCallback() {
handler.post(
() -> {
if (networkCallback != null) {
logd(RequirementsWatcher.this + " NetworkCallback");
checkRequirements();
}
});
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment