summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorDavid Su <dysu@google.com>2019-11-20 18:57:27 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-11-20 18:57:27 +0000
commit7be5a9d761365d4654565837fc51e207396fdc54 (patch)
treea560d1ab1cc92a48fd195d633c6aeca61acf8c48 /service
parent7ae6f620d769114b46c9503c41af7564e80520aa (diff)
parent53266ce7f70f5bebd9c690483de29cf100357359 (diff)
Merge "Migrate WifiInfo/ScanResult raw field access to getters/setters"
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/BssidBlocklistMonitor.java4
-rw-r--r--service/java/com/android/server/wifi/ClientModeImpl.java34
-rw-r--r--service/java/com/android/server/wifi/ExtendedWifiInfo.java24
-rw-r--r--service/java/com/android/server/wifi/VelocityBasedConnectedScore.java8
-rw-r--r--service/java/com/android/server/wifi/WifiConnectivityManager.java4
-rw-r--r--service/java/com/android/server/wifi/WifiNetworkSelector.java6
-rw-r--r--service/java/com/android/server/wifi/WifiScoreCard.java4
-rw-r--r--service/java/com/android/server/wifi/WifiScoreReport.java27
-rw-r--r--service/java/com/android/server/wifi/hotspot2/PasspointManager.java3
-rw-r--r--service/java/com/android/server/wifi/hotspot2/PasspointProvisioner.java4
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)) {