summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2015-02-12 03:09:57 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-02-12 03:09:57 +0000
commitfd90d718f43e676e6487ca089e058cdc5d7f7981 (patch)
tree280b919b4a0329a0e7867ced9862a16c1df187fc
parentbee1def31bb7a3a22e7c83904a3d8c418eeb5e48 (diff)
parentb0dfaad8c2a02c33885e6a278c7901da69d8ab49 (diff)
downloadframeworks_base-fd90d718f43e676e6487ca089e058cdc5d7f7981.zip
frameworks_base-fd90d718f43e676e6487ca089e058cdc5d7f7981.tar.gz
frameworks_base-fd90d718f43e676e6487ca089e058cdc5d7f7981.tar.bz2
am b0dfaad8: am f99551d8: am c7ccc393: Merge "Make reportInetCondition revalidate if the report differs from our state" into lmp-mr1-dev
* commit 'b0dfaad8c2a02c33885e6a278c7901da69d8ab49': Make reportInetCondition revalidate if the report differs from our state
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 551a5dc..b72b29d 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -2636,9 +2636,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
// 100 percent is full good, 0 is full bad.
public void reportInetCondition(int networkType, int percentage) {
- if (percentage > 50) return; // don't handle good network reports
NetworkAgentInfo nai = mLegacyTypeTracker.getNetworkForType(networkType);
- if (nai != null) reportBadNetwork(nai.network);
+ if (nai == null) return;
+ boolean isGood = percentage > 50;
+ // Revalidate if the app report does not match our current validated state.
+ if (isGood != nai.lastValidated) {
+ // Make the message logged by reportBadNetwork below less confusing.
+ if (DBG && isGood) log("reportInetCondition: type=" + networkType + " ok, revalidate");
+ reportBadNetwork(nai.network);
+ }
}
public void reportBadNetwork(Network network) {