Loading services/core/java/com/android/server/connectivity/Vpn.java +14 −1 Original line number Diff line number Diff line Loading @@ -3066,7 +3066,8 @@ public class Vpn { * <p>This variable controls the retry delay, and is reset when the VPN pass network * validation. */ private int mValidationFailRetryCount = 0; @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) int mValidationFailRetryCount = 0; /** * The number of attempts since the last successful connection. Loading Loading @@ -3897,6 +3898,18 @@ public class Vpn { // Skip other invalid status if the scheduled recovery exists. if (mScheduledHandleDataStallFuture != null) return; // Trigger network validation on the underlying network to possibly cause system // switch default network or try recover if the current default network is broken. // // For the same underlying network, the first validation result should clarify if // it's caused by broken underlying network. So only perform underlying network // re-evaluation after first validation failure to prevent extra network resource // costs on sending probes. if (mValidationFailRetryCount == 0) { mConnectivityManager.reportNetworkConnectivity( mActiveNetwork, false /* hasConnectivity */); } if (mValidationFailRetryCount < MAX_MOBIKE_RECOVERY_ATTEMPT) { Log.d(TAG, "Validation failed"); Loading Loading
services/core/java/com/android/server/connectivity/Vpn.java +14 −1 Original line number Diff line number Diff line Loading @@ -3066,7 +3066,8 @@ public class Vpn { * <p>This variable controls the retry delay, and is reset when the VPN pass network * validation. */ private int mValidationFailRetryCount = 0; @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) int mValidationFailRetryCount = 0; /** * The number of attempts since the last successful connection. Loading Loading @@ -3897,6 +3898,18 @@ public class Vpn { // Skip other invalid status if the scheduled recovery exists. if (mScheduledHandleDataStallFuture != null) return; // Trigger network validation on the underlying network to possibly cause system // switch default network or try recover if the current default network is broken. // // For the same underlying network, the first validation result should clarify if // it's caused by broken underlying network. So only perform underlying network // re-evaluation after first validation failure to prevent extra network resource // costs on sending probes. if (mValidationFailRetryCount == 0) { mConnectivityManager.reportNetworkConnectivity( mActiveNetwork, false /* hasConnectivity */); } if (mValidationFailRetryCount < MAX_MOBIKE_RECOVERY_ATTEMPT) { Log.d(TAG, "Validation failed"); Loading