diff options
author | Remi NGUYEN VAN <reminv@google.com> | 2019-06-11 23:06:00 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-06-11 23:06:00 -0700 |
commit | eb9e627711a8c2563d45cf62a0206e138c14af0a (patch) | |
tree | 018fea52bf4c67876da8d2cdf43de4b040a7a91c /src | |
parent | 68ec32966f3d1e155c4169fe32928f901d3f1679 (diff) | |
parent | 34e740ca97b3193a6f502d04127c03e9dc9bbba4 (diff) |
Merge "Support beta 4 system images." am: 53ba2595c3
am: 34e740ca97
Change-Id: Ic97d42c89ac011fa668f0edb23fbb6a13a486e57
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/server/connectivity/NetworkMonitor.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/com/android/server/connectivity/NetworkMonitor.java b/src/com/android/server/connectivity/NetworkMonitor.java index 9a8b304..0b2c051 100644 --- a/src/com/android/server/connectivity/NetworkMonitor.java +++ b/src/com/android/server/connectivity/NetworkMonitor.java @@ -24,6 +24,9 @@ import static android.net.ConnectivityManager.EXTRA_CAPTIVE_PORTAL_URL; import static android.net.ConnectivityManager.TYPE_MOBILE; import static android.net.ConnectivityManager.TYPE_WIFI; import static android.net.DnsResolver.FLAG_EMPTY; +import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_INVALID; +import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY; +import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_VALID; import static android.net.INetworkMonitor.NETWORK_VALIDATION_PROBE_DNS; import static android.net.INetworkMonitor.NETWORK_VALIDATION_PROBE_FALLBACK; import static android.net.INetworkMonitor.NETWORK_VALIDATION_PROBE_HTTP; @@ -93,6 +96,7 @@ import android.net.util.SharedLog; import android.net.util.Stopwatch; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; +import android.os.Build; import android.os.Bundle; import android.os.Message; import android.os.RemoteException; @@ -286,6 +290,7 @@ public class NetworkMonitor extends StateMachine { private final Context mContext; private final INetworkMonitorCallbacks mCallback; + private final int mCallbackVersion; private final Network mCleartextDnsNetwork; private final Network mNetwork; private final TelephonyManager mTelephonyManager; @@ -355,6 +360,17 @@ public class NetworkMonitor extends StateMachine { private boolean mAcceptPartialConnectivity = false; private final EvaluationState mEvaluationState = new EvaluationState(); + private int getCallbackVersion(INetworkMonitorCallbacks cb) { + int version; + try { + version = cb.getInterfaceVersion(); + } catch (RemoteException e) { + version = 0; + } + if (version == Build.VERSION_CODES.CUR_DEVELOPMENT) version = 0; + return version; + } + public NetworkMonitor(Context context, INetworkMonitorCallbacks cb, Network network, SharedLog validationLog) { this(context, cb, network, new IpConnectivityLog(), validationLog, @@ -376,6 +392,7 @@ public class NetworkMonitor extends StateMachine { mMetricsLog = logger; mValidationLogs = validationLogs; mCallback = cb; + mCallbackVersion = getCallbackVersion(cb); mDependencies = deps; mDetectionStatsUtils = detectionStatsUtils; mNetwork = network; @@ -2113,6 +2130,15 @@ public class NetworkMonitor extends StateMachine { } protected int getNetworkTestResult() { + if (mCallbackVersion < 3) { + if ((mEvaluationResult & NETWORK_VALIDATION_RESULT_VALID) != 0) { + return NETWORK_TEST_RESULT_VALID; + } + if ((mEvaluationResult & NETWORK_VALIDATION_RESULT_PARTIAL) != 0) { + return NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY; + } + return NETWORK_TEST_RESULT_INVALID; + } return mEvaluationResult | mProbeResults; } } |