WiFiCallingSettings: "Update Emergency Address" shouldn't be disabled.
Bug: 29875773 Change-Id: I3a0277c865c12793ffd9039a9724a1a253b461c9
This commit is contained in:
@@ -96,12 +96,24 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
|
Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
|
||||||
if (pref != null) {
|
if (pref != null) {
|
||||||
pref.setEnabled(isWfcEnabled
|
pref.setEnabled(isWfcEnabled && getEditableWfcMode(activity)
|
||||||
&& (state == TelephonyManager.CALL_STATE_IDLE));
|
&& (state == TelephonyManager.CALL_STATE_IDLE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private static boolean getEditableWfcMode(Context context) {
|
||||||
|
CarrierConfigManager configManager = (CarrierConfigManager)
|
||||||
|
context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
|
||||||
|
if (configManager != null) {
|
||||||
|
PersistableBundle b = configManager.getConfig();
|
||||||
|
if (b != null) {
|
||||||
|
return b.getBoolean(CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private final OnPreferenceClickListener mUpdateAddressListener =
|
private final OnPreferenceClickListener mUpdateAddressListener =
|
||||||
new OnPreferenceClickListener() {
|
new OnPreferenceClickListener() {
|
||||||
/*
|
/*
|
||||||
@@ -346,7 +358,7 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
private void updateButtonWfcMode(Context context, boolean wfcEnabled, int wfcMode) {
|
private void updateButtonWfcMode(Context context, boolean wfcEnabled, int wfcMode) {
|
||||||
mButtonWfcMode.setSummary(getWfcModeSummary(context, wfcMode));
|
mButtonWfcMode.setSummary(getWfcModeSummary(context, wfcMode));
|
||||||
mButtonWfcMode.setEnabled(wfcEnabled);
|
mButtonWfcMode.setEnabled(wfcEnabled && mEditableWfcMode);
|
||||||
|
|
||||||
final PreferenceScreen preferenceScreen = getPreferenceScreen();
|
final PreferenceScreen preferenceScreen = getPreferenceScreen();
|
||||||
boolean updateAddressEnabled = (getCarrierActivityIntent(context) != null);
|
boolean updateAddressEnabled = (getCarrierActivityIntent(context) != null);
|
||||||
@@ -361,7 +373,6 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
preferenceScreen.removePreference(mButtonWfcMode);
|
preferenceScreen.removePreference(mButtonWfcMode);
|
||||||
preferenceScreen.removePreference(mUpdateAddress);
|
preferenceScreen.removePreference(mUpdateAddress);
|
||||||
}
|
}
|
||||||
preferenceScreen.setEnabled(mEditableWfcMode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user