package com.jakewharton.rxbinding;
import android.app.Activity;
import android.support.test.espresso.IdlingResource;
import android.view.View;
public final class ViewDirtyIdlingResource implements IdlingResource {
private final View decorView;
private ResourceCallback resourceCallback;
public ViewDirtyIdlingResource(Activity activity) {
decorView = activity.getWindow().getDecorView();
}
@Override public String getName() {
return "view dirty";
}
@Override public boolean isIdleNow() {
boolean clean = !decorView.isDirty();
if (clean) {
resourceCallback.onTransitionToIdle();
}
return clean;
}
@Override public void registerIdleTransitionCallback(ResourceCallback resourceCallback) {
this.resourceCallback = resourceCallback;
}
}