android P
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/SavedNetworkEvaluator.java
package com.android.server.wifi;
import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.util.LocalLog;
import android.util.Pair;
import com.android.internal.R;
import com.android.server.wifi.util.TelephonyUtil;
import java.util.List;
/**
* This class is the WifiNetworkSelector.NetworkEvaluator implementation for
* saved networks.
*/
public class SavedNetworkEvaluator implements WifiNetworkSelector.NetworkEvaluator {
private static final String NAME = "SavedNetworkEvaluator";
private final WifiConfigManager mWifiConfigManager;
private final Clock mClock;
private final LocalLog mLocalLog;
private final WifiConnectivityHelper mConnectivityHelper;
private final int mRssiScoreSlope;
private final int mRssiScoreOffset;
private final int mSameBssidAward;
private final int mSameNetworkAward;
private final int mBand5GHzAward;
private final int mLastSelectionAward;
private final int mSecurityAward;
private final ScoringParams mScoringParams;
SavedNetworkEvaluator(final Context context, ScoringParams scoringParams,
WifiConfigManager configManager, Clock clock,
LocalLog localLog, WifiConnectivityHelper connectivityHelper) {
mScoringParams = scoringParams;
mWifiConfigManager = configManager;
mClock = clock;
mLocalLog = localLog;
mConnectivityHelper = connectivityHelper;
//满足特定条件时奖励的分数
mRssiScoreSlope = context.getResources().getInteger(
R.integer.config_wifi_framework_RSSI_SCORE_SLOPE); // 4
mRssiScoreOffset = context.getResources().getInteger(
R.integer.config_wifi_framework_RSSI_SCORE_OFFSET); //85
mSameBssidAward = context.getResources().getInteger(
R.integer.config_wifi_framework_SAME_BSSID_AWARD); //24
mSameNetworkAward = context.getResources().getInteger(
R.integer.config_wifi_framework_current_network_boost); //16 <!-- Integer indicating RSSI boost given to current network -->
mLastSelectionAward = context.getResources().getInteger(
R.integer.config_wifi_framework_LAST_SELECTION_AWARD); //480
mSecurityAward = context.getResources().getInteger(
R.integer.config_wifi_framework_SECURITY_AWARD); //80
mBand5GHzAward = context.getResources().getInteger(
R.integer.config_wifi_framework_5GHz_preference_boost_factor); //40
}
private void localLog(String log) {
mLocalLog.log(log);
}
/**
* Get the evaluator name.
*/
public String getName() {
return NAME;
}
/**
* Update all the saved networks' selection status
*/
private void updateSavedN