Call Listener methods on the thread started RequirementsWatcher
PiperOrigin-RevId: 228701917
This commit is contained in:
parent
92bec21c03
commit
71d4f39400
@ -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 {
|
|||||||
*/
|
*/
|
||||||
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 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
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 {
|
|||||||
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");
|
}
|
||||||
|
|
||||||
|
private void onNetworkCallback() {
|
||||||
|
handler.post(
|
||||||
|
() -> {
|
||||||
|
if (networkCallback != null) {
|
||||||
|
logd(RequirementsWatcher.this + " NetworkCallback");
|
||||||
checkRequirements();
|
checkRequirements();
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user