Support metered choice for subscription WifiEntries
Add a check for subscription WifiEntries so they can also set their metered overrides. Test: manual Bug: 70983952 Change-Id: Icd45f416e47251f914aa803d5190566746fb9779
This commit is contained in:
@@ -60,7 +60,7 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
if (mWifiEntry.isSaved()) {
|
if (mWifiEntry.isSaved() || mWifiEntry.isSubscription()) {
|
||||||
mWifiEntry.setMeteredChoice(Integer.parseInt((String) newValue));
|
mWifiEntry.setMeteredChoice(Integer.parseInt((String) newValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
int getMeteredOverride() {
|
int getMeteredOverride() {
|
||||||
if (mWifiEntry.isSaved()) {
|
if (mWifiEntry.isSaved() || mWifiEntry.isSubscription()) {
|
||||||
// Wrap the meteredOverride since robolectric cannot recognize it
|
// Wrap the meteredOverride since robolectric cannot recognize it
|
||||||
return mWifiEntry.getMeteredChoice();
|
return mWifiEntry.getMeteredChoice();
|
||||||
}
|
}
|
||||||
@@ -91,13 +91,13 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSubmit(WifiDialog2 dialog) {
|
public void onSubmit(WifiDialog2 dialog) {
|
||||||
if (dialog.getController() != null) {
|
if (dialog.getController() != null && mWifiEntry.canSetMeteredChoice()) {
|
||||||
final WifiConfiguration newConfig = dialog.getController().getConfig();
|
final WifiConfiguration newConfig = dialog.getController().getConfig();
|
||||||
if (newConfig == null || !mWifiEntry.isSaved()) {
|
if (newConfig == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newConfig.meteredOverride != mWifiEntry.getWifiConfiguration().meteredOverride) {
|
if (getWifiEntryMeteredChoice(newConfig) != mWifiEntry.getMeteredChoice()) {
|
||||||
mWifiEntry.setMeteredChoice(getWifiEntryMeteredChoice(newConfig));
|
mWifiEntry.setMeteredChoice(getWifiEntryMeteredChoice(newConfig));
|
||||||
onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
|
onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user