Add Wi-Fi Calling preference screen
Change-Id: Ie89902b55c5c4184236636f5039b3246a9c0bda5
This commit is contained in:
@@ -2058,6 +2058,23 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity android:name="Settings$WifiCallingSettingsActivity"
|
||||||
|
android:label="@string/wifi_calling_settings_title"
|
||||||
|
android:taskAffinity="">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<action android:name="android.settings.WIFI_CALLING_SETTINGS" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.VOICE_LAUNCH" />
|
||||||
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
|
android:value="com.android.settings.WifiCallingSettings" />
|
||||||
|
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
|
||||||
|
android:value="true" />
|
||||||
|
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
|
||||||
|
android:resource="@id/wireless_settings" />
|
||||||
|
</activity>
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name=".search.SettingsSearchIndexablesProvider"
|
android:name=".search.SettingsSearchIndexablesProvider"
|
||||||
android:authorities="com.android.settings"
|
android:authorities="com.android.settings"
|
||||||
|
@@ -1884,6 +1884,35 @@
|
|||||||
Label on Wifi Configuration screen-->
|
Label on Wifi Configuration screen-->
|
||||||
<string name="config_list_label" translatable="false">Configured networks</string>
|
<string name="config_list_label" translatable="false">Configured networks</string>
|
||||||
|
|
||||||
|
<!-- Wireless networks, item title to go into the WFC settings -->
|
||||||
|
<string name="wifi_calling_settings_title">Wi-Fi calling</string>
|
||||||
|
<!-- WFC mode [CHAR LIMIT=30] -->
|
||||||
|
<string name="wifi_calling_mode_title">Wi-Fi calling mode</string>
|
||||||
|
<!-- WFC mode dialog [CHAR LIMIT=30] -->
|
||||||
|
<string name="wifi_calling_mode_dialog_title">Wi-Fi calling mode</string>
|
||||||
|
<string-array name="wifi_calling_mode_choices">
|
||||||
|
<item>Wi-Fi preferred</item>
|
||||||
|
<item>Cellular preferred</item>
|
||||||
|
<item>Wi-Fi only</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="wifi_calling_mode_values">
|
||||||
|
<item>"2"</item>
|
||||||
|
<item>"1"</item>
|
||||||
|
<item>"0"</item>
|
||||||
|
</string-array>
|
||||||
|
<!-- WFC, summary for Disabled [CHAR LIMIT=100] -->
|
||||||
|
<string name="wifi_calling_off_summary">Off</string>
|
||||||
|
<!-- WFC, summary for Wi-Fi Preferred [CHAR LIMIT=100] -->
|
||||||
|
<string name="wfc_mode_wifi_preferred_summary">Wi-Fi preferred (Uses cell network only if Wi-Fi isn\'t available)</string>
|
||||||
|
<!-- WFC, summary for Cellular Preferred [CHAR LIMIT=100] -->
|
||||||
|
<string name="wfc_mode_cellular_preferred_summary">Cellular preferred (Uses Wi-Fi only if cell network isn\'t available)</string>
|
||||||
|
<!-- WFC, summary for Wi-Fi Only [CHAR LIMIT=100] -->
|
||||||
|
<string name="wfc_mode_wifi_only_summary">Wi-Fi only (Never uses cell network. Can\'t make or receive calls if Wi-Fi isn\'t available)</string>
|
||||||
|
<!-- WFC roam enable/disable [CHAR LIMIT=30] -->
|
||||||
|
<string name="wifi_calling_roam_title">WFC handoff while roaming</string>
|
||||||
|
<!-- WFC roam summary [CHAR LIMIT=80] -->
|
||||||
|
<string name="wifi_calling_roam_summary">Allow Wi-Fi voice calls handoff to cell network when roaming</string>
|
||||||
|
|
||||||
<!-- Sound and alerts settings -->
|
<!-- Sound and alerts settings -->
|
||||||
<skip/>
|
<skip/>
|
||||||
<!-- Main Settings screen setting option name to go into the display settings screen -->
|
<!-- Main Settings screen setting option name to go into the display settings screen -->
|
||||||
|
34
res/xml/wifi_calling_settings.xml
Normal file
34
res/xml/wifi_calling_settings.xml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2015 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:key="wifi_calling_settings"
|
||||||
|
android:title="@string/wifi_calling_settings_title">
|
||||||
|
|
||||||
|
<ListPreference
|
||||||
|
android:key="wifi_calling_mode"
|
||||||
|
android:title="@string/wifi_calling_mode_title"
|
||||||
|
android:summary="@string/wifi_calling_mode_title"
|
||||||
|
android:entries="@array/wifi_calling_mode_choices"
|
||||||
|
android:entryValues="@array/wifi_calling_mode_values"
|
||||||
|
android:dialogTitle="@string/wifi_calling_mode_dialog_title" />
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:key="wifi_calling_roam"
|
||||||
|
android:title="@string/wifi_calling_roam_title"
|
||||||
|
android:persistent="false"/>
|
||||||
|
|
||||||
|
</PreferenceScreen>
|
@@ -63,6 +63,11 @@
|
|||||||
android:targetClass="com.android.phone.MobileNetworkSettings" />
|
android:targetClass="com.android.phone.MobileNetworkSettings" />
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
|
<PreferenceScreen
|
||||||
|
android:key="wifi_calling_settings"
|
||||||
|
android:title="@string/wifi_calling_settings_title"
|
||||||
|
android:fragment="com.android.settings.WifiCallingSettings" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="manage_mobile_plan"
|
android:key="manage_mobile_plan"
|
||||||
android:title="@string/manage_mobile_plan_title"
|
android:title="@string/manage_mobile_plan_title"
|
||||||
|
@@ -101,5 +101,6 @@ public class Settings extends SettingsActivity {
|
|||||||
|
|
||||||
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
|
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
|
||||||
public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
|
public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
|
||||||
|
public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -112,6 +112,7 @@ import com.android.settings.wifi.AdvancedWifiSettings;
|
|||||||
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
||||||
import com.android.settings.wifi.WifiSettings;
|
import com.android.settings.wifi.WifiSettings;
|
||||||
import com.android.settings.wifi.p2p.WifiP2pSettings;
|
import com.android.settings.wifi.p2p.WifiP2pSettings;
|
||||||
|
import com.android.settings.WifiCallingSettings;
|
||||||
|
|
||||||
import org.xmlpull.v1.XmlPullParser;
|
import org.xmlpull.v1.XmlPullParser;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
@@ -302,7 +303,8 @@ public class SettingsActivity extends Activity
|
|||||||
AppNotificationSettings.class.getName(),
|
AppNotificationSettings.class.getName(),
|
||||||
OtherSoundSettings.class.getName(),
|
OtherSoundSettings.class.getName(),
|
||||||
QuickLaunchSettings.class.getName(),
|
QuickLaunchSettings.class.getName(),
|
||||||
ApnSettings.class.getName()
|
ApnSettings.class.getName(),
|
||||||
|
WifiCallingSettings.class.getName()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
220
src/com/android/settings/WifiCallingSettings.java
Normal file
220
src/com/android/settings/WifiCallingSettings.java
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2015 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.preference.ListPreference;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.SwitchPreference;
|
||||||
|
import android.telephony.PhoneStateListener;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.widget.Switch;
|
||||||
|
|
||||||
|
import com.android.ims.ImsConfig;
|
||||||
|
import com.android.ims.ImsManager;
|
||||||
|
import com.android.settings.search.Indexable;
|
||||||
|
import com.android.settings.widget.SwitchBar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* "Wi-Fi Calling settings" screen. This preference screen lets you
|
||||||
|
* enable/disable Wi-Fi Calling, change mode, enable/disable
|
||||||
|
* handover while on roaming.
|
||||||
|
*/
|
||||||
|
public class WifiCallingSettings extends SettingsPreferenceFragment
|
||||||
|
implements SwitchBar.OnSwitchChangeListener,
|
||||||
|
Preference.OnPreferenceChangeListener, Indexable {
|
||||||
|
|
||||||
|
private static final String TAG = "WifiCallingSettings";
|
||||||
|
|
||||||
|
//String keys for preference lookup
|
||||||
|
private static final String BUTTON_WFC_MODE = "wifi_calling_mode";
|
||||||
|
private static final String BUTTON_WFC_ROAM = "wifi_calling_roam";
|
||||||
|
|
||||||
|
//UI objects
|
||||||
|
private SwitchBar mSwitchBar;
|
||||||
|
private Switch mSwitch;
|
||||||
|
private ListPreference mButtonWfcMode;
|
||||||
|
private SwitchPreference mButtonWfcRoam;
|
||||||
|
|
||||||
|
private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
|
||||||
|
/*
|
||||||
|
* Enable/disable controls when in/out of a call and depending on
|
||||||
|
* TTY mode and TTY support over VoLTE.
|
||||||
|
* @see android.telephony.PhoneStateListener#onCallStateChanged(int,
|
||||||
|
* java.lang.String)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onCallStateChanged(int state, String incomingNumber) {
|
||||||
|
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||||
|
boolean isNonTtyOrTtyOnVolteEnabled = ImsManager
|
||||||
|
.isNonTtyOrTtyOnVolteEnabled(activity);
|
||||||
|
final SwitchBar switchBar = activity.getSwitchBar();
|
||||||
|
boolean isWfcEnabled = switchBar.getSwitch().isChecked()
|
||||||
|
&& isNonTtyOrTtyOnVolteEnabled;
|
||||||
|
|
||||||
|
switchBar.setEnabled((state == TelephonyManager.CALL_STATE_IDLE)
|
||||||
|
&& isNonTtyOrTtyOnVolteEnabled);
|
||||||
|
|
||||||
|
Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
|
||||||
|
int wfcMode = ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY;
|
||||||
|
if (pref != null) {
|
||||||
|
pref.setEnabled(isWfcEnabled
|
||||||
|
&& (state == TelephonyManager.CALL_STATE_IDLE));
|
||||||
|
ListPreference prefWfcMode = (ListPreference) pref;
|
||||||
|
wfcMode = Integer.valueOf(prefWfcMode.getValue()).intValue();
|
||||||
|
}
|
||||||
|
pref = getPreferenceScreen().findPreference(BUTTON_WFC_ROAM);
|
||||||
|
if (pref != null) {
|
||||||
|
pref.setEnabled(isWfcEnabled
|
||||||
|
&& (wfcMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY)
|
||||||
|
&& (state == TelephonyManager.CALL_STATE_IDLE));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
|
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||||
|
|
||||||
|
mSwitchBar = activity.getSwitchBar();
|
||||||
|
mSwitch = mSwitchBar.getSwitch();
|
||||||
|
mSwitchBar.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroyView() {
|
||||||
|
super.onDestroyView();
|
||||||
|
mSwitchBar.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
addPreferencesFromResource(R.xml.wifi_calling_settings);
|
||||||
|
|
||||||
|
mButtonWfcMode = (ListPreference) findPreference(BUTTON_WFC_MODE);
|
||||||
|
mButtonWfcMode.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
|
mButtonWfcRoam = (SwitchPreference) findPreference(BUTTON_WFC_ROAM);
|
||||||
|
mButtonWfcRoam.setOnPreferenceChangeListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
|
||||||
|
final Context context = getActivity();
|
||||||
|
|
||||||
|
if (ImsManager.isWfcEnabledByPlatform(context)) {
|
||||||
|
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
|
tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
|
||||||
|
|
||||||
|
mSwitchBar.addOnSwitchChangeListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOTE: Buttons will be enabled/disabled in mPhoneStateListener
|
||||||
|
boolean wfcEnabled = ImsManager.isWfcEnabledByUser(context)
|
||||||
|
&& ImsManager.isNonTtyOrTtyOnVolteEnabled(context);
|
||||||
|
mSwitch.setChecked(wfcEnabled);
|
||||||
|
|
||||||
|
int wfcMode = ImsManager.getWfcMode(context);
|
||||||
|
mButtonWfcMode.setValue(Integer.toString(wfcMode));
|
||||||
|
mButtonWfcMode.setSummary(getWfcModeSummary(context, ImsManager.getWfcMode(context)));
|
||||||
|
|
||||||
|
mButtonWfcRoam.setChecked(wfcEnabled
|
||||||
|
&& (wfcMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY)
|
||||||
|
&& ImsManager.isWfcRoamingEnabledByUser(context));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
|
||||||
|
if (ImsManager.isWfcEnabledByPlatform(getActivity())) {
|
||||||
|
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
|
tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
|
||||||
|
|
||||||
|
mSwitchBar.removeOnSwitchChangeListener(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Listens to the state change of the switch.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
||||||
|
final Context context = getActivity();
|
||||||
|
|
||||||
|
ImsManager.setWfcSetting(context, isChecked);
|
||||||
|
|
||||||
|
mButtonWfcMode.setEnabled(isChecked);
|
||||||
|
boolean wfcHandoffEnabled = (ImsManager.getWfcMode(context)
|
||||||
|
!= ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY);
|
||||||
|
mButtonWfcRoam.setEnabled(isChecked && wfcHandoffEnabled);
|
||||||
|
mButtonWfcRoam.setChecked(isChecked && wfcHandoffEnabled
|
||||||
|
&& ImsManager.isWfcRoamingEnabledByUser(context));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
final Context context = getActivity();
|
||||||
|
if (preference == mButtonWfcMode) {
|
||||||
|
mButtonWfcMode.setValue((String) newValue);
|
||||||
|
int buttonMode = Integer.valueOf((String) newValue);
|
||||||
|
int currentMode = ImsManager.getWfcMode(context);
|
||||||
|
if (buttonMode != currentMode) {
|
||||||
|
ImsManager.setWfcMode(context, buttonMode);
|
||||||
|
mButtonWfcMode.setSummary(getWfcModeSummary(context, buttonMode));
|
||||||
|
}
|
||||||
|
boolean wfcHandoffEnabled =
|
||||||
|
(buttonMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY);
|
||||||
|
mButtonWfcRoam.setEnabled(wfcHandoffEnabled);
|
||||||
|
mButtonWfcRoam.setChecked(wfcHandoffEnabled &&
|
||||||
|
ImsManager.isWfcRoamingEnabledByUser(context));
|
||||||
|
} else if (preference == mButtonWfcRoam) {
|
||||||
|
SwitchPreference wfcRoamPref = (SwitchPreference) preference;
|
||||||
|
wfcRoamPref.setChecked(!wfcRoamPref.isChecked());
|
||||||
|
ImsManager.setWfcRoamingSetting(context, wfcRoamPref.isChecked());
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int getWfcModeSummary(Context context, int wfcMode) {
|
||||||
|
int resId = R.string.wifi_calling_off_summary;
|
||||||
|
if (ImsManager.isWfcEnabledByUser(context)) {
|
||||||
|
switch (wfcMode) {
|
||||||
|
case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
|
||||||
|
resId = R.string.wfc_mode_wifi_only_summary;
|
||||||
|
break;
|
||||||
|
case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
|
||||||
|
resId = R.string.wfc_mode_cellular_preferred_summary;
|
||||||
|
break;
|
||||||
|
case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
|
||||||
|
resId = R.string.wfc_mode_wifi_preferred_summary;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Log.e(TAG, "Unexpected WFC mode value: " + wfcMode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resId;
|
||||||
|
}
|
||||||
|
}
|
@@ -47,6 +47,8 @@ import android.telephony.TelephonyManager;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
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;
|
||||||
import com.android.internal.telephony.SmsApplication.SmsApplicationData;
|
import com.android.internal.telephony.SmsApplication.SmsApplicationData;
|
||||||
import com.android.internal.telephony.TelephonyIntents;
|
import com.android.internal.telephony.TelephonyIntents;
|
||||||
@@ -54,6 +56,7 @@ import com.android.internal.telephony.TelephonyProperties;
|
|||||||
import com.android.settings.nfc.NfcEnabler;
|
import com.android.settings.nfc.NfcEnabler;
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.search.Indexable;
|
import com.android.settings.search.Indexable;
|
||||||
|
import com.android.settings.WifiCallingSettings;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -76,6 +79,7 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
|||||||
private static final String KEY_SMS_APPLICATION = "sms_application";
|
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_TOGGLE_NSD = "toggle_nsd"; //network service discovery
|
||||||
private static final String KEY_CELL_BROADCAST_SETTINGS = "cell_broadcast_settings";
|
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 String EXIT_ECM_RESULT = "exit_ecm_result";
|
||||||
public static final int REQUEST_CODE_EXIT_ECM = 1;
|
public static final int REQUEST_CODE_EXIT_ECM = 1;
|
||||||
@@ -95,6 +99,7 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
|||||||
private static final String SAVED_MANAGE_MOBILE_PLAN_MSG = "mManageMobilePlanMessage";
|
private static final String SAVED_MANAGE_MOBILE_PLAN_MSG = "mManageMobilePlanMessage";
|
||||||
|
|
||||||
private AppListPreference mSmsApplicationPreference;
|
private AppListPreference mSmsApplicationPreference;
|
||||||
|
private PreferenceScreen mButtonWfc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invoked on each preference click in this hierarchy, overrides
|
* Invoked on each preference click in this hierarchy, overrides
|
||||||
@@ -282,6 +287,12 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
|||||||
initSmsApplicationSetting();
|
initSmsApplicationSetting();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ImsManager.isWfcEnabledByPlatform(activity)) {
|
||||||
|
mButtonWfc = (PreferenceScreen) findPreference(KEY_WFC_SETTINGS);
|
||||||
|
} else {
|
||||||
|
removePreference(KEY_WFC_SETTINGS);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove NSD checkbox by default
|
// Remove NSD checkbox by default
|
||||||
getPreferenceScreen().removePreference(nsd);
|
getPreferenceScreen().removePreference(nsd);
|
||||||
//mNsdEnabler = new NsdEnabler(activity, nsd);
|
//mNsdEnabler = new NsdEnabler(activity, nsd);
|
||||||
@@ -423,6 +434,12 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
|||||||
if (mNsdEnabler != null) {
|
if (mNsdEnabler != null) {
|
||||||
mNsdEnabler.resume();
|
mNsdEnabler.resume();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Context context = getActivity();
|
||||||
|
if (ImsManager.isWfcEnabledByPlatform(context)) {
|
||||||
|
mButtonWfc.setSummary(WifiCallingSettings.getWfcModeSummary(
|
||||||
|
context, ImsManager.getWfcMode(context)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -47,6 +47,7 @@ import com.android.settings.voice.VoiceInputSettings;
|
|||||||
import com.android.settings.wifi.AdvancedWifiSettings;
|
import com.android.settings.wifi.AdvancedWifiSettings;
|
||||||
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
||||||
import com.android.settings.wifi.WifiSettings;
|
import com.android.settings.wifi.WifiSettings;
|
||||||
|
import com.android.settings.WifiCallingSettings;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
@@ -104,6 +105,7 @@ public final class Ranking {
|
|||||||
|
|
||||||
// Other wireless settinfs
|
// Other wireless settinfs
|
||||||
sRankMap.put(WirelessSettings.class.getName(), RANK_WIRELESS);
|
sRankMap.put(WirelessSettings.class.getName(), RANK_WIRELESS);
|
||||||
|
sRankMap.put(WifiCallingSettings.class.getName(), RANK_WIRELESS);
|
||||||
|
|
||||||
// Home
|
// Home
|
||||||
sRankMap.put(HomeSettings.class.getName(), RANK_HOME);
|
sRankMap.put(HomeSettings.class.getName(), RANK_HOME);
|
||||||
|
@@ -49,6 +49,7 @@ import com.android.settings.voice.VoiceInputSettings;
|
|||||||
import com.android.settings.wifi.AdvancedWifiSettings;
|
import com.android.settings.wifi.AdvancedWifiSettings;
|
||||||
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
||||||
import com.android.settings.wifi.WifiSettings;
|
import com.android.settings.wifi.WifiSettings;
|
||||||
|
import com.android.settings.WifiCallingSettings;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -270,6 +271,13 @@ public final class SearchIndexableResources {
|
|||||||
NO_DATA_RES_ID,
|
NO_DATA_RES_ID,
|
||||||
DeviceInfoSettings.class.getName(),
|
DeviceInfoSettings.class.getName(),
|
||||||
R.drawable.ic_settings_about));
|
R.drawable.ic_settings_about));
|
||||||
|
|
||||||
|
sResMap.put(WifiCallingSettings.class.getName(),
|
||||||
|
new SearchIndexableResource(
|
||||||
|
Ranking.getRankForClassName(WifiCallingSettings.class.getName()),
|
||||||
|
R.xml.wifi_calling_settings,
|
||||||
|
WifiCallingSettings.class.getName(),
|
||||||
|
R.drawable.ic_settings_wireless));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SearchIndexableResources() {
|
private SearchIndexableResources() {
|
||||||
|
Reference in New Issue
Block a user