Use WifiPickerTracker instead of WifiTracker2

WifiTracker2 is being split into separate trackers for each fragment
that needs tracking functionality (Wifi picker, Saved Networks Page,
Network Details Page). For WifiSettings2, we will use WifiPickerTracker
which differs from WifiTracker2 by only having the functionality
required for the wifi picker.

Bug: 70983952
Test: WifiSettings2Test.java
Change-Id: Ia94fa534ead7c521156d1cccbb120a345d95e020
This commit is contained in:
Quang Luong
2019-10-22 16:14:40 -07:00
parent 28fbb6bb63
commit 652fa61905

View File

@@ -66,7 +66,7 @@ import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.LongPressWifiEntryPreference; import com.android.settingslib.wifi.LongPressWifiEntryPreference;
import com.android.settingslib.wifi.WifiSavedConfigUtils; import com.android.settingslib.wifi.WifiSavedConfigUtils;
import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry;
import com.android.wifitrackerlib.WifiTracker2; import com.android.wifitrackerlib.WifiPickerTracker;
import java.time.Clock; import java.time.Clock;
import java.time.ZoneOffset; import java.time.ZoneOffset;
@@ -78,13 +78,13 @@ import java.util.List;
*/ */
@SearchIndexable @SearchIndexable
public class WifiSettings2 extends RestrictedSettingsFragment public class WifiSettings2 extends RestrictedSettingsFragment
implements Indexable, WifiTracker2.WifiTrackerCallback { implements Indexable, WifiPickerTracker.WifiPickerTrackerCallback {
private static final String TAG = "WifiSettings2"; private static final String TAG = "WifiSettings2";
// Max age of tracked WifiEntries // Max age of tracked WifiEntries
private static final long MAX_SCAN_AGE_MILLIS = 15_000; private static final long MAX_SCAN_AGE_MILLIS = 15_000;
// Interval between initiating WifiTracker2 scans // Interval between initiating WifiPickerTracker scans
private static final long SCAN_INTERVAL_MILLIS = 10_000; private static final long SCAN_INTERVAL_MILLIS = 10_000;
@VisibleForTesting @VisibleForTesting
@@ -103,7 +103,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment
private static final int REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER = 0; private static final int REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER = 0;
private static boolean isVerboseLoggingEnabled() { private static boolean isVerboseLoggingEnabled() {
return WifiTracker2.sVerboseLogging || Log.isLoggable(TAG, Log.VERBOSE); return WifiPickerTracker.isVerboseLoggingEnabled();
} }
private final Runnable mUpdateWifiEntryPreferencesRunnable = () -> { private final Runnable mUpdateWifiEntryPreferencesRunnable = () -> {
@@ -127,9 +127,9 @@ public class WifiSettings2 extends RestrictedSettingsFragment
private WifiEnabler mWifiEnabler; private WifiEnabler mWifiEnabler;
// Worker thread used for WifiTracker2 work // Worker thread used for WifiPickerTracker work
private HandlerThread mWorkerThread; private HandlerThread mWorkerThread;
private WifiTracker2 mWifiTracker2; private WifiPickerTracker mWifiPickerTracker;
private WifiDialog mDialog; private WifiDialog mDialog;
@@ -218,7 +218,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment
return SystemClock.elapsedRealtime(); return SystemClock.elapsedRealtime();
} }
}; };
mWifiTracker2 = new WifiTracker2(getSettingsLifecycle(), context, mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), context,
context.getSystemService(WifiManager.class), context.getSystemService(WifiManager.class),
context.getSystemService(ConnectivityManager.class), context.getSystemService(ConnectivityManager.class),
context.getSystemService(NetworkScoreManager.class), context.getSystemService(NetworkScoreManager.class),
@@ -410,7 +410,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment
if (mIsRestricted) { if (mIsRestricted) {
return; return;
} }
final int wifiState = mWifiTracker2.getWifiState(); final int wifiState = mWifiPickerTracker.getWifiState();
if (isVerboseLoggingEnabled()) { if (isVerboseLoggingEnabled()) {
Log.i(TAG, "onWifiStateChanged called with wifi state: " + wifiState); Log.i(TAG, "onWifiStateChanged called with wifi state: " + wifiState);
@@ -447,14 +447,24 @@ public class WifiSettings2 extends RestrictedSettingsFragment
updateWifiEntryPreferencesDelayed(); updateWifiEntryPreferencesDelayed();
} }
@Override
public void onNumSavedNetworksChanged() {
// TODO(b/70983952): Update the num saved networks preference text here
}
@Override
public void onNumSavedSubscriptionsChanged() {
// TODO(b/70983952): Update the num saved networks preference text here
}
/** /**
* Updates WifiEntries from {@link WifiManager#getScanResults()}. Adds a delay to have * Updates WifiEntries from {@link WifiPickerTracker#getWifiEntries()}. Adds a delay to have
* progress bar displayed before starting to modify entries. * progress bar displayed before starting to modify entries.
*/ */
private void updateWifiEntryPreferencesDelayed() { private void updateWifiEntryPreferencesDelayed() {
// Safeguard from some delayed event handling // Safeguard from some delayed event handling
if (getActivity() != null && !mIsRestricted && if (getActivity() != null && !mIsRestricted &&
mWifiTracker2.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
final View view = getView(); final View view = getView();
final Handler handler = view.getHandler(); final Handler handler = view.getHandler();
if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) { if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) {
@@ -467,7 +477,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment
private void updateWifiEntryPreferences() { private void updateWifiEntryPreferences() {
// in case state has changed // in case state has changed
if (mWifiTracker2.getWifiState() != WifiManager.WIFI_STATE_ENABLED) { if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
return; return;
} }
@@ -478,7 +488,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment
int index = 0; int index = 0;
cacheRemoveAllPrefs(mWifiEntryPreferenceCategory); cacheRemoveAllPrefs(mWifiEntryPreferenceCategory);
List<WifiEntry> wifiEntries = mWifiTracker2.getWifiEntries(); List<WifiEntry> wifiEntries = mWifiPickerTracker.getWifiEntries();
for (WifiEntry wifiEntry : wifiEntries) { for (WifiEntry wifiEntry : wifiEntries) {
hasAvailableWifiEntries = true; hasAvailableWifiEntries = true;