Merge "Make reportInetCondition revalidate if the report differs from our state" into lmp-mr1-dev

This commit is contained in:
Lorenzo Colitti
2015-02-12 02:30:55 +00:00
committed by Android (Google) Code Review

View File

@@ -2636,9 +2636,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
// 100 percent is full good, 0 is full bad. // 100 percent is full good, 0 is full bad.
public void reportInetCondition(int networkType, int percentage) { public void reportInetCondition(int networkType, int percentage) {
if (percentage > 50) return; // don't handle good network reports
NetworkAgentInfo nai = mLegacyTypeTracker.getNetworkForType(networkType); 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) { public void reportBadNetwork(Network network) {