[Wi-Fi] Updates internal AccessPoint list upon onAccessPointsChanged
Updating access point list requires WifiTracker's AccessPoints and WifiNetworkFactory's matching scan results. When WifiNetworkFactory sends the matching scan results to NetworkRequestDialogFragment, if WifiTracker still does not receive scan results, UI will not be updated. This CL is to update internal AccessPoint list from WifiTracker upon onAccessPointsChanged callback to reflect results properly. Bug: 140600730 Test: manual, robotests Change-Id: I0f9814821b3d56f3c55f1e6419c8b7a03b03589e Signed-off-by: Daichi Ueura <daichi.ueura@sony.com>
This commit is contained in:
@@ -34,16 +34,19 @@ import android.widget.BaseAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.preference.internal.PreferenceImageView;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
import com.android.settingslib.wifi.WifiTracker;
|
||||
import com.android.settingslib.wifi.WifiTrackerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -63,7 +66,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme
|
||||
private boolean mShowLimitedItem = true;
|
||||
|
||||
private List<AccessPoint> mAccessPointList;
|
||||
private FilterWifiTracker mFilterWifiTracker;
|
||||
@VisibleForTesting
|
||||
FilterWifiTracker mFilterWifiTracker;
|
||||
private AccessPointAdapter mDialogAdapter;
|
||||
private NetworkRequestUserSelectionCallback mUserSelectionCallback;
|
||||
|
||||
@@ -115,7 +119,7 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme
|
||||
neutralBtn.setVisibility(View.GONE);
|
||||
neutralBtn.setOnClickListener(v -> {
|
||||
mShowLimitedItem = false;
|
||||
renewAccessPointList(null /* List<ScanResult> */);
|
||||
renewAccessPointList(null /* scanResults */);
|
||||
notifyAdapterRefresh();
|
||||
neutralBtn.setVisibility(View.GONE);
|
||||
});
|
||||
@@ -323,7 +327,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme
|
||||
// Do nothing when selection is failed, let user could try again easily.
|
||||
}
|
||||
|
||||
private final class FilterWifiTracker {
|
||||
@VisibleForTesting
|
||||
final class FilterWifiTracker {
|
||||
private final List<String> mAccessPointKeys;
|
||||
private final WifiTracker mWifiTracker;
|
||||
|
||||
@@ -381,7 +386,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme
|
||||
return result;
|
||||
}
|
||||
|
||||
private WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() {
|
||||
@VisibleForTesting
|
||||
WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() {
|
||||
|
||||
@Override
|
||||
public void onWifiStateChanged(int state) {
|
||||
@@ -395,6 +401,7 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme
|
||||
|
||||
@Override
|
||||
public void onAccessPointsChanged() {
|
||||
renewAccessPointList(null /* scanResults */);
|
||||
notifyAdapterRefresh();
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user