summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/WifiCallingSettings.java
diff options
context:
space:
mode:
authorSungmin Choi <sungmin.choi@lge.com>2015-12-23 14:24:52 +0900
committerPavel Zhamaitsiak <pavelz@google.com>2016-01-11 11:06:41 -0800
commit577add865a0ca3d225b0fdc248b099ea05984a75 (patch)
treef99ecc2cb7120659a525735b429af444f2605f1f /src/com/android/settings/WifiCallingSettings.java
parent119d589ea5aa9c2ccc5164279d718a20d0865f20 (diff)
downloadpackages_apps_Settings-577add865a0ca3d225b0fdc248b099ea05984a75.zip
packages_apps_Settings-577add865a0ca3d225b0fdc248b099ea05984a75.tar.gz
packages_apps_Settings-577add865a0ca3d225b0fdc248b099ea05984a75.tar.bz2
Select or not Wi-Fi Calling preference as CarrierConfig
Some operators support Wi-Fi Calling only, not VoLTE. They don't need "Cellular preferred" option. In this case, set uneditalbe attribute for preferred preference. Bug: 26299288 Change-Id: I58b44bbd85bb5ef436d32a5e34d7372532695b91
Diffstat (limited to 'src/com/android/settings/WifiCallingSettings.java')
-rw-r--r--src/com/android/settings/WifiCallingSettings.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java
index 787ccb4..f8446f8 100644
--- a/src/com/android/settings/WifiCallingSettings.java
+++ b/src/com/android/settings/WifiCallingSettings.java
@@ -23,9 +23,11 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
+import android.os.PersistableBundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
+import android.telephony.CarrierConfigManager;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
@@ -58,6 +60,7 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
private TextView mEmptyView;
private boolean mValidListener = false;
+ private boolean mEditableWfcMode = true;
private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
/*
@@ -161,6 +164,15 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
mIntentFilter = new IntentFilter();
mIntentFilter.addAction(ImsManager.ACTION_IMS_REGISTRATION_ERROR);
+
+ CarrierConfigManager configManager = (CarrierConfigManager)
+ getSystemService(Context.CARRIER_CONFIG_SERVICE);
+ if (configManager != null) {
+ PersistableBundle b = configManager.getConfig();
+ if (b != null) {
+ mEditableWfcMode = b.getBoolean(CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL);
+ }
+ }
}
@Override
@@ -240,6 +252,7 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
} else {
preferenceScreen.removePreference(mButtonWfcMode);
}
+ preferenceScreen.setEnabled(mEditableWfcMode);
}
@Override