diff options
-rw-r--r-- | res/values/strings.xml | 38 | ||||
-rw-r--r-- | res/xml/development_prefs.xml | 22 | ||||
-rw-r--r-- | res/xml/wifi_calling_settings.xml | 5 | ||||
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 26 | ||||
-rw-r--r-- | src/com/android/settings/WifiCallingSettings.java | 42 |
5 files changed, 67 insertions, 66 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index c956e7b..65e5e91 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1914,10 +1914,6 @@ <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 --> <skip/> @@ -3452,6 +3448,21 @@ <string name="confirm_enable_oem_unlock_text">WARNING: Device protection features will not work on this device while this setting is turned on.</string> + <!-- UI debug setting: limit size of Android logger buffers --> + <string name="select_logd_size_title">Logger buffer sizes</string> + <!-- UI debug setting: limit size of Android logger buffers [CHAR LIMIT=59] --> + <string name="select_logd_size_dialog_title">Select Logger sizes per log buffer</string> + <!-- Setting Checkbox title whether to allow mock locations --> + <string name="allow_mock_location">Allow mock locations</string> + <!-- setting Checkbox summary whether to allow mock locations --> + <string name="allow_mock_location_summary">Allow mock locations</string> + <!-- Setting Checkbox title whether to enable view attribute inspection --> + <string name="debug_view_attributes">Enable view attribute inspection</string> + <!-- Title of warning dialog about the implications of enabling USB debugging --> + + <!-- Preference category for networking debugging development settings. [CHAR LIMIT=50] --> + <string name="debug_networking_category">Networking</string> + <!-- Setting Checkbox title whether to show options for wireless display certification --> <string name="wifi_display_certification">Wireless display certification</string> <!-- Setting Checkbox title whether to enable WiFi Verbose Logging. [CHAR LIMIT=40] --> @@ -3460,6 +3471,9 @@ <string name="wifi_aggressive_handover">Aggressive Wi\u2011Fi to Cellular handover</string> <!-- Setting Checkbox title whether to enable WiFi Scanning in the presence of traffic. [CHAR LIMIT=80] --> <string name="wifi_allow_scan_with_traffic">Always allow Wi\u2011Fi Roam Scans</string> + <!-- Setting Checkbox title whether to enable WiFi Scanning in the presence of traffic. [CHAR LIMIT=80] --> + <string name="legacy_dhcp_client">Use legacy DHCP client</string> + <!-- setting Checkbox summary whether to show options for wireless display certification --> <string name="wifi_display_certification_summary">Show options for wireless display certification</string> <!-- Setting Checkbox summary whether to enable Wifi verbose Logging [CHAR LIMIT=80] --> @@ -3468,17 +3482,9 @@ <string name="wifi_aggressive_handover_summary">When enabled, Wi\u2011Fi will be more aggressive in handing over the data connection to Cellular, when Wi\u2011Fi signal is low</string> <!-- Setting Checkbox summary whether to always allow WiFi Roam Scans [CHAR LIMIT=130] --> <string name="wifi_allow_scan_with_traffic_summary">Allow/Disallow Wi\u2011Fi Roam Scans based on the amount of data traffic present at the interface</string> - <!-- UI debug setting: limit size of Android logger buffers --> - <string name="select_logd_size_title">Logger buffer sizes</string> - <!-- UI debug setting: limit size of Android logger buffers [CHAR LIMIT=59] --> - <string name="select_logd_size_dialog_title">Select Logger sizes per log buffer</string> - <!-- Setting Checkbox title whether to allow mock locations --> - <string name="allow_mock_location">Allow mock locations</string> - <!-- setting Checkbox summary whether to allow mock locations --> - <string name="allow_mock_location_summary">Allow mock locations</string> - <!-- Setting Checkbox title whether to enable view attribute inspection --> - <string name="debug_view_attributes">Enable view attribute inspection</string> - <!-- Title of warning dialog about the implications of enabling USB debugging --> + <!-- Setting Checkbox summary whether to use DHCP client from Lollipop (Android 5.0) [CHAR LIMIT=130] --> + <string name="legacy_dhcp_client_summary">Use the DHCP client from Lollipop instead of the new Android DHCP client.</string> + <string name="adb_warning_title">Allow USB debugging?</string> <!-- Warning text to user about the implications of enabling USB debugging --> <string name="adb_warning_message">USB debugging is intended for development purposes only. Use it to copy data between your computer and your device, install apps on your device without notification, and read log data.</string> @@ -5643,7 +5649,7 @@ <string name="keywords_wifi">wifi wi-fi network connection</string> <string name="keywords_more_default_sms_app">text message texting messages messaging</string> <string name="keywords_more_mobile_networks">cellular cell carrier wireless data 4g 3g 2g lte</string> - <string name="keywords_wifi_calling">wifi wi-fi call calling roaming handoff</string> + <string name="keywords_wifi_calling">wifi wi-fi call calling</string> <string name="keywords_home">launcher</string> <string name="keywords_display">screen touchscreen</string> <string name="keywords_display_brightness_level">dim screen touchscreen battery</string> diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index f31d556..1a03c2c 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -103,6 +103,18 @@ android:title="@string/verify_apps_over_usb_title" android:summary="@string/verify_apps_over_usb_summary"/> + <ListPreference + android:key="select_logd_size" + android:title="@string/select_logd_size_title" + android:dialogTitle="@string/select_logd_size_dialog_title" + android:entries="@array/select_logd_size_titles" + android:entryValues="@array/select_logd_size_values" /> + + </PreferenceCategory> + + <PreferenceCategory android:key="debug_networking_category" + android:title="@string/debug_networking_category"> + <SwitchPreference android:key="wifi_display_certification" android:title="@string/wifi_display_certification" @@ -123,12 +135,10 @@ android:title="@string/wifi_allow_scan_with_traffic" /> android:summary="@string/wifi_allow_scan_with_traffic_summary"/> - <ListPreference - android:key="select_logd_size" - android:title="@string/select_logd_size_title" - android:dialogTitle="@string/select_logd_size_dialog_title" - android:entries="@array/select_logd_size_titles" - android:entryValues="@array/select_logd_size_values" /> + <SwitchPreference + android:key="legacy_dhcp_client" + android:title="@string/legacy_dhcp_client" /> + android:summary="@string/legacy_dhcp_client_summary"/> </PreferenceCategory> diff --git a/res/xml/wifi_calling_settings.xml b/res/xml/wifi_calling_settings.xml index 37a2d28..ca4e560 100644 --- a/res/xml/wifi_calling_settings.xml +++ b/res/xml/wifi_calling_settings.xml @@ -26,9 +26,4 @@ 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> diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index a001fd7..51177e1 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -135,13 +135,16 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final String OVERLAY_DISPLAY_DEVICES_KEY = "overlay_display_devices"; private static final String DEBUG_DEBUGGING_CATEGORY_KEY = "debug_debugging_category"; private static final String DEBUG_APPLICATIONS_CATEGORY_KEY = "debug_applications_category"; + private static final String SELECT_LOGD_SIZE_KEY = "select_logd_size"; + private static final String SELECT_LOGD_SIZE_PROPERTY = "persist.logd.size"; + private static final String SELECT_LOGD_DEFAULT_SIZE_PROPERTY = "ro.logd.size"; + + private static final String DEBUG_NETWORKING_CATEGORY_KEY = "debug_networking_category"; private static final String WIFI_DISPLAY_CERTIFICATION_KEY = "wifi_display_certification"; private static final String WIFI_VERBOSE_LOGGING_KEY = "wifi_verbose_logging"; private static final String WIFI_AGGRESSIVE_HANDOVER_KEY = "wifi_aggressive_handover"; private static final String WIFI_ALLOW_SCAN_WITH_TRAFFIC_KEY = "wifi_allow_scan_with_traffic"; - private static final String SELECT_LOGD_SIZE_KEY = "select_logd_size"; - private static final String SELECT_LOGD_SIZE_PROPERTY = "persist.logd.size"; - private static final String SELECT_LOGD_DEFAULT_SIZE_PROPERTY = "ro.logd.size"; + private static final String WIFI_LEGACY_DHCP_CLIENT_KEY = "legacy_dhcp_client"; private static final String OPENGL_TRACES_KEY = "enable_opengl_traces"; @@ -197,6 +200,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private SwitchPreference mWifiDisplayCertification; private SwitchPreference mWifiVerboseLogging; private SwitchPreference mWifiAggressiveHandover; + private SwitchPreference mLegacyDhcpClient; private SwitchPreference mWifiAllowScansWithTraffic; private SwitchPreference mStrictMode; @@ -336,6 +340,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mWifiVerboseLogging = findAndInitSwitchPref(WIFI_VERBOSE_LOGGING_KEY); mWifiAggressiveHandover = findAndInitSwitchPref(WIFI_AGGRESSIVE_HANDOVER_KEY); mWifiAllowScansWithTraffic = findAndInitSwitchPref(WIFI_ALLOW_SCAN_WITH_TRAFFIC_KEY); + mLegacyDhcpClient = findAndInitSwitchPref(WIFI_LEGACY_DHCP_CLIENT_KEY); mLogdSize = addListPreference(SELECT_LOGD_SIZE_KEY); mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY); @@ -543,6 +548,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateWifiVerboseLoggingOptions(); updateWifiAggressiveHandoverOptions(); updateWifiAllowScansWithTrafficOptions(); + updateLegacyDhcpClientOptions(); updateSimulateColorSpace(); updateUseNuplayerOptions(); updateUSBAudioOptions(); @@ -1073,6 +1079,18 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mWifiManager.setAllowScansWithTraffic(mWifiAllowScansWithTraffic.isChecked() ? 1 : 0); } + private void updateLegacyDhcpClientOptions() { + updateSwitchPreference(mLegacyDhcpClient, Settings.Global.getInt( + getActivity().getContentResolver(), + Settings.Global.LEGACY_DHCP_CLIENT, 0) != 0); + } + + private void writeLegacyDhcpClientOptions() { + Settings.Global.putInt(getActivity().getContentResolver(), + Settings.Global.LEGACY_DHCP_CLIENT, + mLegacyDhcpClient.isChecked() ? 1 : 0); + } + private void updateLogdSizeValues() { if (mLogdSize != null) { String currentValue = SystemProperties.get(SELECT_LOGD_SIZE_PROPERTY); @@ -1450,6 +1468,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment writeWifiAggressiveHandoverOptions(); } else if (preference == mWifiAllowScansWithTraffic) { writeWifiAllowScansWithTrafficOptions(); + } else if (preference == mLegacyDhcpClient) { + writeLegacyDhcpClientOptions(); } else if (preference == mUseAwesomePlayer) { writeUseAwesomePlayerOptions(); } else if (preference == mUSBAudio) { diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java index dacdc7b..8e2c7ed 100644 --- a/src/com/android/settings/WifiCallingSettings.java +++ b/src/com/android/settings/WifiCallingSettings.java @@ -25,7 +25,6 @@ import android.content.IntentFilter; 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; @@ -38,8 +37,7 @@ 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. + * enable/disable Wi-Fi Calling and change Wi-Fi Calling mode. */ public class WifiCallingSettings extends SettingsPreferenceFragment implements SwitchBar.OnSwitchChangeListener, @@ -49,13 +47,11 @@ public class WifiCallingSettings extends SettingsPreferenceFragment //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() { /* @@ -77,18 +73,9 @@ public class WifiCallingSettings extends SettingsPreferenceFragment && 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)); } } }; @@ -131,7 +118,7 @@ public class WifiCallingSettings extends SettingsPreferenceFragment @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - if (action.equals(ImsPhone.REGISTRATION_ERROR)) { + if (action.equals(ImsManager.ACTION_IMS_REGISTRATION_ERROR)) { // If this fragment is active then we are immediately // showing alert on screen. There is no need to add // notification in this case. @@ -140,6 +127,9 @@ public class WifiCallingSettings extends SettingsPreferenceFragment // not show notification, we are changing result code here. setResultCode(Activity.RESULT_CANCELED); + // UX requirement is to disable WFC in case of "permanent" registration failures. + mSwitch.setChecked(false); + showAlert(intent); } } @@ -154,11 +144,8 @@ public class WifiCallingSettings extends SettingsPreferenceFragment mButtonWfcMode = (ListPreference) findPreference(BUTTON_WFC_MODE); mButtonWfcMode.setOnPreferenceChangeListener(this); - mButtonWfcRoam = (SwitchPreference) findPreference(BUTTON_WFC_ROAM); - mButtonWfcRoam.setOnPreferenceChangeListener(this); - mIntentFilter = new IntentFilter(); - mIntentFilter.addAction(ImsPhone.REGISTRATION_ERROR); + mIntentFilter.addAction(ImsManager.ACTION_IMS_REGISTRATION_ERROR); } @Override @@ -183,10 +170,6 @@ public class WifiCallingSettings extends SettingsPreferenceFragment mButtonWfcMode.setValue(Integer.toString(wfcMode)); mButtonWfcMode.setSummary(getWfcModeSummary(context, wfcMode)); - mButtonWfcRoam.setChecked(wfcEnabled - && (wfcMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY) - && ImsManager.isWfcRoamingEnabledByUser(context)); - context.registerReceiver(mIntentReceiver, mIntentFilter); Intent intent = getActivity().getIntent(); @@ -223,10 +206,6 @@ public class WifiCallingSettings extends SettingsPreferenceFragment int wfcMode = ImsManager.getWfcMode(context); mButtonWfcMode.setSummary(getWfcModeSummary(context, wfcMode)); mButtonWfcMode.setEnabled(isChecked); - boolean wfcHandoffEnabled = (wfcMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY); - mButtonWfcRoam.setEnabled(isChecked && wfcHandoffEnabled); - mButtonWfcRoam.setChecked(isChecked && wfcHandoffEnabled - && ImsManager.isWfcRoamingEnabledByUser(context)); } @Override @@ -240,15 +219,6 @@ public class WifiCallingSettings extends SettingsPreferenceFragment 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; } |