package android.net.captiveportal;
import android.annotation.Nullable;
public final class CaptivePortalProbeResult {
public static final int SUCCESS_CODE = 204;
public static final int FAILED_CODE = 599;
public static final int PORTAL_CODE = 302;
public static final CaptivePortalProbeResult FAILED = new CaptivePortalProbeResult(FAILED_CODE);
public static final CaptivePortalProbeResult SUCCESS =
new CaptivePortalProbeResult(SUCCESS_CODE);
private final int mHttpResponseCode;
public final String redirectUrl;
public final String detectUrl;
@Nullable
public final CaptivePortalProbeSpec probeSpec;
public CaptivePortalProbeResult(int httpResponseCode) {
this(httpResponseCode, null, null);
}
public CaptivePortalProbeResult(int httpResponseCode, String redirectUrl, String detectUrl) {
this(httpResponseCode, redirectUrl, detectUrl, null);
}
public CaptivePortalProbeResult(int httpResponseCode, String redirectUrl, String detectUrl,
CaptivePortalProbeSpec probeSpec) {
mHttpResponseCode = httpResponseCode;
this.redirectUrl = redirectUrl;
this.detectUrl = detectUrl;
this.probeSpec = probeSpec;
}
public boolean isSuccessful() {
return mHttpResponseCode == SUCCESS_CODE;
}
public boolean isPortal() {
return !isSuccessful() && (mHttpResponseCode >= 200) && (mHttpResponseCode <= 399);
}
public boolean isFailed() {
return !isSuccessful() && !isPortal();
}
}