Merge "Support metered choice for subscription WifiEntries"

This commit is contained in:
TreeHugger Robot
2020-01-31 00:23:13 +00:00
committed by Android (Google) Code Review

View File

@@ -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));
} }