[Wi-Fi] Replace AccessPoint with WifiEntry for WifiDialog2
Bug: 146407136 Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.detail2 Change-Id: I65899b24c186e1bd1bb0d00db52c67264f30f3cb
This commit is contained in:
@@ -61,9 +61,10 @@ import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
|
||||
import com.android.settings.widget.EntityHeaderController;
|
||||
import com.android.settings.wifi.WifiDialog;
|
||||
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
|
||||
import com.android.settings.wifi.WifiEntryShell;
|
||||
import com.android.settings.wifi.WifiUtils;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
@@ -93,7 +94,7 @@ import java.util.stream.Collectors;
|
||||
* {@link WifiNetworkDetailsFragment}.
|
||||
*/
|
||||
public class WifiDetailPreferenceController2 extends AbstractPreferenceController
|
||||
implements PreferenceControllerMixin, WifiDialogListener, LifecycleObserver, OnPause,
|
||||
implements PreferenceControllerMixin, WifiDialog2Listener, LifecycleObserver, OnPause,
|
||||
OnResume, WifiEntryCallback {
|
||||
|
||||
private static final String TAG = "WifiDetailsPrefCtrl2";
|
||||
@@ -670,7 +671,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
||||
* Returns whether the network represented by this preference can be modified.
|
||||
*/
|
||||
public boolean canModifyNetwork() {
|
||||
return WifiEntryShell.canModifyNetwork(mWifiEntry);
|
||||
return mWifiEntry.isSaved()
|
||||
&& !WifiUtils.isNetworkLockedDown(mContext, mWifiEntry.getWifiConfiguration());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -762,7 +764,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubmit(WifiDialog dialog) {
|
||||
public void onSubmit(WifiDialog2 dialog) {
|
||||
if (dialog.getController() != null) {
|
||||
mWifiManager.save(dialog.getController().getConfig(), new WifiManager.ActionListener() {
|
||||
@Override
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.wifi.details2;
|
||||
|
||||
import android.app.backup.BackupManager;
|
||||
import android.content.Context;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.DropDownPreference;
|
||||
@@ -25,7 +26,7 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.wifi.WifiDialog;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
|
||||
@@ -33,7 +34,7 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
* {@link AbstractPreferenceController} that controls whether the wifi network is metered or not
|
||||
*/
|
||||
public class WifiMeteredPreferenceController2 extends BasePreferenceController implements
|
||||
Preference.OnPreferenceChangeListener, WifiDialog.WifiDialogListener {
|
||||
Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
|
||||
|
||||
private static final String KEY_WIFI_METERED = "metered";
|
||||
private WifiEntry mWifiEntry;
|
||||
@@ -89,18 +90,30 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubmit(WifiDialog dialog) {
|
||||
// TODO(b/143326832): Create WifiDialog2 and let it work for WifiEntry.
|
||||
//if (dialog.getController() != null) {
|
||||
// final WifiConfiguration newConfig = dialog.getController().getConfig();
|
||||
// if (newConfig == null || mWifiConfiguration == null) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (newConfig.meteredOverride != mWifiConfiguration.meteredOverride) {
|
||||
// mWifiConfiguration = newConfig;
|
||||
// onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
|
||||
// }
|
||||
//}
|
||||
public void onSubmit(WifiDialog2 dialog) {
|
||||
if (dialog.getController() != null) {
|
||||
final WifiConfiguration newConfig = dialog.getController().getConfig();
|
||||
if (newConfig == null || !mWifiEntry.isSaved()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (newConfig.meteredOverride != mWifiEntry.getWifiConfiguration().meteredOverride) {
|
||||
mWifiEntry.setMeteredChoice(getWifiEntryMeteredChoice(newConfig));
|
||||
onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int getWifiEntryMeteredChoice(WifiConfiguration wifiConfiguration) {
|
||||
switch (wifiConfiguration.meteredOverride) {
|
||||
case WifiConfiguration.METERED_OVERRIDE_NONE:
|
||||
return WifiEntry.METERED_CHOICE_AUTO;
|
||||
case WifiConfiguration.METERED_OVERRIDE_METERED:
|
||||
return WifiEntry.METERED_CHOICE_METERED;
|
||||
case WifiConfiguration.METERED_OVERRIDE_NOT_METERED:
|
||||
return WifiEntry.METERED_CHOICE_UNMETERED;
|
||||
default:
|
||||
return WifiEntry.METERED_CHOICE_UNKNOWN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,8 @@ import android.view.MenuItem;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.wifi.WifiDialog;
|
||||
import com.android.settings.wifi.WifiConfigUiBase2;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
@@ -54,7 +55,7 @@ import java.util.List;
|
||||
* in order to properly render this page.
|
||||
*/
|
||||
public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
WifiDialog.WifiDialogListener {
|
||||
WifiDialog2.WifiDialog2Listener {
|
||||
|
||||
private static final String TAG = "WifiNetworkDetailsFrg2";
|
||||
|
||||
@@ -69,7 +70,7 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
private NetworkDetailsTracker mNetworkDetailsTracker;
|
||||
private HandlerThread mWorkerThread;
|
||||
private WifiDetailPreferenceController2 mWifiDetailPreferenceController2;
|
||||
private List<WifiDialog.WifiDialogListener> mWifiDialogListeners = new ArrayList<>();
|
||||
private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
@@ -106,10 +107,10 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
if (getActivity() == null || mWifiDetailPreferenceController2 == null) {
|
||||
return null;
|
||||
}
|
||||
// TODO(b/143326832): Replace it with WifiEntry.
|
||||
return null;
|
||||
//return WifiDialog.createModal(getActivity(), this, mAccessPoint,
|
||||
// WifiConfigUiBase.MODE_MODIFY);
|
||||
|
||||
final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry();
|
||||
return WifiDialog2.createModal(getActivity(), this, wifiEntry,
|
||||
WifiConfigUiBase2.MODE_MODIFY);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -177,8 +178,8 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubmit(WifiDialog dialog) {
|
||||
for (WifiDialog.WifiDialogListener listener : mWifiDialogListeners) {
|
||||
public void onSubmit(WifiDialog2 dialog) {
|
||||
for (WifiDialog2.WifiDialog2Listener listener : mWifiDialogListeners) {
|
||||
listener.onSubmit(dialog);
|
||||
}
|
||||
}
|
||||
|
@@ -17,6 +17,7 @@
|
||||
package com.android.settings.wifi.details2;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -26,7 +27,7 @@ import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.wifi.WifiDialog;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
|
||||
@@ -35,7 +36,7 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
* or not
|
||||
*/
|
||||
public class WifiPrivacyPreferenceController2 extends BasePreferenceController implements
|
||||
Preference.OnPreferenceChangeListener, WifiDialog.WifiDialogListener {
|
||||
Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
|
||||
|
||||
private static final String KEY_WIFI_PRIVACY = "privacy";
|
||||
private WifiManager mWifiManager;
|
||||
@@ -134,18 +135,29 @@ public class WifiPrivacyPreferenceController2 extends BasePreferenceController i
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubmit(WifiDialog dialog) {
|
||||
// TODO(b/143326832): Create WifiDialog2 and let it work for WifiEntry.
|
||||
//if (dialog.getController() != null) {
|
||||
// final WifiConfiguration newConfig = dialog.getController().getConfig();
|
||||
// if (newConfig == null || mWifiConfiguration == null) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (newConfig.macRandomizationSetting != mWifiConfiguration.macRandomizationSetting) {
|
||||
// mWifiConfiguration = newConfig;
|
||||
// onPreferenceChange(mPreference, String.valueOf(newConfig.macRandomizationSetting));
|
||||
// }
|
||||
//}
|
||||
public void onSubmit(WifiDialog2 dialog) {
|
||||
if (dialog.getController() != null) {
|
||||
final WifiConfiguration newConfig = dialog.getController().getConfig();
|
||||
if (newConfig == null || !mWifiEntry.isSaved()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (newConfig.macRandomizationSetting
|
||||
!= mWifiEntry.getWifiConfiguration().macRandomizationSetting) {
|
||||
mWifiEntry.setPrivacy(getWifiEntryPrivacy(newConfig));
|
||||
onPreferenceChange(mPreference, String.valueOf(newConfig.macRandomizationSetting));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int getWifiEntryPrivacy(WifiConfiguration wifiConfiguration) {
|
||||
switch (wifiConfiguration.macRandomizationSetting) {
|
||||
case WifiConfiguration.RANDOMIZATION_NONE:
|
||||
return WifiEntry.PRIVACY_DEVICE_MAC;
|
||||
case WifiConfiguration.RANDOMIZATION_PERSISTENT:
|
||||
return WifiEntry.PRIVACY_RANDOMIZED_MAC;
|
||||
default:
|
||||
return WifiEntry.PRIVACY_UNKNOWN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user