Merge "[WifiSetup] Don't pan the window for IME" into lmp-mr1-dev
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 07f93b6..6b0179d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -1731,24 +1731,24 @@
<string name="menu_proc_stats_type_background" msgid="2236161340134898852">"Baggrund"</string>
<string name="menu_proc_stats_type_foreground" msgid="2286182659954958586">"Forgrund"</string>
<string name="menu_proc_stats_type_cached" msgid="5084272779786820693">"Cachelagret"</string>
- <string name="voice_input_output_settings" msgid="1336135218350444783">"Taleinput og -output"</string>
+ <string name="voice_input_output_settings" msgid="1336135218350444783">"Indtaling og oplæsning"</string>
<string name="voice_input_output_settings_title" msgid="2442850635048676991">"Indstillinger for taleinput og -output"</string>
<string name="voice_search_settings_title" msgid="2775469246913196536">"Talesøgning"</string>
<string name="keyboard_settings_title" msgid="5080115226780201234">"Android-tastatur"</string>
<string name="voice_category" msgid="1430370497125803904">"Tale"</string>
- <string name="voice_input_settings" msgid="1099937800539324567">"Indstillinger for taleinput"</string>
- <string name="voice_input_settings_title" msgid="2676028028084981891">"Taleinput"</string>
- <string name="voice_service_preference_section_title" msgid="3778706644257601021">"Stemmeinputtjenester"</string>
+ <string name="voice_input_settings" msgid="1099937800539324567">"Indstillinger for indtaling"</string>
+ <string name="voice_input_settings_title" msgid="2676028028084981891">"Indtaling"</string>
+ <string name="voice_service_preference_section_title" msgid="3778706644257601021">"Indtalingstjenester"</string>
<string name="voice_interactor_preference_summary" msgid="1801414022026937190">"Komplet kommandoord og handling"</string>
- <string name="voice_recognizer_preference_summary" msgid="669880813593690527">"Enkel tale-til-tekst"</string>
- <string name="voice_interaction_security_warning" msgid="6378608263983737325">"Denne tjeneste til taleinput vil kunne udføre stemmeovervågning, der altid er slået til, og styre stemmeaktiverede programmer på dine vegne. Den kommer fra applikationen <xliff:g id="VOICE_INPUT_SERVICE_APP_NAME">%s</xliff:g>. Vil du aktivere brugen af denne tjeneste?"</string>
- <string name="tts_settings" msgid="8186971894801348327">"Indstillinger for tekst-til-tale"</string>
- <string name="tts_settings_title" msgid="1237820681016639683">"Tekst-til-tale"</string>
+ <string name="voice_recognizer_preference_summary" msgid="669880813593690527">"Enkel oplæsning"</string>
+ <string name="voice_interaction_security_warning" msgid="6378608263983737325">"Denne indtalingstjeneste vil kunne foretage lydovervågning, der altid er slået til, og styre taleaktiverede apps på dine vegne. Den kommer fra appen <xliff:g id="VOICE_INPUT_SERVICE_APP_NAME">%s</xliff:g>. Vil du aktivere brugen af denne tjeneste?"</string>
+ <string name="tts_settings" msgid="8186971894801348327">"Indstillinger for oplæsning"</string>
+ <string name="tts_settings_title" msgid="1237820681016639683">"Oplæsning"</string>
<string name="use_default_tts_settings_title" msgid="1577063839539732930">"Brug altid mine indstil."</string>
<string name="use_default_tts_settings_summary" msgid="5916421806783703823">"Standardindstillingerne nedenfor tilsidesætter indstillinger for app"</string>
<string name="tts_default_settings_section" msgid="5787915620218907443">"Standardindstillinger"</string>
<string name="tts_default_synth_title" msgid="4755558388333117572">"Standardmaskine"</string>
- <string name="tts_default_synth_summary" msgid="6482936537135251690">"Indstiller den talesyntesemaskine, der skal bruges til talt tekst."</string>
+ <string name="tts_default_synth_summary" msgid="6482936537135251690">"Angiver den talesyntesemaskine, der skal bruges til oplæsning af tekst."</string>
<string name="tts_default_rate_title" msgid="6030550998379310088">"Talehastighed"</string>
<string name="tts_default_rate_summary" msgid="4061815292287182801">"Oplæsningshastighed for tekst"</string>
<string name="tts_default_pitch_title" msgid="6135942113172488671">"Tonehøjde"</string>
@@ -1767,7 +1767,7 @@
<string name="tts_engine_error_config" msgid="5820525416624637313">"Konfigurer"</string>
<string name="tts_engine_error_reselect" msgid="2415399149293842112">"Vælg en anden maskine"</string>
<string name="tts_engine_security_warning" msgid="8786238102020223650">"Denne funktion kan indsamle al den tekst, der læses op, inklusive personlige data såsom adgangskoder og kreditkortnumre. Den kommer fra <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>-maskinen. Vil du aktivere brug af denne talesyntesemaskine?"</string>
- <string name="tts_engine_network_required" msgid="1190837151485314743">"Der kræves en aktiv netværksforbindelse, for at tekst-til-tale kan anvendes på dette sprog."</string>
+ <string name="tts_engine_network_required" msgid="1190837151485314743">"Oplæsning på dette sprog fungerer kun, når der findes en aktiv netværksforbindelse."</string>
<string name="tts_default_sample_string" msgid="4040835213373086322">"Dette er et eksempel på talesyntese."</string>
<string name="tts_status_title" msgid="7268566550242584413">"Status for standardsprog"</string>
<string name="tts_status_ok" msgid="1309762510278029765">"<xliff:g id="LOCALE">%1$s</xliff:g> er fuldt understøttet"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index be5c261..5547090 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -2367,7 +2367,7 @@
<string name="keywords_sounds_and_notifications" msgid="5965996187974887000">"بیپ بلندگو"</string>
<string name="keywords_sounds_and_notifications_interruptions" msgid="2912933812460077912">"مزاحم نشوید قطع وقفه توقف"</string>
<string name="keywords_app" msgid="6334757056536837791">"RAM"</string>
- <string name="keywords_location" msgid="782326973714313480">"گزارشدهی سابقه مکان اطراف"</string>
+ <string name="keywords_location" msgid="782326973714313480">"گزارشدهی سابقه موقعیت مکانی اطراف"</string>
<string name="keywords_location_mode" msgid="8584992704568356084">"دقت"</string>
<string name="keywords_accounts" msgid="1957925565953357627">"حساب"</string>
<string name="keywords_users" msgid="4673901601478559100">"محدودیت محدود محدود شده"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 2a00b72..b7821ce 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -214,7 +214,7 @@
<string name="radio_info_data_attempts_label" msgid="1731106244577323381">"Tentatives :"</string>
<string name="radio_info_gprs_service_label" msgid="2331818110375395364">"Service GPRS :"</string>
<string name="radio_info_roaming_label" msgid="6141505430275138647">"Itinérance :"</string>
- <string name="radio_info_imei_label" msgid="1220524224732944192">"Code IMEI :"</string>
+ <string name="radio_info_imei_label" msgid="1220524224732944192">"Code IIEM :"</string>
<string name="radio_info_call_redirect_label" msgid="1654674226961476872">"Redirection des appels :"</string>
<string name="radio_info_ppp_resets_label" msgid="3241667824729310546">"Nombre de réinitialisations PPP depuis le démarrage :"</string>
<string name="radio_info_gsm_disconnects_label" msgid="1683069665736339820">"Déconnexions GSM :"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index b4119a9..dd5fd1a 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -2420,7 +2420,7 @@
<item quantity="one" msgid="8344183614159211585">"%d aplicação consegue ler notificações"</item>
<item quantity="other" msgid="980049191810249052">"%d aplicações conseguem ler notificações"</item>
</plurals>
- <string name="no_notification_listeners" msgid="2767405417723149879">"Nenhum serviço de escuta de notificações instalado."</string>
+ <string name="no_notification_listeners" msgid="2767405417723149879">"Nenhum ouvinte de notificações instalado."</string>
<string name="notification_listener_security_warning_title" msgid="6494221261778885893">"Ativar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
<string name="notification_listener_security_warning_summary" msgid="2780319203595885564">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> conseguirá ler todas as notificações publicadas pelo sistema ou qualquer aplicação instalada, e poderão incluir informações pessoais, como nomes de contactos e o texto de mensagens que lhe foram enviadas. Conseguirá ainda ignorar estas notificações ou tocar nos respetivos botões de ação."</string>
<string name="manage_condition_providers" msgid="3039306415273606730">"Fornecedores de condições"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0eb4083..7b5b8f3 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -461,9 +461,9 @@
<string name="device_admin_title" msgid="3562216873644263804">"Администрирование устройства"</string>
<string name="manage_device_admin" msgid="5059296715271077278">"Администраторы устройства"</string>
<string name="manage_device_admin_summary" msgid="7672709110988761075">"Просмотрите или отключите администраторов устройств"</string>
- <string name="manage_trust_agents" msgid="4629279457536987768">"Trust agents"</string>
+ <string name="manage_trust_agents" msgid="4629279457536987768">"Агенты доверия"</string>
<string name="disabled_because_no_backup_security" msgid="6877660253409580377">"Сначала необходимо настроить блокировку экрана"</string>
- <string name="manage_trust_agents_summary" msgid="6804319935640148441">"Посмотреть или отключить Trust Agents"</string>
+ <string name="manage_trust_agents_summary" msgid="6804319935640148441">"Посмотреть или отключить агенты доверия"</string>
<string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string>
<string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Включить Bluetooth"</string>
<string name="bluetooth_settings" msgid="1810521656168174329">"Bluetooth"</string>
@@ -1869,7 +1869,7 @@
<string name="managed_profile_device_admin_info" msgid="5048846624960067582">"Откройте \"Настройки > Аккаунты\" и удалите рабочий профиль, чтобы запретить приложению <xliff:g id="APP_NAME">%1$s</xliff:g> доступ к нему"</string>
<string name="personal_device_admin_title" msgid="2849617316347669861">"Личный"</string>
<string name="managed_device_admin_title" msgid="7853955652864478435">"Рабочий"</string>
- <string name="no_trust_agents" msgid="7450273545568977523">"Ничего не найдено."</string>
+ <string name="no_trust_agents" msgid="7450273545568977523">"Нет агентов доверия."</string>
<string name="add_device_admin_msg" msgid="6246742476064507965">"Удаленное управление Android"</string>
<string name="add_device_admin" msgid="7133327675884827091">"Активировать"</string>
<string name="device_admin_add_title" msgid="7705551449705676363">"Администратор устройства"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index eef44e7..d6b81af 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1493,18 +1493,18 @@
<string name="app_name_label" msgid="5440362857006046193">"应用"</string>
<string name="last_time_used_label" msgid="8459441968795479307">"上次使用时间"</string>
<string name="usage_time_label" msgid="295954901452833058">"使用时间"</string>
- <string name="accessibility_settings" msgid="3975902491934816215">"辅助功能"</string>
- <string name="accessibility_settings_title" msgid="2130492524656204459">"辅助功能设置"</string>
+ <string name="accessibility_settings" msgid="3975902491934816215">"无障碍"</string>
+ <string name="accessibility_settings_title" msgid="2130492524656204459">"无障碍设置"</string>
<string name="accessibility_services_title" msgid="2592221829284342237">"服务"</string>
<string name="accessibility_system_title" msgid="7187919089874130484">"系统"</string>
<string name="accessibility_display_title" msgid="7610175687949675162">"显示"</string>
<string name="accessibility_captioning_title" msgid="7589266662024836291">"字幕"</string>
<string name="accessibility_screen_magnification_title" msgid="7001782548715744981">"放大手势"</string>
<string name="accessibility_screen_magnification_summary" msgid="2380627654189671754">"启用此功能后,您可以通过点按屏幕三次进行缩放。\n\n放大时,您可以:\n"<ul><li>"平移:在屏幕上拖动两根或更多根手指。"</li>\n<li>"调整缩放级别:开合两根或更多根手指。"</li></ul>\n\n"同时,您还可以通过点按三次并按住的方法来暂时性地放大手指触摸到的内容。在此放大状态下,您可以拖动手指查看屏幕上的各个部分。松开手指即可返回之前的状态。\n\n请注意:点按屏幕三次进行放大的方法适用于除键盘和导航栏外的所有情况。"</string>
- <string name="accessibility_global_gesture_preference_title" msgid="6752037184140789970">"辅助功能快捷方式"</string>
+ <string name="accessibility_global_gesture_preference_title" msgid="6752037184140789970">"无障碍快捷方式"</string>
<string name="accessibility_global_gesture_preference_summary_on" msgid="6180927399052022181">"开启"</string>
<string name="accessibility_global_gesture_preference_summary_off" msgid="8102103337813609849">"关闭"</string>
- <string name="accessibility_global_gesture_preference_description" msgid="750438015254396963">"启用该功能后,您只需两步即可迅速启用辅助功能:\n\n步骤 1:持续按住电源按钮,直到您听到提示音或感觉到震动。\n\n步骤 2:用两根手指触摸屏幕并按住,直到您听到确认提示音。\n\n如果该设备有多个用户,在锁定屏幕上进行此快捷操作可暂时启用辅助功能,直到该设备解锁。"</string>
+ <string name="accessibility_global_gesture_preference_description" msgid="750438015254396963">"启用该功能后,您只需两步即可迅速启用无障碍功能:\n\n步骤 1:持续按住电源按钮,直到您听到提示音或感觉到震动。\n\n步骤 2:用两根手指触摸屏幕并按住,直到您听到确认提示音。\n\n如果该设备有多个用户,在锁定屏幕上进行此快捷操作可暂时启用无障碍功能,直到该设备解锁。"</string>
<string name="accessibility_toggle_large_text_preference_title" msgid="6307247527580207161">"大号字体"</string>
<string name="accessibility_toggle_high_text_contrast_preference_title" msgid="2567402942683463779">"高对比度文字"</string>
<string name="accessibility_toggle_screen_magnification_preference_title" msgid="2472285215737820469">"屏幕放大"</string>
@@ -1562,7 +1562,7 @@
<string name="enable_service_title" msgid="3061307612673835592">"要启用<xliff:g id="SERVICE">%1$s</xliff:g>吗?"</string>
<string name="capabilities_list_title" msgid="86713361724771971">"<xliff:g id="SERVICE">%1$s</xliff:g>需要:"</string>
<string name="enable_service_encryption_warning" msgid="3064686622453974606">"如果您开启<xliff:g id="SERVICE">%1$s</xliff:g>,您的设备将无法使用屏幕锁定来增强数据加密。"</string>
- <string name="secure_lock_encryption_warning" msgid="464101518421886337">"由于您已开启辅助功能服务,因此您的设备将无法使用屏幕锁定来增强数据加密。"</string>
+ <string name="secure_lock_encryption_warning" msgid="464101518421886337">"由于您已开启无障碍服务,因此您的设备将无法使用屏幕锁定来增强数据加密。"</string>
<string name="enable_service_pattern_reason" msgid="777577618063306751">"由于开启<xliff:g id="SERVICE">%1$s</xliff:g>会影响数据加密,因此您需要确认您的解锁图案。"</string>
<string name="enable_service_pin_reason" msgid="7882035264853248228">"由于开启<xliff:g id="SERVICE">%1$s</xliff:g>会影响数据加密,因此您需要确认您的 PIN 码。"</string>
<string name="enable_service_password_reason" msgid="1224075277603097951">"由于开启<xliff:g id="SERVICE">%1$s</xliff:g>会影响数据加密,因此您需要确认您的密码。"</string>
@@ -2360,7 +2360,7 @@
<string name="keywords_battery" msgid="2096185085932675704">"耗电量 充电"</string>
<string name="keywords_spell_checker" msgid="6106749039734174140">"拼写 字典 词典 拼写检查 自动更正"</string>
<string name="keywords_voice_input" msgid="3519547605812413860">"识别程序 输入 语音 说出 语言 免触摸 识别 令人反感的字词 音频记录 蓝牙耳机"</string>
- <string name="keywords_text_to_speech_output" msgid="392447904221657930">"语速 语言 默认 说出 语音 TTS 辅助功能 阅读器 读者 盲人"</string>
+ <string name="keywords_text_to_speech_output" msgid="392447904221657930">"语速 语言 默认 说出 语音 TTS 无障碍 阅读器 读者 盲人"</string>
<string name="keywords_date_and_time" msgid="2631808108134830066">"时钟 军用"</string>
<string name="keywords_factory_data_reset" msgid="4355133848707691977">"擦除 删除 恢复 清除 移除"</string>
<string name="keywords_printing" msgid="1701778563617114846">"打印机"</string>
@@ -2506,9 +2506,9 @@
<string name="encrypt_talkback_dialog_require_pin" msgid="8299960550048989807">"要求输入 PIN 码吗?"</string>
<string name="encrypt_talkback_dialog_require_pattern" msgid="1499790256154146639">"要求绘制图案吗?"</string>
<string name="encrypt_talkback_dialog_require_password" msgid="8841994614218049215">"要求输入密码吗?"</string>
- <string name="encrypt_talkback_dialog_message_pin" msgid="1890374082842868489">"当您输入 PIN 码以启动此设备时,<xliff:g id="SERVICE">%1$s</xliff:g>等辅助功能服务还未开启。"</string>
- <string name="encrypt_talkback_dialog_message_pattern" msgid="4474332516537386384">"当您绘制解锁图案以启动此设备时,<xliff:g id="SERVICE">%1$s</xliff:g>等辅助功能服务还未开启。"</string>
- <string name="encrypt_talkback_dialog_message_password" msgid="8166099418487083927">"当您输入密码以启动此设备时,<xliff:g id="SERVICE">%1$s</xliff:g>等辅助功能服务还未开启。"</string>
+ <string name="encrypt_talkback_dialog_message_pin" msgid="1890374082842868489">"当您输入 PIN 码以启动此设备时,<xliff:g id="SERVICE">%1$s</xliff:g>等无障碍服务还未开启。"</string>
+ <string name="encrypt_talkback_dialog_message_pattern" msgid="4474332516537386384">"当您绘制解锁图案以启动此设备时,<xliff:g id="SERVICE">%1$s</xliff:g>等无障碍服务还未开启。"</string>
+ <string name="encrypt_talkback_dialog_message_password" msgid="8166099418487083927">"当您输入密码以启动此设备时,<xliff:g id="SERVICE">%1$s</xliff:g>等无障碍服务还未开启。"</string>
<string name="imei_information_title" msgid="8499085421609752290">"IMEI信息"</string>
<string name="imei_information_summary" msgid="2074095606556565233">"IMEI相关信息"</string>
<string name="slot_number" msgid="3762676044904653577">"(插槽<xliff:g id="SLOT_NUM">%1$d</xliff:g>)"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 5da3da0..ffaac2c 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -1128,7 +1128,7 @@
<string name="copyright_title" msgid="865906688917260647">"版權"</string>
<string name="license_title" msgid="1990487604356037871">"授權"</string>
<string name="terms_title" msgid="7697580845616764642">"條款及細則"</string>
- <string name="webview_license_title" msgid="2813507464175738967">"系統 WebView 授權資訊"</string>
+ <string name="webview_license_title" msgid="2813507464175738967">"System WebView License"</string>
<string name="wallpaper_attributions" msgid="3645880512943433928">"桌布"</string>
<string name="wallpaper_attributions_values" msgid="2996183537914690469">"衛星影像供應商:\n©2014 CNES / Astrium, DigitalGlobe, Bluesky"</string>
<string name="settings_license_activity_title" msgid="7553683406244228650">"開放原始碼授權"</string>
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 2908829..6de7399 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -279,6 +279,11 @@
private UidDetailProvider mUidDetailProvider;
+ /**
+ * Local cache of data enabled for subId, used to work around delays.
+ */
+ private final Map<String, Boolean> mMobileDataEnabled = new HashMap<String, Boolean>();
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -965,23 +970,18 @@
updatePolicy(false);
}
- /**
- * Local cache of value, used to work around delays.
- */
- private Boolean mMobileDataEnabled;
-
private boolean isMobileDataEnabled(int subId) {
if (LOGD) Log.d(TAG, "isMobileDataEnabled:+ subId=" + subId);
boolean isEnable = false;
- if (mMobileDataEnabled != null) {
- // TODO: deprecate and remove this once enabled flag is on policy
- // Multiple Subscriptions, the value need to be reseted
- isEnable = mMobileDataEnabled.booleanValue();
+ if (mMobileDataEnabled.get(String.valueOf(subId)) != null) {
+ //TODO: deprecate and remove this once enabled flag is on policy
+ //Multiple Subscriptions, the value need to be reseted
+ isEnable = mMobileDataEnabled.get(String.valueOf(subId)).booleanValue();
if (LOGD) {
Log.d(TAG, "isMobileDataEnabled: != null, subId=" + subId
+ " isEnable=" + isEnable);
}
- mMobileDataEnabled = null;
+ mMobileDataEnabled.put(String.valueOf(subId), null);
} else {
// SUB SELECT
isEnable = mTelephonyManager.getDataEnabled(subId);
@@ -996,7 +996,7 @@
private void setMobileDataEnabled(int subId, boolean enabled) {
if (LOGD) Log.d(TAG, "setMobileDataEnabled()");
mTelephonyManager.setDataEnabled(subId, enabled);
- mMobileDataEnabled = enabled;
+ mMobileDataEnabled.put(String.valueOf(subId), enabled);
updatePolicy(false);
}
@@ -1149,6 +1149,16 @@
}
}
+ private void disableDataForOtherSubscriptions(SubscriptionInfo currentSir) {
+ if (mSubInfoList != null) {
+ for (SubscriptionInfo subInfo : mSubInfoList) {
+ if (subInfo.getSubscriptionId() != currentSir.getSubscriptionId()) {
+ setMobileDataEnabled(subInfo.getSubscriptionId(), false);
+ }
+ }
+ }
+ }
+
private View.OnClickListener mDataEnabledListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -1184,8 +1194,13 @@
// If the device is single SIM or is enabling data on the active data SIM then forgo
// the pop-up.
if (!Utils.showSimCardTile(context) ||
- (nextSir != null && currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
+ (nextSir != null && currentSir != null &&
+ currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
setMobileDataEnabled(currentSir.getSubscriptionId(), true);
+ if (nextSir != null && currentSir != null &&
+ currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
+ disableDataForOtherSubscriptions(currentSir);
+ }
updateBody();
return;
}
@@ -1205,6 +1220,7 @@
public void onClick(DialogInterface dialog, int id) {
mSubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId());
setMobileDataEnabled(currentSir.getSubscriptionId(), true);
+ disableDataForOtherSubscriptions(currentSir);
updateBody();
}
});
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 2a1fc82..c2990e5 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -379,7 +379,7 @@
if (subInfoList != null) {
for (SubscriptionInfo subInfo : subInfoList) {
- if (tm.hasIccCard(subInfo.getSubscriptionId())) {
+ if (tm.hasIccCard(subInfo.getSimSlotIndex())) {
return true;
}
}
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
index be031ea..6f5c136 100755
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
@@ -113,7 +113,6 @@
mDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
- mDevice.fetchUuidsWithSdp();
switch (mType) {
case BluetoothDevice.PAIRING_VARIANT_PIN:
@@ -321,23 +320,7 @@
}
}
- private void processPhonebookAccess() {
- CachedBluetoothDevice cachedDevice = mCachedDeviceManager.findDevice(mDevice);
- if (cachedDevice == null) {
- cachedDevice = mCachedDeviceManager.addDevice(
- mBluetoothManager.getBluetoothAdapter(),
- mBluetoothManager.getProfileManager(),
- mDevice);
- }
- ParcelUuid[] uuids = mDevice.getUuids();
- if (BluetoothUuid.containsAnyUuid(uuids, PbapServerProfile.PBAB_CLIENT_UUIDS)) {
- cachedDevice.setPhonebookPermissionChoice(CachedBluetoothDevice.ACCESS_ALLOWED);
- }
- }
-
private void onPair(String value) {
- processPhonebookAccess();
-
switch (mType) {
case BluetoothDevice.PAIRING_VARIANT_PIN:
byte[] pinBytes = BluetoothDevice.convertPinToBytes(value);
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index e61b3fd..f33f4db 100755
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -19,6 +19,7 @@
import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothProfile;
+import android.bluetooth.BluetoothUuid;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.ParcelUuid;
@@ -487,6 +488,11 @@
ParcelUuid[] localUuids = mLocalAdapter.getUuids();
if (localUuids == null) return false;
+ /**
+ * Now we know if the device supports PBAP, update permissions...
+ */
+ processPhonebookAccess();
+
mProfileManager.updateProfiles(uuids, localUuids, mProfiles, mRemovedProfiles,
mLocalNapRoleConnected, mDevice);
@@ -767,4 +773,15 @@
}
editor.commit();
}
+
+ private void processPhonebookAccess() {
+ if (mDevice.getBondState() != BluetoothDevice.BOND_BONDED) return;
+
+ ParcelUuid[] uuids = mDevice.getUuids();
+ if (BluetoothUuid.containsAnyUuid(uuids, PbapServerProfile.PBAB_CLIENT_UUIDS)) {
+ // The pairing dialog now warns of phone-book access for paired devices.
+ // No separate prompt is displayed after pairing.
+ setPhonebookPermissionChoice(CachedBluetoothDevice.ACCESS_ALLOWED);
+ }
+ }
}
diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java
index 34db97b..ccdfc0e 100644
--- a/src/com/android/settings/print/PrintJobSettingsFragment.java
+++ b/src/com/android/settings/print/PrintJobSettingsFragment.java
@@ -78,7 +78,7 @@
mPrintManager = ((PrintManager) getActivity().getSystemService(
Context.PRINT_SERVICE)).getGlobalPrintManagerForUser(
- ActivityManager.getCurrentUser());
+ getActivity().getUserId());
getActivity().getActionBar().setTitle(R.string.print_print_job);
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index b7c74da..581321b 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -465,7 +465,7 @@
super(context);
mPrintManager = ((PrintManager) context.getSystemService(
Context.PRINT_SERVICE)).getGlobalPrintManagerForUser(
- ActivityManager.getCurrentUser());
+ context.getUserId());
}
@Override
diff --git a/src/com/android/settings/wifi/WifiSetupActivity.java b/src/com/android/settings/wifi/WifiSetupActivity.java
index 06a25d8..a60945f 100644
--- a/src/com/android/settings/wifi/WifiSetupActivity.java
+++ b/src/com/android/settings/wifi/WifiSetupActivity.java
@@ -42,11 +42,15 @@
implements ButtonBarHandler, NavigationBarListener {
private static final String TAG = "WifiSetupActivity";
- private static final String EXTRA_ALLOW_SKIP = "allowSkip";
-
// this boolean extra specifies whether to auto finish when connection is established
private static final String EXTRA_AUTO_FINISH_ON_CONNECT = "wifi_auto_finish_on_connect";
+ // This boolean extra specifies whether network is required
+ private static final String EXTRA_IS_NETWORK_REQUIRED = "is_network_required";
+
+ // This boolean extra specifies whether wifi is required
+ private static final String EXTRA_IS_WIFI_REQUIRED = "is_wifi_required";
+
// Whether auto finish is suspended until user connects to an access point
private static final String EXTRA_REQUIRE_USER_NETWORK_SELECTION =
"wifi_require_user_network_selection";
@@ -57,10 +61,12 @@
// Activity result when pressing the Skip button
private static final int RESULT_SKIP = Activity.RESULT_FIRST_USER;
- // Whether we allow skipping without a valid network connection
- private boolean mAllowSkip = true;
// Whether to auto finish when the user selected a network and successfully connected
private boolean mAutoFinishOnConnection;
+ // Whether network is required to proceed. This is decided in SUW and passed in as an extra.
+ private boolean mIsNetworkRequired;
+ // Whether wifi is required to proceed. This is decided in SUW and passed in as an extra.
+ private boolean mIsWifiRequired;
// Whether the user connected to a network. This excludes the auto-connecting by the system.
private boolean mUserSelectedNetwork;
// Whether the device is connected to WiFi
@@ -75,7 +81,6 @@
// Refresh the connection state with the latest connection info. Use the connection info
// from ConnectivityManager instead of the one attached in the intent to make sure
// we have the most up-to-date connection state. b/17511772
-
refreshConnectionState();
}
};
@@ -89,7 +94,8 @@
mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
mAutoFinishOnConnection = intent.getBooleanExtra(EXTRA_AUTO_FINISH_ON_CONNECT, false);
- mAllowSkip = intent.getBooleanExtra(EXTRA_ALLOW_SKIP, true);
+ mIsNetworkRequired = intent.getBooleanExtra(EXTRA_IS_NETWORK_REQUIRED, false);
+ mIsWifiRequired = intent.getBooleanExtra(EXTRA_IS_WIFI_REQUIRED, false);
// Behave like the user already selected a network if we do not require selection
mUserSelectedNetwork = !intent.getBooleanExtra(EXTRA_REQUIRE_USER_NETWORK_SELECTION, false);
}
@@ -106,18 +112,17 @@
mUserSelectedNetwork = savedInstanceState.getBoolean(PARAM_USER_SELECTED_NETWORK, true);
}
- private void refreshConnectionState() {
+ private boolean isWifiConnected() {
final ConnectivityManager connectivity = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
- boolean connected = connectivity != null &&
+ boolean wifiConnected = connectivity != null &&
connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected();
-
- refreshConnectionState(connected);
+ mWifiConnected = wifiConnected;
+ return wifiConnected;
}
- private void refreshConnectionState(boolean connected) {
- mWifiConnected = connected;
- if (connected) {
+ private void refreshConnectionState() {
+ if (isWifiConnected()) {
if (mAutoFinishOnConnection && mUserSelectedNetwork) {
Log.d(TAG, "Auto-finishing with connection");
finishOrNext(Activity.RESULT_OK);
@@ -125,15 +130,33 @@
// can either connect to a different network or press "next" to proceed.
mUserSelectedNetwork = false;
}
- if (mNavigationBar != null) {
- mNavigationBar.getNextButton().setText(R.string.setup_wizard_next_button_label);
- mNavigationBar.getNextButton().setEnabled(true);
- }
+ setNextButtonText(R.string.setup_wizard_next_button_label);
+ setNextButtonEnabled(true);
+ } else if (mIsWifiRequired || (mIsNetworkRequired && !isNetworkConnected())) {
+ // We do not want the user to skip wifi setting if
+ // - wifi is required, but wifi connection hasn't been established yet;
+ // - or network is required, but no valid connection has been established.
+ setNextButtonText(R.string.skip_label);
+ setNextButtonEnabled(false);
} else {
- if (mNavigationBar != null) {
- mNavigationBar.getNextButton().setText(R.string.skip_label);
- mNavigationBar.getNextButton().setEnabled(mAllowSkip);
- }
+ // In other cases, user can choose to skip. Specifically these cases are
+ // - wifi is not required;
+ // - and network is not required;
+ // - or network is required and a valid connection has been established.
+ setNextButtonText(R.string.skip_label);
+ setNextButtonEnabled(true);
+ }
+ }
+
+ private void setNextButtonEnabled(boolean enabled) {
+ if (mNavigationBar != null) {
+ mNavigationBar.getNextButton().setEnabled(enabled);
+ }
+ }
+
+ private void setNextButtonText(int resId) {
+ if (mNavigationBar != null) {
+ mNavigationBar.getNextButton().setText(resId);
}
}