Add Wi-Fi Calling preference screen
Change-Id: Ie89902b55c5c4184236636f5039b3246a9c0bda5
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index e9c39d9..9152870 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -47,6 +47,8 @@
import android.text.TextUtils;
import android.util.Log;
+import com.android.ims.ImsConfig;
+import com.android.ims.ImsManager;
import com.android.internal.telephony.SmsApplication;
import com.android.internal.telephony.SmsApplication.SmsApplicationData;
import com.android.internal.telephony.TelephonyIntents;
@@ -54,6 +56,7 @@
import com.android.settings.nfc.NfcEnabler;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settings.WifiCallingSettings;
import java.util.ArrayList;
import java.util.Arrays;
@@ -76,6 +79,7 @@
private static final String KEY_SMS_APPLICATION = "sms_application";
private static final String KEY_TOGGLE_NSD = "toggle_nsd"; //network service discovery
private static final String KEY_CELL_BROADCAST_SETTINGS = "cell_broadcast_settings";
+ private static final String KEY_WFC_SETTINGS = "wifi_calling_settings";
public static final String EXIT_ECM_RESULT = "exit_ecm_result";
public static final int REQUEST_CODE_EXIT_ECM = 1;
@@ -95,6 +99,7 @@
private static final String SAVED_MANAGE_MOBILE_PLAN_MSG = "mManageMobilePlanMessage";
private AppListPreference mSmsApplicationPreference;
+ private PreferenceScreen mButtonWfc;
/**
* Invoked on each preference click in this hierarchy, overrides
@@ -282,6 +287,12 @@
initSmsApplicationSetting();
}
+ if (ImsManager.isWfcEnabledByPlatform(activity)) {
+ mButtonWfc = (PreferenceScreen) findPreference(KEY_WFC_SETTINGS);
+ } else {
+ removePreference(KEY_WFC_SETTINGS);
+ }
+
// Remove NSD checkbox by default
getPreferenceScreen().removePreference(nsd);
//mNsdEnabler = new NsdEnabler(activity, nsd);
@@ -423,6 +434,12 @@
if (mNsdEnabler != null) {
mNsdEnabler.resume();
}
+
+ final Context context = getActivity();
+ if (ImsManager.isWfcEnabledByPlatform(context)) {
+ mButtonWfc.setSummary(WifiCallingSettings.getWfcModeSummary(
+ context, ImsManager.getWfcMode(context)));
+ }
}
@Override