From d63c119101d20ff364dab3ead021e7c5a9149350 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Tue, 22 May 2018 09:58:19 +0900 Subject: [PATCH] Move CaptivePortalProbeResult to its own file This is necessary to resolve visibility issues for the next change. Bug: b/79499239 Test: runtest frameworks-net Change-Id: I50bc96afe6ae88c8f58a693f0a4e821f1f9b3299 --- .../CaptivePortalProbeResult.java | 57 +++++++++++++++++++ .../server/connectivity/NetworkMonitor.java | 42 +------------- .../server/ConnectivityServiceTest.java | 1 + 3 files changed, 59 insertions(+), 41 deletions(-) create mode 100644 core/java/android/net/captiveportal/CaptivePortalProbeResult.java diff --git a/core/java/android/net/captiveportal/CaptivePortalProbeResult.java b/core/java/android/net/captiveportal/CaptivePortalProbeResult.java new file mode 100644 index 0000000000000..614c0b8dd17f1 --- /dev/null +++ b/core/java/android/net/captiveportal/CaptivePortalProbeResult.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.net.captiveportal; + +/** + * Result of calling isCaptivePortal(). + * @hide + */ +public final class CaptivePortalProbeResult { + public static final int SUCCESS_CODE = 204; + public static final int FAILED_CODE = 599; + + public static final CaptivePortalProbeResult FAILED = new CaptivePortalProbeResult(FAILED_CODE); + public static final CaptivePortalProbeResult SUCCESS = + new CaptivePortalProbeResult(SUCCESS_CODE); + + private final int mHttpResponseCode; // HTTP response code returned from Internet probe. + public final String redirectUrl; // Redirect destination returned from Internet probe. + public final String detectUrl; // URL where a 204 response code indicates + // captive portal has been appeased. + + public CaptivePortalProbeResult(int httpResponseCode) { + this(httpResponseCode, null, null); + } + + public CaptivePortalProbeResult(int httpResponseCode, String redirectUrl, String detectUrl) { + mHttpResponseCode = httpResponseCode; + this.redirectUrl = redirectUrl; + this.detectUrl = detectUrl; + } + + public boolean isSuccessful() { + return mHttpResponseCode == SUCCESS_CODE; + } + + public boolean isPortal() { + return !isSuccessful() && (mHttpResponseCode >= 200) && (mHttpResponseCode <= 399); + } + + public boolean isFailed() { + return !isSuccessful() && !isPortal(); + } +} diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java index c81624a87b4e7..4521d3aebad7c 100644 --- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java +++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java @@ -34,6 +34,7 @@ import android.net.NetworkRequest; import android.net.ProxyInfo; import android.net.TrafficStats; import android.net.Uri; +import android.net.captiveportal.CaptivePortalProbeResult; import android.net.dns.ResolvUtil; import android.net.metrics.IpConnectivityLog; import android.net.metrics.NetworkEvent; @@ -561,47 +562,6 @@ public class NetworkMonitor extends StateMachine { } } - /** - * Result of calling isCaptivePortal(). - * @hide - */ - @VisibleForTesting - public static final class CaptivePortalProbeResult { - static final int SUCCESS_CODE = 204; - static final int FAILED_CODE = 599; - - static final CaptivePortalProbeResult FAILED = new CaptivePortalProbeResult(FAILED_CODE); - static final CaptivePortalProbeResult SUCCESS = new CaptivePortalProbeResult(SUCCESS_CODE); - - private final int mHttpResponseCode; // HTTP response code returned from Internet probe. - final String redirectUrl; // Redirect destination returned from Internet probe. - final String detectUrl; // URL where a 204 response code indicates - // captive portal has been appeased. - - public CaptivePortalProbeResult( - int httpResponseCode, String redirectUrl, String detectUrl) { - mHttpResponseCode = httpResponseCode; - this.redirectUrl = redirectUrl; - this.detectUrl = detectUrl; - } - - public CaptivePortalProbeResult(int httpResponseCode) { - this(httpResponseCode, null, null); - } - - boolean isSuccessful() { - return mHttpResponseCode == SUCCESS_CODE; - } - - boolean isPortal() { - return !isSuccessful() && (mHttpResponseCode >= 200) && (mHttpResponseCode <= 399); - } - - boolean isFailed() { - return !isSuccessful() && !isPortal(); - } - } - // Being in the EvaluatingState State indicates the Network is being evaluated for internet // connectivity, or that the user has indicated that this network is unwanted. private class EvaluatingState extends State { diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 5b73bbaa1c739..7eef2d5b057de 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -112,6 +112,7 @@ import android.net.NetworkUtils; import android.net.RouteInfo; import android.net.StringNetworkSpecifier; import android.net.UidRange; +import android.net.captiveportal.CaptivePortalProbeResult; import android.net.metrics.IpConnectivityLog; import android.net.util.MultinetworkPolicyTracker; import android.os.ConditionVariable;