Loading src/com/android/settings/wifi/WifiConfigController2.java +120 −122 File changed.Preview size limit exceeded, changes collapsed. Show changes src/com/android/settings/wifi/WifiDialog2.java +13 −12 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.wifi.AccessPoint; import com.android.wifitrackerlib.WifiEntry; /** * Dialog for users to edit a Wi-Fi network. Loading Loading @@ -66,7 +66,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, private final int mMode; private final WifiDialog2Listener mListener; private final AccessPoint mAccessPoint; private final WifiEntry mWifiEntry; private View mView; private WifiConfigController2 mController; Loading @@ -77,8 +77,8 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, * view. */ public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener, AccessPoint accessPoint, int mode) { return new WifiDialog2(context, listener, accessPoint, mode, 0 /* style */, WifiEntry wifiEntry, int mode) { return new WifiDialog2(context, listener, wifiEntry, mode, 0 /* style */, mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */); } Loading @@ -87,17 +87,17 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, * view. */ public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener, AccessPoint accessPoint, int mode, @StyleRes int style) { return new WifiDialog2(context, listener, accessPoint, mode, style, WifiEntry wifiEntry, int mode, @StyleRes int style) { return new WifiDialog2(context, listener, wifiEntry, mode, style, mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */); } /* package */ WifiDialog2(Context context, WifiDialog2Listener listener, AccessPoint accessPoint, int mode, @StyleRes int style, boolean hideSubmitButton) { /* package */ WifiDialog2(Context context, WifiDialog2Listener listener, WifiEntry wifiEntry, int mode, @StyleRes int style, boolean hideSubmitButton) { super(context, style); mMode = mode; mListener = listener; mAccessPoint = accessPoint; mWifiEntry = wifiEntry; mHideSubmitButton = hideSubmitButton; } Loading @@ -110,7 +110,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, protected void onCreate(Bundle savedInstanceState) { mView = getLayoutInflater().inflate(R.layout.wifi_dialog, /* root */ null); setView(mView); mController = new WifiConfigController2(this, mView, mAccessPoint, mMode); mController = new WifiConfigController2(this, mView, mWifiEntry, mMode); super.onCreate(savedInstanceState); if (mHideSubmitButton) { Loading @@ -121,7 +121,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, mController.enableSubmitIfAppropriate(); } if (mAccessPoint == null) { if (mWifiEntry == null) { mController.hideForgetButton(); } } Loading Loading @@ -168,7 +168,8 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, mListener.onSubmit(this); break; case BUTTON_FORGET: if (WifiUtils.isNetworkLockedDown(getContext(), mAccessPoint.getConfig())) { if (WifiUtils.isNetworkLockedDown(getContext(), mWifiEntry.getWifiConfiguration())) { RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(), RestrictedLockUtilsInternal.getDeviceOwner(getContext())); return; Loading src/com/android/settings/wifi/WifiEntryShell.java +0 −16 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.settings.wifi; import android.net.NetworkInfo.DetailedState; import com.android.wifitrackerlib.WifiEntry; /** Loading Loading @@ -64,13 +62,6 @@ public class WifiEntryShell { return false; } /** * Mapping of the corresponding {@link WifiDetailPreferenceController} method */ public static boolean canModifyNetwork(WifiEntry wifiEntry) { return false; } /** * Mapping of the corresponding {@link AccessPoint} method */ Loading @@ -78,13 +69,6 @@ public class WifiEntryShell { return "None"; } /** * Mapping of the corresponding {@link AccessPoint} method */ public static DetailedState getDetailedState(WifiEntry wifiEntry) { return null; } // Passpoint methods /** Loading src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java +7 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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"; Loading Loading @@ -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()); } /** Loading Loading @@ -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 Loading src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java +28 −15 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; } } } Loading
src/com/android/settings/wifi/WifiConfigController2.java +120 −122 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/com/android/settings/wifi/WifiDialog2.java +13 −12 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.wifi.AccessPoint; import com.android.wifitrackerlib.WifiEntry; /** * Dialog for users to edit a Wi-Fi network. Loading Loading @@ -66,7 +66,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, private final int mMode; private final WifiDialog2Listener mListener; private final AccessPoint mAccessPoint; private final WifiEntry mWifiEntry; private View mView; private WifiConfigController2 mController; Loading @@ -77,8 +77,8 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, * view. */ public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener, AccessPoint accessPoint, int mode) { return new WifiDialog2(context, listener, accessPoint, mode, 0 /* style */, WifiEntry wifiEntry, int mode) { return new WifiDialog2(context, listener, wifiEntry, mode, 0 /* style */, mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */); } Loading @@ -87,17 +87,17 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, * view. */ public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener, AccessPoint accessPoint, int mode, @StyleRes int style) { return new WifiDialog2(context, listener, accessPoint, mode, style, WifiEntry wifiEntry, int mode, @StyleRes int style) { return new WifiDialog2(context, listener, wifiEntry, mode, style, mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */); } /* package */ WifiDialog2(Context context, WifiDialog2Listener listener, AccessPoint accessPoint, int mode, @StyleRes int style, boolean hideSubmitButton) { /* package */ WifiDialog2(Context context, WifiDialog2Listener listener, WifiEntry wifiEntry, int mode, @StyleRes int style, boolean hideSubmitButton) { super(context, style); mMode = mode; mListener = listener; mAccessPoint = accessPoint; mWifiEntry = wifiEntry; mHideSubmitButton = hideSubmitButton; } Loading @@ -110,7 +110,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, protected void onCreate(Bundle savedInstanceState) { mView = getLayoutInflater().inflate(R.layout.wifi_dialog, /* root */ null); setView(mView); mController = new WifiConfigController2(this, mView, mAccessPoint, mMode); mController = new WifiConfigController2(this, mView, mWifiEntry, mMode); super.onCreate(savedInstanceState); if (mHideSubmitButton) { Loading @@ -121,7 +121,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, mController.enableSubmitIfAppropriate(); } if (mAccessPoint == null) { if (mWifiEntry == null) { mController.hideForgetButton(); } } Loading Loading @@ -168,7 +168,8 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2, mListener.onSubmit(this); break; case BUTTON_FORGET: if (WifiUtils.isNetworkLockedDown(getContext(), mAccessPoint.getConfig())) { if (WifiUtils.isNetworkLockedDown(getContext(), mWifiEntry.getWifiConfiguration())) { RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(), RestrictedLockUtilsInternal.getDeviceOwner(getContext())); return; Loading
src/com/android/settings/wifi/WifiEntryShell.java +0 −16 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.settings.wifi; import android.net.NetworkInfo.DetailedState; import com.android.wifitrackerlib.WifiEntry; /** Loading Loading @@ -64,13 +62,6 @@ public class WifiEntryShell { return false; } /** * Mapping of the corresponding {@link WifiDetailPreferenceController} method */ public static boolean canModifyNetwork(WifiEntry wifiEntry) { return false; } /** * Mapping of the corresponding {@link AccessPoint} method */ Loading @@ -78,13 +69,6 @@ public class WifiEntryShell { return "None"; } /** * Mapping of the corresponding {@link AccessPoint} method */ public static DetailedState getDetailedState(WifiEntry wifiEntry) { return null; } // Passpoint methods /** Loading
src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java +7 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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"; Loading Loading @@ -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()); } /** Loading Loading @@ -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 Loading
src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java +28 −15 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; } } }