diff options
author | David Su <dysu@google.com> | 2019-11-20 18:57:27 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-11-20 18:57:27 +0000 |
commit | 7be5a9d761365d4654565837fc51e207396fdc54 (patch) | |
tree | a560d1ab1cc92a48fd195d633c6aeca61acf8c48 /service | |
parent | 7ae6f620d769114b46c9503c41af7564e80520aa (diff) | |
parent | 53266ce7f70f5bebd9c690483de29cf100357359 (diff) |
Merge "Migrate WifiInfo/ScanResult raw field access to getters/setters"
Diffstat (limited to 'service')
10 files changed, 61 insertions, 57 deletions
diff --git a/service/java/com/android/server/wifi/BssidBlocklistMonitor.java b/service/java/com/android/server/wifi/BssidBlocklistMonitor.java index 9a88bdf5c..2921729ca 100644 --- a/service/java/com/android/server/wifi/BssidBlocklistMonitor.java +++ b/service/java/com/android/server/wifi/BssidBlocklistMonitor.java @@ -18,7 +18,7 @@ package com.android.server.wifi; import android.annotation.IntDef; import android.annotation.NonNull; -import android.net.wifi.WifiSsid; +import android.net.wifi.WifiManager; import android.util.ArrayMap; import android.util.LocalLog; import android.util.Log; @@ -169,7 +169,7 @@ public class BssidBlocklistMonitor { */ public boolean handleBssidConnectionFailure(String bssid, String ssid, @BssidBlocklistMonitorFailureReason int reasonCode) { - if (bssid == null || ssid == null || WifiSsid.NONE.equals(ssid) + if (bssid == null || ssid == null || WifiManager.UNKNOWN_SSID.equals(ssid) || bssid.equals(ClientModeImpl.SUPPLICANT_BSSID_ANY) || reasonCode < 0 || reasonCode >= NUMBER_REASON_CODES) { Log.e(TAG, "Invalid input: BSSID=" + bssid + ", SSID=" + ssid diff --git a/service/java/com/android/server/wifi/ClientModeImpl.java b/service/java/com/android/server/wifi/ClientModeImpl.java index aeb345ef1..dfd92d3e2 100644 --- a/service/java/com/android/server/wifi/ClientModeImpl.java +++ b/service/java/com/android/server/wifi/ClientModeImpl.java @@ -69,7 +69,6 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.DeviceMobilityState; import android.net.wifi.WifiNetworkAgentSpecifier; -import android.net.wifi.WifiSsid; import android.net.wifi.hotspot2.IProvisioningCallback; import android.net.wifi.hotspot2.OsuProvider; import android.net.wifi.p2p.IWifiP2pManager; @@ -1911,18 +1910,18 @@ public class ClientModeImpl extends StateMachine { } sb.append(" rssi=").append(mWifiInfo.getRssi()); sb.append(" f=").append(mWifiInfo.getFrequency()); - sb.append(" sc=").append(mWifiInfo.score); + sb.append(" sc=").append(mWifiInfo.getScore()); sb.append(" link=").append(mWifiInfo.getLinkSpeed()); - sb.append(String.format(" tx=%.1f,", mWifiInfo.txSuccessRate)); - sb.append(String.format(" %.1f,", mWifiInfo.txRetriesRate)); - sb.append(String.format(" %.1f ", mWifiInfo.txBadRate)); - sb.append(String.format(" rx=%.1f", mWifiInfo.rxSuccessRate)); + sb.append(String.format(" tx=%.1f,", mWifiInfo.getTxSuccessRate())); + sb.append(String.format(" %.1f,", mWifiInfo.getTxRetriesRate())); + sb.append(String.format(" %.1f ", mWifiInfo.getTxBadRate())); + sb.append(String.format(" rx=%.1f", mWifiInfo.getRxSuccessRate())); sb.append(String.format(" bcn=%d", mRunningBeaconCount)); report = reportOnTime(); if (report != null) { sb.append(" ").append(report); } - sb.append(String.format(" score=%d", mWifiInfo.score)); + sb.append(String.format(" score=%d", mWifiInfo.getScore())); break; case CMD_START_CONNECT: sb.append(" "); @@ -2329,10 +2328,10 @@ public class ClientModeImpl extends StateMachine { // Polling has completed, hence we won't have a score anymore private void cleanWifiScore() { - mWifiInfo.txBadRate = 0; - mWifiInfo.txSuccessRate = 0; - mWifiInfo.txRetriesRate = 0; - mWifiInfo.rxSuccessRate = 0; + mWifiInfo.setTxBadRate(0); + mWifiInfo.setTxSuccessRate(0); + mWifiInfo.setTxRetriesRate(0); + mWifiInfo.setRxSuccessRate(0); mWifiScoreReport.reset(); mLastLinkLayerStats = null; } @@ -2507,7 +2506,7 @@ public class ClientModeImpl extends StateMachine { mWifiInfo.setTrusted(config.trusted); mWifiInfo.setOsuAp(config.osu); if (config.fromWifiNetworkSpecifier || config.fromWifiNetworkSuggestion) { - mWifiInfo.setNetworkSuggestionOrSpecifierPackageName(config.creatorName); + mWifiInfo.setAppPackageName(config.creatorName); } // Set meteredHint if scan result says network is expensive @@ -2737,7 +2736,7 @@ public class ClientModeImpl extends StateMachine { level2FailureCode, connectivityFailureCode); String bssid = mLastBssid == null ? mTargetRoamBSSID : mLastBssid; String ssid = mWifiInfo.getSSID(); - if (WifiSsid.NONE.equals(ssid)) { + if (WifiManager.UNKNOWN_SSID.equals(ssid)) { ssid = getTargetSsid(); } int bssidBlocklistMonitorReason = convertToBssidBlocklistMonitorFailureReason( @@ -4056,7 +4055,7 @@ public class ClientModeImpl extends StateMachine { result.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); } - if (!mWifiInfo.getSSID().equals(WifiSsid.NONE)) { + if (!mWifiInfo.getSSID().equals(WifiManager.UNKNOWN_SSID)) { result.setSSID(mWifiInfo.getSSID()); } else { result.setSSID(null); @@ -4123,7 +4122,8 @@ public class ClientModeImpl extends StateMachine { // Ignore if we're not the current networkAgent. if (this != mNetworkAgent) return; if (mVerboseLoggingEnabled) { - log("WifiNetworkAgent -> Wifi unwanted score " + Integer.toString(mWifiInfo.score)); + log("WifiNetworkAgent -> Wifi unwanted score " + Integer.toString( + mWifiInfo.getScore())); } unwantedNetwork(NETWORK_STATUS_UNWANTED_DISCONNECT); } @@ -4136,13 +4136,13 @@ public class ClientModeImpl extends StateMachine { if (status == NetworkAgent.INVALID_NETWORK) { if (mVerboseLoggingEnabled) { log("WifiNetworkAgent -> Wifi networkStatus invalid, score=" - + Integer.toString(mWifiInfo.score)); + + Integer.toString(mWifiInfo.getScore())); } unwantedNetwork(NETWORK_STATUS_UNWANTED_VALIDATION_FAILED); } else if (status == NetworkAgent.VALID_NETWORK) { if (mVerboseLoggingEnabled) { log("WifiNetworkAgent -> Wifi networkStatus valid, score= " - + Integer.toString(mWifiInfo.score)); + + Integer.toString(mWifiInfo.getScore())); } mWifiMetrics.logStaEvent(StaEvent.TYPE_NETWORK_AGENT_VALID_NETWORK); doNetworkStatus(status); diff --git a/service/java/com/android/server/wifi/ExtendedWifiInfo.java b/service/java/com/android/server/wifi/ExtendedWifiInfo.java index 93c508288..4aa355286 100644 --- a/service/java/com/android/server/wifi/ExtendedWifiInfo.java +++ b/service/java/com/android/server/wifi/ExtendedWifiInfo.java @@ -78,23 +78,23 @@ public class ExtendedWifiInfo extends WifiInfo { double lastSampleWeight = Math.exp(-1.0 * timeDelta / FILTER_TIME_CONSTANT); double currentSampleWeight = 1.0 - lastSampleWeight; - txBadRate = txBadRate * lastSampleWeight + setTxBadRate(getTxBadRate() * lastSampleWeight + (txbad - txBad) * 1000.0 / timeDelta - * currentSampleWeight; - txSuccessRate = txSuccessRate * lastSampleWeight + * currentSampleWeight); + setTxSuccessRate(getTxSuccessRate() * lastSampleWeight + (txgood - txSuccess) * 1000.0 / timeDelta - * currentSampleWeight; - rxSuccessRate = rxSuccessRate * lastSampleWeight + * currentSampleWeight); + setRxSuccessRate(getRxSuccessRate() * lastSampleWeight + (rxgood - rxSuccess) * 1000.0 / timeDelta - * currentSampleWeight; - txRetriesRate = txRetriesRate * lastSampleWeight + * currentSampleWeight); + setTxRetriesRate(getTxRetriesRate() * lastSampleWeight + (txretries - txRetries) * 1000.0 / timeDelta - * currentSampleWeight; + * currentSampleWeight); } else { - txBadRate = 0; - txSuccessRate = 0; - rxSuccessRate = 0; - txRetriesRate = 0; + setTxBadRate(0); + setTxSuccessRate(0); + setRxSuccessRate(0); + setTxRetriesRate(0); mLastSource = source; } txBad = txbad; diff --git a/service/java/com/android/server/wifi/VelocityBasedConnectedScore.java b/service/java/com/android/server/wifi/VelocityBasedConnectedScore.java index 71f18fc7e..34201cd3a 100644 --- a/service/java/com/android/server/wifi/VelocityBasedConnectedScore.java +++ b/service/java/com/android/server/wifi/VelocityBasedConnectedScore.java @@ -150,12 +150,12 @@ public class VelocityBasedConnectedScore extends ConnectedScore { if (mThresholdAdjustment < -7) return; if (mFilteredRssi >= getAdjustedRssiThreshold() + 2.0) return; if (Math.abs(mEstimatedRateOfRssiChange) >= 0.2) return; - double txSuccessPps = wifiInfo.txSuccessRate; - double rxSuccessPps = wifiInfo.rxSuccessRate; + double txSuccessPps = wifiInfo.getTxSuccessRate(); + double rxSuccessPps = wifiInfo.getRxSuccessRate(); if (txSuccessPps < mMinimumPpsForMeasuringSuccess) return; if (rxSuccessPps < mMinimumPpsForMeasuringSuccess) return; - double txBadPps = wifiInfo.txBadRate; - double txRetriesPps = wifiInfo.txRetriesRate; + double txBadPps = wifiInfo.getTxBadRate(); + double txRetriesPps = wifiInfo.getTxRetriesRate(); double probabilityOfSuccessfulTx = txSuccessPps / (txSuccessPps + txBadPps + txRetriesPps); if (probabilityOfSuccessfulTx > 0.2) { // May want this amount to vary with how close to threshold we are diff --git a/service/java/com/android/server/wifi/WifiConnectivityManager.java b/service/java/com/android/server/wifi/WifiConnectivityManager.java index f74ec3f99..b51c2ff59 100644 --- a/service/java/com/android/server/wifi/WifiConnectivityManager.java +++ b/service/java/com/android/server/wifi/WifiConnectivityManager.java @@ -821,8 +821,8 @@ public class WifiConnectivityManager { boolean isScanNeeded = true; boolean isFullBandScan = true; - boolean isTrafficOverThreshold = mWifiInfo.txSuccessRate > mFullScanMaxTxRate - || mWifiInfo.rxSuccessRate > mFullScanMaxRxRate; + boolean isTrafficOverThreshold = mWifiInfo.getTxSuccessRate() > mFullScanMaxTxRate + || mWifiInfo.getRxSuccessRate() > mFullScanMaxRxRate; // If the WiFi traffic is heavy, only partial scan is proposed. if (mWifiState == WIFI_STATE_CONNECTED && isTrafficOverThreshold) { diff --git a/service/java/com/android/server/wifi/WifiNetworkSelector.java b/service/java/com/android/server/wifi/WifiNetworkSelector.java index f111a4cfc..63acb6682 100644 --- a/service/java/com/android/server/wifi/WifiNetworkSelector.java +++ b/service/java/com/android/server/wifi/WifiNetworkSelector.java @@ -235,8 +235,8 @@ public class WifiNetworkSelector { int currentRssi = wifiInfo.getRssi(); boolean hasQualifiedRssi = currentRssi > mScoringParams.getSufficientRssi(wifiInfo.getFrequency()); - boolean hasActiveStream = (wifiInfo.txSuccessRate > mStayOnNetworkMinimumTxRate) - || (wifiInfo.rxSuccessRate > mStayOnNetworkMinimumRxRate); + boolean hasActiveStream = (wifiInfo.getTxSuccessRate() > mStayOnNetworkMinimumTxRate) + || (wifiInfo.getRxSuccessRate() > mStayOnNetworkMinimumRxRate); if (hasQualifiedRssi && hasActiveStream) { localLog("Stay on current network because of good RSSI and ongoing traffic"); return true; @@ -700,7 +700,7 @@ public class WifiNetworkSelector { // Filter out unwanted networks. mFilteredNetworks = filterScanResults(scanDetails, bssidBlacklist, - connected && wifiInfo.score >= WIFI_POOR_SCORE, currentBssid); + connected && wifiInfo.getScore() >= WIFI_POOR_SCORE, currentBssid); if (mFilteredNetworks.size() == 0) { return null; } diff --git a/service/java/com/android/server/wifi/WifiScoreCard.java b/service/java/com/android/server/wifi/WifiScoreCard.java index 22bd1b1ba..87d9c3403 100644 --- a/service/java/com/android/server/wifi/WifiScoreCard.java +++ b/service/java/com/android/server/wifi/WifiScoreCard.java @@ -23,7 +23,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.net.MacAddress; import android.net.wifi.SupplicantState; -import android.net.wifi.WifiSsid; +import android.net.wifi.WifiManager; import android.util.ArrayMap; import android.util.Base64; import android.util.Log; @@ -541,7 +541,7 @@ public class WifiScoreCard { // TODO should be private, but WifiCandidates needs it @NonNull PerBssid lookupBssid(String ssid, String bssid) { MacAddress mac; - if (ssid == null || WifiSsid.NONE.equals(ssid) || bssid == null) { + if (ssid == null || WifiManager.UNKNOWN_SSID.equals(ssid) || bssid == null) { return mDummyPerBssid; } try { diff --git a/service/java/com/android/server/wifi/WifiScoreReport.java b/service/java/com/android/server/wifi/WifiScoreReport.java index 63321b343..401f10648 100644 --- a/service/java/com/android/server/wifi/WifiScoreReport.java +++ b/service/java/com/android/server/wifi/WifiScoreReport.java @@ -114,14 +114,15 @@ public class WifiScoreReport { score = s2; - if (wifiInfo.score > ConnectedScore.WIFI_TRANSITION_SCORE + if (wifiInfo.getScore() > ConnectedScore.WIFI_TRANSITION_SCORE && score <= ConnectedScore.WIFI_TRANSITION_SCORE - && wifiInfo.txSuccessRate >= mScoringParams.getYippeeSkippyPacketsPerSecond() - && wifiInfo.rxSuccessRate >= mScoringParams.getYippeeSkippyPacketsPerSecond()) { + && wifiInfo.getTxSuccessRate() >= mScoringParams.getYippeeSkippyPacketsPerSecond() + && wifiInfo.getRxSuccessRate() >= mScoringParams.getYippeeSkippyPacketsPerSecond() + ) { score = ConnectedScore.WIFI_TRANSITION_SCORE + 1; } - if (wifiInfo.score > ConnectedScore.WIFI_TRANSITION_SCORE + if (wifiInfo.getScore() > ConnectedScore.WIFI_TRANSITION_SCORE && score <= ConnectedScore.WIFI_TRANSITION_SCORE) { // We don't want to trigger a downward breach unless the rssi is // below the entry threshold. There is noise in the measured rssi, and @@ -135,16 +136,16 @@ public class WifiScoreReport { } } - if (wifiInfo.score >= ConnectedScore.WIFI_TRANSITION_SCORE + if (wifiInfo.getScore() >= ConnectedScore.WIFI_TRANSITION_SCORE && score < ConnectedScore.WIFI_TRANSITION_SCORE) { mLastDownwardBreachTimeMillis = millis; - } else if (wifiInfo.score < ConnectedScore.WIFI_TRANSITION_SCORE + } else if (wifiInfo.getScore() < ConnectedScore.WIFI_TRANSITION_SCORE && score >= ConnectedScore.WIFI_TRANSITION_SCORE) { // Staying at below transition score for a certain period of time // to prevent going back to wifi network again in a short time. long elapsedMillis = millis - mLastDownwardBreachTimeMillis; if (elapsedMillis < MIN_TIME_TO_KEEP_BELOW_TRANSITION_SCORE_MILLIS) { - score = wifiInfo.score; + score = wifiInfo.getScore(); } } @@ -159,11 +160,11 @@ public class WifiScoreReport { logLinkMetrics(wifiInfo, millis, netId, s1, s2, score); //report score - if (score != wifiInfo.score) { + if (score != wifiInfo.getScore()) { if (mVerboseLoggingEnabled) { Log.d(TAG, "report new wifi score " + score); } - wifiInfo.score = score; + wifiInfo.setScore(score); if (networkAgent != null) { networkAgent.sendNetworkScore(score); } @@ -251,10 +252,10 @@ public class WifiScoreReport { int freq = wifiInfo.getFrequency(); int txLinkSpeed = wifiInfo.getLinkSpeed(); int rxLinkSpeed = wifiInfo.getRxLinkSpeedMbps(); - double txSuccessRate = wifiInfo.txSuccessRate; - double txRetriesRate = wifiInfo.txRetriesRate; - double txBadRate = wifiInfo.txBadRate; - double rxSuccessRate = wifiInfo.rxSuccessRate; + double txSuccessRate = wifiInfo.getTxSuccessRate(); + double txRetriesRate = wifiInfo.getTxRetriesRate(); + double txBadRate = wifiInfo.getTxBadRate(); + double rxSuccessRate = wifiInfo.getRxSuccessRate(); String s; try { String timestamp = new SimpleDateFormat("MM-dd HH:mm:ss.SSS").format(new Date(now)); diff --git a/service/java/com/android/server/wifi/hotspot2/PasspointManager.java b/service/java/com/android/server/wifi/hotspot2/PasspointManager.java index 0d5f9043e..f9eab6f90 100644 --- a/service/java/com/android/server/wifi/hotspot2/PasspointManager.java +++ b/service/java/com/android/server/wifi/hotspot2/PasspointManager.java @@ -37,6 +37,7 @@ import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiEnterpriseConfig; import android.net.wifi.WifiManager; +import android.net.wifi.WifiSsid; import android.net.wifi.hotspot2.IProvisioningCallback; import android.net.wifi.hotspot2.OsuProvider; import android.net.wifi.hotspot2.PasspointConfiguration; @@ -794,7 +795,7 @@ public class PasspointManager { // Set null for OSU-SSID in the class because OSU-SSID is a factor for hotspot // operator rather than service provider, which means it can be different for // each hotspot operators. - OsuProvider provider = new OsuProvider(null, info.getFriendlyNames(), + OsuProvider provider = new OsuProvider((WifiSsid) null, info.getFriendlyNames(), info.getServiceDescription(), info.getServerUri(), info.getNetworkAccessIdentifier(), info.getMethodList(), null); List<ScanResult> matchingScanResults = osuProviders.get(provider); diff --git a/service/java/com/android/server/wifi/hotspot2/PasspointProvisioner.java b/service/java/com/android/server/wifi/hotspot2/PasspointProvisioner.java index a01117fae..f6b8772c6 100644 --- a/service/java/com/android/server/wifi/hotspot2/PasspointProvisioner.java +++ b/service/java/com/android/server/wifi/hotspot2/PasspointProvisioner.java @@ -23,6 +23,7 @@ import android.content.Intent; import android.net.Network; import android.net.wifi.ScanResult; import android.net.wifi.WifiManager; +import android.net.wifi.WifiSsid; import android.net.wifi.hotspot2.IProvisioningCallback; import android.net.wifi.hotspot2.OsuProvider; import android.net.wifi.hotspot2.PasspointConfiguration; @@ -1019,7 +1020,8 @@ public class PasspointProvisioner { Constants.ANQPElementType.HSOSUProviders); if (element == null) continue; for (OsuProviderInfo info : element.getProviders()) { - OsuProvider candidate = new OsuProvider(null, info.getFriendlyNames(), + OsuProvider candidate = new OsuProvider( + (WifiSsid) null, info.getFriendlyNames(), info.getServiceDescription(), info.getServerUri(), info.getNetworkAccessIdentifier(), info.getMethodList(), null); if (candidate.equals(osuProvider)) { |