Update Wi-Fi Calling settings
- Update strings - Move WFC mode summary strings to framework/base - Update screens to reflect latest UX requirements Change-Id: Ibcb1a0b6eec2342dfbaa30f90fe728976ad80a0d
This commit is contained in:
@@ -1887,7 +1887,7 @@
|
|||||||
<!-- Wireless networks, item title to go into the WFC settings [CHAR LIMIT=30] -->
|
<!-- Wireless networks, item title to go into the WFC settings [CHAR LIMIT=30] -->
|
||||||
<string name="wifi_calling_settings_title">Wi-Fi calling</string>
|
<string name="wifi_calling_settings_title">Wi-Fi calling</string>
|
||||||
<!-- WFC mode [CHAR LIMIT=30] -->
|
<!-- WFC mode [CHAR LIMIT=30] -->
|
||||||
<string name="wifi_calling_mode_title">Wi-Fi calling mode</string>
|
<string name="wifi_calling_mode_title">Calling preference</string>
|
||||||
<!-- WFC mode dialog [CHAR LIMIT=30] -->
|
<!-- WFC mode dialog [CHAR LIMIT=30] -->
|
||||||
<string name="wifi_calling_mode_dialog_title">Wi-Fi calling mode</string>
|
<string name="wifi_calling_mode_dialog_title">Wi-Fi calling mode</string>
|
||||||
<string-array name="wifi_calling_mode_choices">
|
<string-array name="wifi_calling_mode_choices">
|
||||||
@@ -1900,14 +1900,8 @@
|
|||||||
<item>"1"</item>
|
<item>"1"</item>
|
||||||
<item>"0"</item>
|
<item>"0"</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<!-- WFC, summary for Disabled [CHAR LIMIT=100] -->
|
<!-- Wi-Fi Calling settings. Text displayed when Wi-Fi Calling is off -->
|
||||||
<string name="wifi_calling_off_summary">Off</string>
|
<string name="wifi_calling_off_explanation">When Wi-Fi calling is on, your phone can route calls via Wi-Fi networks or your carrier\'s network, depending on your preference and which signal is stronger. Before turning on this feature, check with your carrier regarding fees and other details.</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>
|
|
||||||
|
|
||||||
<!-- Sound and alerts settings -->
|
<!-- Sound and alerts settings -->
|
||||||
<skip/>
|
<skip/>
|
||||||
|
@@ -37,6 +37,12 @@
|
|||||||
android:summary="@string/nfc_quick_toggle_summary"
|
android:summary="@string/nfc_quick_toggle_summary"
|
||||||
android:persistent="false" />
|
android:persistent="false" />
|
||||||
|
|
||||||
|
<PreferenceScreen
|
||||||
|
android:key="wifi_calling_settings"
|
||||||
|
android:title="@string/wifi_calling_settings_title"
|
||||||
|
settings:keywords="@string/keywords_wifi_calling"
|
||||||
|
android:fragment="com.android.settings.WifiCallingSettings" />
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:fragment="com.android.settings.nfc.AndroidBeam"
|
android:fragment="com.android.settings.nfc.AndroidBeam"
|
||||||
android:key="android_beam_settings"
|
android:key="android_beam_settings"
|
||||||
@@ -63,12 +69,6 @@
|
|||||||
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"
|
|
||||||
settings:keywords="@string/keywords_wifi_calling"
|
|
||||||
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"
|
||||||
|
@@ -25,10 +25,12 @@ import android.content.IntentFilter;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.ListPreference;
|
import android.preference.ListPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
import android.telephony.PhoneStateListener;
|
import android.telephony.PhoneStateListener;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.ims.ImsConfig;
|
import com.android.ims.ImsConfig;
|
||||||
import com.android.ims.ImsManager;
|
import com.android.ims.ImsManager;
|
||||||
@@ -52,6 +54,7 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
private SwitchBar mSwitchBar;
|
private SwitchBar mSwitchBar;
|
||||||
private Switch mSwitch;
|
private Switch mSwitch;
|
||||||
private ListPreference mButtonWfcMode;
|
private ListPreference mButtonWfcMode;
|
||||||
|
private TextView mEmptyView;
|
||||||
|
|
||||||
private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
|
private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
|
||||||
/*
|
/*
|
||||||
@@ -89,6 +92,10 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
mSwitchBar = activity.getSwitchBar();
|
mSwitchBar = activity.getSwitchBar();
|
||||||
mSwitch = mSwitchBar.getSwitch();
|
mSwitch = mSwitchBar.getSwitch();
|
||||||
mSwitchBar.show();
|
mSwitchBar.show();
|
||||||
|
|
||||||
|
mEmptyView = (TextView) getView().findViewById(android.R.id.empty);
|
||||||
|
getListView().setEmptyView(mEmptyView);
|
||||||
|
mEmptyView.setText(R.string.wifi_calling_off_explanation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -106,7 +113,7 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||||
builder.setMessage(message)
|
builder.setMessage(message)
|
||||||
.setTitle(title)
|
.setTitle(title)
|
||||||
.setIcon(android.R.drawable.stat_sys_warning)
|
.setIcon(android.R.drawable.ic_dialog_alert)
|
||||||
.setPositiveButton(android.R.string.ok, null);
|
.setPositiveButton(android.R.string.ok, null);
|
||||||
AlertDialog dialog = builder.create();
|
AlertDialog dialog = builder.create();
|
||||||
dialog.show();
|
dialog.show();
|
||||||
@@ -206,6 +213,13 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
int wfcMode = ImsManager.getWfcMode(context);
|
int wfcMode = ImsManager.getWfcMode(context);
|
||||||
mButtonWfcMode.setSummary(getWfcModeSummary(context, wfcMode));
|
mButtonWfcMode.setSummary(getWfcModeSummary(context, wfcMode));
|
||||||
mButtonWfcMode.setEnabled(isChecked);
|
mButtonWfcMode.setEnabled(isChecked);
|
||||||
|
|
||||||
|
final PreferenceScreen preferenceScreen = getPreferenceScreen();
|
||||||
|
if (isChecked) {
|
||||||
|
preferenceScreen.addPreference(mButtonWfcMode);
|
||||||
|
} else {
|
||||||
|
preferenceScreen.removePreference(mButtonWfcMode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -224,17 +238,17 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int getWfcModeSummary(Context context, int wfcMode) {
|
static int getWfcModeSummary(Context context, int wfcMode) {
|
||||||
int resId = R.string.wifi_calling_off_summary;
|
int resId = com.android.internal.R.string.wifi_calling_off_summary;
|
||||||
if (ImsManager.isWfcEnabledByUser(context)) {
|
if (ImsManager.isWfcEnabledByUser(context)) {
|
||||||
switch (wfcMode) {
|
switch (wfcMode) {
|
||||||
case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
|
case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
|
||||||
resId = R.string.wfc_mode_wifi_only_summary;
|
resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
|
||||||
break;
|
break;
|
||||||
case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
|
case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
|
||||||
resId = R.string.wfc_mode_cellular_preferred_summary;
|
resId = com.android.internal.R.string.wfc_mode_cellular_preferred_summary;
|
||||||
break;
|
break;
|
||||||
case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
|
case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
|
||||||
resId = R.string.wfc_mode_wifi_preferred_summary;
|
resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Log.e(TAG, "Unexpected WFC mode value: " + wfcMode);
|
Log.e(TAG, "Unexpected WFC mode value: " + wfcMode);
|
||||||
|
Reference in New Issue
Block a user