Merge "Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library"
am: 3db9cfe660
Change-Id: I387332fd5914474010eb1b29d6543028457599df
This commit is contained in:
@@ -3328,37 +3328,6 @@ package android.net.apf {
|
||||
|
||||
}
|
||||
|
||||
package android.net.captiveportal {
|
||||
|
||||
public final class CaptivePortalProbeResult {
|
||||
ctor public CaptivePortalProbeResult(int);
|
||||
ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String);
|
||||
ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String, @Nullable android.net.captiveportal.CaptivePortalProbeSpec);
|
||||
method public boolean isFailed();
|
||||
method public boolean isPartialConnectivity();
|
||||
method public boolean isPortal();
|
||||
method public boolean isSuccessful();
|
||||
field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult FAILED;
|
||||
field public static final int FAILED_CODE = 599; // 0x257
|
||||
field public static final android.net.captiveportal.CaptivePortalProbeResult PARTIAL;
|
||||
field public static final int PORTAL_CODE = 302; // 0x12e
|
||||
field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS;
|
||||
field public static final int SUCCESS_CODE = 204; // 0xcc
|
||||
field @Nullable public final String detectUrl;
|
||||
field @Nullable public final android.net.captiveportal.CaptivePortalProbeSpec probeSpec;
|
||||
field @Nullable public final String redirectUrl;
|
||||
}
|
||||
|
||||
public abstract class CaptivePortalProbeSpec {
|
||||
method @NonNull public String getEncodedSpec();
|
||||
method @NonNull public abstract android.net.captiveportal.CaptivePortalProbeResult getResult(int, @Nullable String);
|
||||
method @NonNull public java.net.URL getUrl();
|
||||
method @NonNull public static java.util.Collection<android.net.captiveportal.CaptivePortalProbeSpec> parseCaptivePortalProbeSpecs(@NonNull String);
|
||||
method @Nullable public static android.net.captiveportal.CaptivePortalProbeSpec parseSpecOrNull(@Nullable String);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.net.metrics {
|
||||
|
||||
public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
|
||||
|
||||
@@ -747,37 +747,6 @@ package android.net.apf {
|
||||
|
||||
}
|
||||
|
||||
package android.net.captiveportal {
|
||||
|
||||
public final class CaptivePortalProbeResult {
|
||||
ctor public CaptivePortalProbeResult(int);
|
||||
ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String);
|
||||
ctor public CaptivePortalProbeResult(int, @Nullable String, @Nullable String, @Nullable android.net.captiveportal.CaptivePortalProbeSpec);
|
||||
method public boolean isFailed();
|
||||
method public boolean isPartialConnectivity();
|
||||
method public boolean isPortal();
|
||||
method public boolean isSuccessful();
|
||||
field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult FAILED;
|
||||
field public static final int FAILED_CODE = 599; // 0x257
|
||||
field public static final android.net.captiveportal.CaptivePortalProbeResult PARTIAL;
|
||||
field public static final int PORTAL_CODE = 302; // 0x12e
|
||||
field @NonNull public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS;
|
||||
field public static final int SUCCESS_CODE = 204; // 0xcc
|
||||
field @Nullable public final String detectUrl;
|
||||
field @Nullable public final android.net.captiveportal.CaptivePortalProbeSpec probeSpec;
|
||||
field @Nullable public final String redirectUrl;
|
||||
}
|
||||
|
||||
public abstract class CaptivePortalProbeSpec {
|
||||
method @NonNull public String getEncodedSpec();
|
||||
method @NonNull public abstract android.net.captiveportal.CaptivePortalProbeResult getResult(int, @Nullable String);
|
||||
method @NonNull public java.net.URL getUrl();
|
||||
method @NonNull public static java.util.Collection<android.net.captiveportal.CaptivePortalProbeSpec> parseCaptivePortalProbeSpecs(@NonNull String);
|
||||
method @Nullable public static android.net.captiveportal.CaptivePortalProbeSpec parseSpecOrNull(@Nullable String);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.net.metrics {
|
||||
|
||||
public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
|
||||
|
||||
@@ -23,6 +23,7 @@ android_app {
|
||||
static_libs: [
|
||||
"android-support-v4",
|
||||
"metrics-constants-protos",
|
||||
"captiveportal-lib",
|
||||
],
|
||||
manifest: "AndroidManifest.xml",
|
||||
}
|
||||
|
||||
@@ -14,6 +14,15 @@
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
java_library {
|
||||
name: "captiveportal-lib",
|
||||
srcs: ["common/**/*.java"],
|
||||
libs: [
|
||||
"androidx.annotation_annotation",
|
||||
],
|
||||
sdk_version: "system_current",
|
||||
}
|
||||
|
||||
java_defaults {
|
||||
name: "NetworkStackCommon",
|
||||
sdk_version: "system_current",
|
||||
@@ -35,6 +44,7 @@ android_library {
|
||||
"networkstack-aidl-interfaces-java",
|
||||
"datastallprotosnano",
|
||||
"networkstackprotosnano",
|
||||
"captiveportal-lib",
|
||||
],
|
||||
manifest: "AndroidManifestBase.xml",
|
||||
}
|
||||
|
||||
@@ -16,17 +16,13 @@
|
||||
|
||||
package android.net.captiveportal;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* Result of calling isCaptivePortal().
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public final class CaptivePortalProbeResult {
|
||||
public static final int SUCCESS_CODE = 204;
|
||||
public static final int FAILED_CODE = 599;
|
||||
@@ -19,16 +19,12 @@ package android.net.captiveportal;
|
||||
import static android.net.captiveportal.CaptivePortalProbeResult.PORTAL_CODE;
|
||||
import static android.net.captiveportal.CaptivePortalProbeResult.SUCCESS_CODE;
|
||||
|
||||
import static com.android.internal.util.Preconditions.checkNotNull;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
@@ -40,8 +36,6 @@ import java.util.regex.Pattern;
|
||||
import java.util.regex.PatternSyntaxException;
|
||||
|
||||
/** @hide */
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public abstract class CaptivePortalProbeSpec {
|
||||
private static final String TAG = CaptivePortalProbeSpec.class.getSimpleName();
|
||||
private static final String REGEX_SEPARATOR = "@@/@@";
|
||||
@@ -192,4 +186,10 @@ public abstract class CaptivePortalProbeSpec {
|
||||
// No value is a match ("no location header" passes the location rule for non-redirects)
|
||||
return pattern == null || TextUtils.isEmpty(value) || pattern.matcher(value).matches();
|
||||
}
|
||||
|
||||
// Throws NullPointerException if the input is null.
|
||||
private static <T> T checkNotNull(T object) {
|
||||
if (object == null) throw new NullPointerException();
|
||||
return object;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user