am 53eec9fa: Fix sim notifications.

* commit '53eec9faad4f96497ab5cccaadb05963c3694363':
  Fix sim notifications.
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ad84ff9..e49c6a2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2058,6 +2058,23 @@
             </intent-filter>
         </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
             android:name=".search.SettingsSearchIndexablesProvider"
             android:authorities="com.android.settings"
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 3628dd4..b7821ce 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -558,7 +558,7 @@
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Mémoriser ces paramètres"</string>
     <string name="wifi_assistant_title" msgid="2553267316621598101">"Assistant Wi‑Fi"</string>
     <string name="connected_via_wfa" msgid="3805736726317410714">"Connecté à l\'aide de l\'assistant Wi-Fi"</string>
-    <string name="wifi_display_settings_title" msgid="2925465988657380522">"Diffuser l\'écran"</string>
+    <string name="wifi_display_settings_title" msgid="2925465988657380522">"Écran de diffusion"</string>
     <string name="wifi_display_enable_menu_item" msgid="4883036464138167674">"Activer l\'affichage sans fil"</string>
     <string name="wifi_display_no_devices_found" msgid="1382012407154143453">"Aucun appareil détecté à proximité."</string>
     <string name="wifi_display_status_connecting" msgid="5688608834000748607">"Connexion en cours…"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 4d8aaf9..6139aa4 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -461,8 +461,8 @@
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"次へ"</string>
     <string name="lock_setup" msgid="3355847066343753943">"設定が完了しました。"</string>
     <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_device_admin" msgid="5059296715271077278">"端末管理者"</string>
+    <string name="manage_device_admin_summary" msgid="7672709110988761075">"端末管理者を表示または無効にする"</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">"信頼できるエージェントを表示または無効にする"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 70ef2d4..9616c53 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -130,7 +130,7 @@
     <string name="bluetooth_disconnect_title" msgid="6026705382020027966">"Rozłączyć?"</string>
     <string name="bluetooth_disconnect_all_profiles" msgid="9148530542956217908">"Spowoduje to zakończenie połączenia z urządzeniem:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%1$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_empty_list_user_restricted" msgid="1185354873716211496">"Nie masz uprawnień, by zmienić ustawienia Bluetootha."</string>
-    <string name="bluetooth_is_visible_message" msgid="6222396240776971862">"Urządzenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> jest widoczne dla urządzeń w pobliżu, gdy ustawienia Bluetooth są otwarte."</string>
+    <string name="bluetooth_is_visible_message" msgid="6222396240776971862">"Urządzenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> jest widoczne dla urządzeń w pobliżu, gdy są otwarte ustawienia Bluetooth."</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Odłączyć urządzenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transmisja"</string>
     <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Wyłączyć profil?"</string>
@@ -514,7 +514,7 @@
     <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Opcje…"</string>
     <string name="bluetooth_menu_advanced" msgid="8572178316357220524">"Zaawansowane"</string>
     <string name="bluetooth_advanced_titlebar" msgid="2142159726881547669">"Bluetooth – zaawansowane"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="6351930724051893423">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="6351930724051893423">"Po włączeniu Bluetootha urządzenie może komunikować się z urządzeniami Bluetooth w pobliżu."</string>
     <string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"Połącz z siecią…"</string>
     <string name="bluetooth_profile_a2dp" msgid="2031475486179830674">"Dźwięk multimediów"</string>
     <string name="bluetooth_profile_headset" msgid="8658779596261212609">"Dźwięk telefonu"</string>
@@ -700,7 +700,7 @@
     <string name="wifi_skipped_message" product="default" msgid="6084295135297772350">"OSTRZEŻENIE: jeśli nie dodasz sieci Wi‑Fi, telefon będzie pobierać oprogramowanie i aktualizację tylko przez sieć komórkową. Aby uniknąć opłat za przesył danych, połącz się z Wi-Fi."</string>
     <string name="wifi_and_mobile_skipped_message" product="tablet" msgid="5872240361944591105">"Jeśli pominiesz Wi‑Fi:\n\nTablet nie będzie mieć połączenia z internetem.\n\nNie będzie można pobrać aktualizacji oprogramowania, dopóki nie połączysz się z internetem.\n\nNie możesz obecnie włączyć funkcji ochrony urządzenia."</string>
     <string name="wifi_and_mobile_skipped_message" product="device" msgid="1013689568018268332">"Jeśli pominiesz Wi‑Fi:\n\nUrządzenie nie będzie mieć połączenia z internetem.\n\nNie będzie można pobrać aktualizacji oprogramowania, dopóki nie połączysz się z internetem.\n\nNie możesz obecnie włączyć funkcji ochrony urządzenia."</string>
-    <string name="wifi_and_mobile_skipped_message" product="default" msgid="5245835374169369770">"Jeśli nie wybierzesz sieci Wi‑Fi:\n\nTelefon nie będzie mieć połączenia z internetem.\n\nNie będzie można pobrać aktualizacji oprogramowania, dopóki nie połączysz się z internetem.\n\nNie będzie można włączyć funkcji ochrony urządzenia."</string>
+    <string name="wifi_and_mobile_skipped_message" product="default" msgid="5245835374169369770">"Jeśli pominiesz Wi‑Fi:\n\nTelefon nie będzie mieć połączenia z internetem.\n\nNie będzie można pobrać aktualizacji oprogramowania, dopóki nie połączysz się z internetem.\n\nNie możesz obecnie włączyć funkcji ochrony urządzenia."</string>
     <string name="wifi_connect_failed_message" product="tablet" msgid="4474691090681670156">"Tablet nie może nawiązać połączenia z tą siecią Wi-Fi."</string>
     <string name="wifi_connect_failed_message" product="device" msgid="8870885845666880869">"Urządzenie nie może połączyć się z tą siecią Wi-Fi."</string>
     <string name="wifi_connect_failed_message" product="default" msgid="2185803140161396572">"Telefon nie może nawiązać połączenia z tą siecią Wi-Fi."</string>
@@ -751,7 +751,7 @@
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="5618031116920832182">"Przenośny hotspot Wi‑Fi AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_subtext" msgid="7957547035983257748">"Przenośny hotspot Wi-Fi <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Punkt dostępu Android"</string>
-    <string name="home_settings" msgid="212375129455718176">"Ekran główny"</string>
+    <string name="home_settings" msgid="212375129455718176">"Strona główna"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Wyświetlacz"</string>
     <string name="sound_settings" msgid="5534671337768745343">"Dźwięk"</string>
     <string name="ringtone_summary" msgid="2630023412632683493"></string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 36cbbd2..3448547 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -2206,7 +2206,7 @@
     <string name="user_cannot_manage_message" product="tablet" msgid="8440449301994432789">"Numai proprietarul tabletei poate gestiona utilizatorii."</string>
     <string name="user_cannot_manage_message" product="default" msgid="1133251987818014757">"Numai proprietarul telefonului poate gestiona utilizatorii."</string>
     <string name="user_cannot_add_accounts_message" msgid="5116692653439737050">"Profilurile cu permisiuni limitate nu pot adăuga conturi"</string>
-    <string name="user_remove_user_menu" msgid="6897150520686691355">"Ștergeţi <xliff:g id="USER_NAME">%1$s</xliff:g> de pe dispoz."</string>
+    <string name="user_remove_user_menu" msgid="6897150520686691355">"Ștergeţi <xliff:g id="USER_NAME">%1$s</xliff:g> de pe gadget"</string>
     <string name="user_add_on_lockscreen_menu" msgid="3025132738715222247">"Adăug. utiliz. pe disp. blocat"</string>
     <string name="user_new_user_name" msgid="369856859816028856">"Utilizator nou"</string>
     <string name="user_new_profile_name" msgid="2632088404952119900">"Profil nou"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 65bbf5c..173ca06 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -362,8 +362,8 @@
     <string name="crypt_keeper_dialog_need_password_message" msgid="4071395977297369642">"Перед шифрованием необходимо задать PIN-код или пароль блокировки экрана."</string>
     <string name="crypt_keeper_confirm_encrypt" msgid="736289627726831055">"Чтобы зашифровать данные на устройстве, введите графический ключ."</string>
     <string name="crypt_keeper_confirm_title" msgid="5100339496381875522">"Выполнить шифрование?"</string>
-    <string name="crypt_keeper_final_desc" product="tablet" msgid="4453629424172409792">"Если прервать шифрование, данные будут потеряны. Операция займет не менее часа. Устройство будет перезагружено несколько раз."</string>
-    <string name="crypt_keeper_final_desc" product="default" msgid="5682944380460921880">"Если прервать шифрование, данные будут потеряны. Операция займет не менее часа. Устройство будет перезагружено несколько раз."</string>
+    <string name="crypt_keeper_final_desc" product="tablet" msgid="4453629424172409792">"Если прервать шифрование, данные будут потеряны. Операция займет не менее часа, в течение которого устройство будет перезагружено несколько раз."</string>
+    <string name="crypt_keeper_final_desc" product="default" msgid="5682944380460921880">"Если прервать шифрование, данные будут потеряны. Операция займет не менее часа, в течение которого устройство будет перезагружено несколько раз."</string>
     <string name="crypt_keeper_setup_title" msgid="1783951453124244969">"Шифрование"</string>
     <string name="crypt_keeper_setup_description" product="tablet" msgid="6689952371032099350">"Дождитесь завершения шифрования планшета. Выполнено: <xliff:g id="PERCENT">^1</xliff:g>%."</string>
     <string name="crypt_keeper_setup_description" product="default" msgid="951918761585534875">"Дождитесь завершения шифрования телефона. Выполнено: <xliff:g id="PERCENT">^1</xliff:g>%."</string>
@@ -460,7 +460,7 @@
     <string name="lock_setup" msgid="3355847066343753943">"Блокировка настроена."</string>
     <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_device_admin_summary" msgid="7672709110988761075">"Просмотрите или отключите администраторов устройств"</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">"Посмотреть или отключить агенты доверия"</string>
@@ -534,7 +534,7 @@
     <string name="bluetooth_device_advanced_title" msgid="6066342531927499308">"Тип подключения"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Подключить"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Подключиться к устройству Bluetooth"</string>
-    <string name="bluetooth_device_advanced_profile_header_title" msgid="102745381968579605">"Использование"</string>
+    <string name="bluetooth_device_advanced_profile_header_title" msgid="102745381968579605">"Использовать для"</string>
     <string name="bluetooth_device_advanced_rename_device" msgid="5148578059584955791">"Переименовать"</string>
     <string name="bluetooth_device_advanced_enable_opp_title" msgid="8222550640371627365">"Разрешить получение файлов"</string>
     <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Подключено к мультимедийному аудиоустройству"</string>
@@ -606,7 +606,7 @@
     <string name="wifi_automatically_connect_summary" msgid="6722194413023965902">"Разрешить ассистенту Wi-Fi автоматически проверять открытые сети и подключаться к ним"</string>
     <string name="wifi_select_assistant_dialog_title" msgid="4014645210955009439">"Выбор ассистента Wi-Fi"</string>
     <string name="wifi_install_credentials" msgid="3551143317298272860">"Установка сертификатов"</string>
-    <string name="wifi_scan_notify_text_location_on" msgid="8135076005488914200">"Чтобы точнее определять местоположение, а также и в других целях, приложение Google и другие приложения могут искать доступные сети даже при отключенном Wi-Fi. Изменить настройки можно в меню \"Дополнительно &gt; Всегда искать сети\"."</string>
+    <string name="wifi_scan_notify_text_location_on" msgid="8135076005488914200">"Чтобы улучшить определение местоположения, а также для достижения других целей, Google и другие приложения могут выполнять поиск сетей поблизости, даже если сеть Wi-Fi отключена. Чтобы изменить эти настройки, перейдите в меню \"Дополнительно &gt; Всегда искать сети\"."</string>
     <string name="wifi_scan_notify_text_location_off" msgid="6323983741393280935">"Приложения могут выполнять поиск сетей поблизости, даже если сеть Wi-Fi отключена. Чтобы изменить эти настройки, перейдите в меню \"Дополнительно &gt; Всегда искать сети\"."</string>
     <string name="wifi_scan_notify_remember_choice" msgid="5340097010842405981">"Больше не показывать"</string>
     <string name="wifi_setting_sleep_policy_title" msgid="5149574280392680092">"Wi-Fi в спящем режиме"</string>
@@ -706,7 +706,7 @@
     <string name="wifi_connect_failed_message" product="default" msgid="2185803140161396572">"Не удалось подключиться к сети Wi-Fi."</string>
     <string name="wifi_saved_access_points_titlebar" msgid="2996149477240134064">"Сохраненные сети"</string>
     <string name="wifi_advanced_titlebar" msgid="4485841401774142908">"Дополнительные функции"</string>
-    <string name="wifi_setting_frequency_band_title" msgid="3655327399028584656">"Диапазон частот Wi-Fi"</string>
+    <string name="wifi_setting_frequency_band_title" msgid="3655327399028584656">"Полоса частот Wi-Fi"</string>
     <string name="wifi_setting_frequency_band_summary" msgid="3250740757118009784">"Укажите рабочий диапазон частот"</string>
     <string name="wifi_setting_frequency_band_error" msgid="837281974489794378">"При настройке полосы частот возникла неполадка."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-адрес"</string>
@@ -825,7 +825,7 @@
     <string name="screensaver_settings_summary_sleep" msgid="9086186698140423493">"Во время зарядки"</string>
     <string name="screensaver_settings_summary_dock" msgid="2072657401664633283">"В док-станции"</string>
     <string name="screensaver_settings_summary_off" msgid="2481581696365146473">"Выкл."</string>
-    <string name="screensaver_settings_disabled_prompt" msgid="3857507943322777651">"Чтобы настроить поведение телефона при подключении к док-станции и в спящем режиме, включите заставку."</string>
+    <string name="screensaver_settings_disabled_prompt" msgid="3857507943322777651">"Чтобы знать, что происходит с телефоном, когда он подключен к док-станции или находится в спящем режиме, включите заставку."</string>
     <string name="screensaver_settings_when_to_dream" msgid="8352267826043957746">"Когда включать"</string>
     <string name="screensaver_settings_dream_start" msgid="4998187847985120168">"Включить"</string>
     <string name="screensaver_settings_button" msgid="7292214707625717013">"Настройки"</string>
@@ -917,11 +917,11 @@
     <string name="memory_available_read_only" msgid="6497534390167920206">"Доступно (только для чтения)"</string>
     <string name="memory_size" msgid="6629067715017232195">"Всего места"</string>
     <string name="memory_calculating_size" msgid="2188358544203768588">"Идет подсчет..."</string>
-    <string name="memory_apps_usage" msgid="2348501997988663688">"Данные приложений и мультимедиа"</string>
+    <string name="memory_apps_usage" msgid="2348501997988663688">"Данные приложений и файлы мультимедиа"</string>
     <string name="memory_media_usage" msgid="3738830697707880405">"Мультимедиа"</string>
     <string name="memory_downloads_usage" msgid="3755173051677533027">"Загрузки"</string>
     <string name="memory_dcim_usage" msgid="558887013613822577">"Изображения и видео"</string>
-    <string name="memory_music_usage" msgid="1363785144783011606">"Аудио (музыка, рингтоны и т. п.)"</string>
+    <string name="memory_music_usage" msgid="1363785144783011606">"Аудио (музыка, рингтоны, подкасты и т. п.)"</string>
     <string name="memory_media_misc_usage" msgid="235452944021647124">"Прочее"</string>
     <string name="memory_media_cache_usage" msgid="6704293333141177910">"Данные кеша"</string>
     <string name="sd_eject" product="nosdcard" msgid="4988563376492400073">"Безопасное извлечение"</string>
@@ -939,7 +939,7 @@
     <string name="sd_format_summary" product="nosdcard" msgid="6331905044907914603">"Удаление с внутреннего USB-накопителя телефона всех данных, включая музыку и фотографии."</string>
     <string name="sd_format_summary" product="default" msgid="212703692181793109">"Удаляет все данные с SD-карты, например музыку и фотографии"</string>
     <string name="memory_clear_cache_title" msgid="5423840272171286191">"Очистить кеш?"</string>
-    <string name="memory_clear_cache_message" msgid="4550262490807415948">"Будут удалены кешированные данные всех приложений."</string>
+    <string name="memory_clear_cache_message" msgid="4550262490807415948">"Будут удалены данные всех приложений."</string>
     <string name="mtp_ptp_mode_summary" msgid="3710436114807789270">"Функция MTP или PTP активирована"</string>
     <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="3077285629197874055">"Отключить USB-накопитель?"</string>
     <string name="dlg_confirm_unmount_title" product="default" msgid="3634502237262534381">"Отключить SD-карту?"</string>
@@ -992,7 +992,7 @@
     <string name="carrier_enabled" msgid="407655861175280806">"Включить/выключить APN"</string>
     <string name="carrier_enabled_summaryOn" msgid="6338915271908057531">"APN вкл."</string>
     <string name="carrier_enabled_summaryOff" msgid="4300790190221203756">"APN выкл."</string>
-    <string name="bearer" msgid="594270280031923558">"Канал"</string>
+    <string name="bearer" msgid="594270280031923558">"Владелец"</string>
     <string name="mvno_type" msgid="2543253857818336421">"Тип MVNO"</string>
     <string name="mvno_match_data" msgid="4560671695220540466">"Значение MVNO"</string>
     <string name="menu_delete" msgid="6981294422841124659">"Удалить APN"</string>
@@ -1000,12 +1000,12 @@
     <string name="menu_save" msgid="8109345640668285399">"Сохранить"</string>
     <string name="menu_cancel" msgid="2194502410474697474">"Отменить"</string>
     <string name="error_title" msgid="7631322303341024692"></string>
-    <string name="error_name_empty" msgid="8418502878620394756">"Необходимо указать имя."</string>
+    <string name="error_name_empty" msgid="8418502878620394756">"Необходимо указать название."</string>
     <string name="error_apn_empty" msgid="6056233831214537267">"Необходимо указать APN."</string>
     <string name="error_mcc_not3" msgid="4560171714156251661">"Поле MCC должно содержать 3 цифры."</string>
     <string name="error_mnc_not23" msgid="8418177072458379439">"Поле MNC должно содержать 2 или 3 цифры."</string>
-    <string name="restore_default_apn" msgid="8178010218751639581">"Восстановление настроек APN по умолчанию..."</string>
-    <string name="menu_restore" msgid="8260067415075573273">"Сбросить настройки"</string>
+    <string name="restore_default_apn" msgid="8178010218751639581">"Восстановление настроек APN по умолчанию."</string>
+    <string name="menu_restore" msgid="8260067415075573273">"Восстановить настройки по умолчанию"</string>
     <string name="restore_default_apn_completed" msgid="2824775307377604897">"Настройки по умолчанию восстановлены."</string>
     <string name="device_reset_title" msgid="2384019005638768076">"Сбросить настройки"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Сброс настроек"</string>
@@ -1224,7 +1224,7 @@
     <string name="ask_compatibility" msgid="7225195569089607846">"Спрашивать при запуске"</string>
     <string name="enable_compatibility" msgid="5806819252068617811">"Масштабировать приложения"</string>
     <string name="unknown" msgid="1592123443519355854">"Неизвестно"</string>
-    <string name="sort_order_alpha" msgid="1410278099123670628">"Упорядочить по названию"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Упорядочить по именам"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Упорядочить по размеру"</string>
     <string name="show_running_services" msgid="5736278767975544570">"Показать активные службы"</string>
     <string name="show_background_processes" msgid="2009840211972293429">"Показать процессы в кеше"</string>
@@ -1631,7 +1631,7 @@
     <string name="details_title" msgid="3792801565213935385">"Расход батареи"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Расход батареи"</string>
     <string name="controls_subtitle" msgid="390468421138288702">"Режим энергопотребления"</string>
-    <string name="packages_subtitle" msgid="4736416171658062768">"Пакеты"</string>
+    <string name="packages_subtitle" msgid="4736416171658062768">"Вложенные пакеты"</string>
     <string name="power_screen" msgid="3023346080675904613">"Экран"</string>
     <string name="power_flashlight" msgid="7794409781003567614">"Фонарик"</string>
     <string name="power_wifi" msgid="1135085252964054957">"Wi-Fi"</string>
@@ -1680,7 +1680,7 @@
     <string name="battery_desc_bluetooth" msgid="8069070756186680367">"Использование батареи модулем Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="1942935021750897422">"Отключите канал Bluetooth, если он не используется"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="4071352514714259230">"Попробуйте подключиться к другому Bluetooth-устройству"</string>
-    <string name="battery_desc_apps" msgid="8530418792605735226">"Использование батареи приложением"</string>
+    <string name="battery_desc_apps" msgid="8530418792605735226">"Использование батареи приложениями"</string>
     <string name="battery_sugg_apps_info" msgid="6907588126789841231">"Остановите или удалите приложение"</string>
     <string name="battery_sugg_apps_gps" msgid="5959067516281866135">"Выберите режим экономии заряда батареи"</string>
     <string name="battery_sugg_apps_settings" msgid="3974902365643634514">"В программе могут быть настройки режима энергосбережения"</string>
@@ -1809,9 +1809,9 @@
     <string name="gadget_brightness_state_off" msgid="946382262872753084">"минимум"</string>
     <string name="vpn_settings_title" msgid="5662579425832406705">"VPN"</string>
     <string name="credentials_title" msgid="4446234003860769883">"Хранилище учетных данных"</string>
-    <string name="credentials_install" product="nosdcard" msgid="466093273825150847">"Установить"</string>
+    <string name="credentials_install" product="nosdcard" msgid="466093273825150847">"Установить с карты памяти"</string>
     <string name="credentials_install" product="default" msgid="953914549998062317">"Установка с SD-карты"</string>
-    <string name="credentials_install_summary" product="nosdcard" msgid="4220422806818210676">"Установить сертификаты"</string>
+    <string name="credentials_install_summary" product="nosdcard" msgid="4220422806818210676">"Установить сертификаты с карты памяти"</string>
     <string name="credentials_install_summary" product="default" msgid="5737658257407822713">"Установить сертификаты с SD-карты"</string>
     <string name="credentials_reset" msgid="3239382277144980418">"Очистить учетные данные"</string>
     <string name="credentials_reset_summary" msgid="3369361230171260282">"Удалить все сертификаты"</string>
@@ -1826,7 +1826,7 @@
     <string name="credentials_unlock" msgid="385427939577366499"></string>
     <string name="credentials_unlock_hint" msgid="2301301378040499348">"Введите пароль для хранилища учетных данных."</string>
     <string name="credentials_old_password" msgid="7553393815538684028">"Текущий пароль:"</string>
-    <string name="credentials_reset_hint" msgid="6297256880896133631">"Удалить все содержимое?"</string>
+    <string name="credentials_reset_hint" msgid="6297256880896133631">"Удалить весь контент?"</string>
     <string name="credentials_password_too_short" msgid="7502749986405522663">"В пароле должно быть не менее 8 символов."</string>
     <string name="credentials_wrong_password" msgid="2541932597104054807">"Неправильный пароль."</string>
     <string name="credentials_reset_warning" msgid="5320653011511797600">"Неверный пароль. У вас осталась одна попытка, после которой хранилище регистрационных данных будет очищено."</string>
@@ -1969,7 +1969,7 @@
     <string name="starting_android" msgid="8581493237458496835">"Запуск Android…"</string>
     <string name="delete" msgid="4219243412325163003">"Удалить"</string>
     <string name="misc_files" msgid="6720680815969643497">"Разное"</string>
-    <string name="misc_files_selected_count" msgid="4647048020823912088">"Выбрано: <xliff:g id="NUMBER">%1$d</xliff:g> из <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
+    <string name="misc_files_selected_count" msgid="4647048020823912088">"выбрано <xliff:g id="NUMBER">%1$d</xliff:g> из <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
     <string name="misc_files_selected_count_bytes" msgid="2876232009069114352">"<xliff:g id="NUMBER">%1$s</xliff:g> из <xliff:g id="TOTAL">%2$s</xliff:g>"</string>
     <string name="select_all" msgid="1562774643280376715">"Выбрать все"</string>
     <string name="hdcp_checking_title" msgid="8605478913544273282">"Проверка HDCP"</string>
@@ -2141,7 +2141,7 @@
     <string name="vpn_save" msgid="4233484051644764510">"Сохранить"</string>
     <string name="vpn_connect" msgid="8469608541746132301">"Подключиться"</string>
     <string name="vpn_edit" msgid="8647191407179996943">"Изменение профиля VPN"</string>
-    <string name="vpn_connect_to" msgid="5965299358485793260">"Подключение к <xliff:g id="PROFILE">%s</xliff:g>"</string>
+    <string name="vpn_connect_to" msgid="5965299358485793260">"Подключение к профилю \"<xliff:g id="PROFILE">%s</xliff:g>\""</string>
     <string name="vpn_title" msgid="6317731879966640551">"Настройки VPN"</string>
     <string name="vpn_create" msgid="5628219087569761496">"Добавить профиль VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Изменить профиль"</string>
@@ -2150,7 +2150,7 @@
     <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Выберите постоянную сеть VPN: трафик будет разрешен только при подключении к этой сети."</string>
     <string name="vpn_lockdown_none" msgid="9214462857336483711">"Сеть не выбрана"</string>
     <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Укажите IP-адрес для сервера и DNS."</string>
-    <string name="vpn_no_network" msgid="3050233675132726155">"Нет подключения к сети. Повторите попытку позже."</string>
+    <string name="vpn_no_network" msgid="3050233675132726155">"Отсутствует сетевое соединение. Повторите попытку позже."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Отсутствует сертификат. Измените профиль."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Система"</string>
     <string name="trusted_credentials_user_tab" msgid="2244732111398939475">"Пользователь"</string>
@@ -2373,7 +2373,7 @@
     <string name="keywords_users" msgid="4673901601478559100">"ограничение ограничить ограничено"</string>
     <string name="keywords_keyboard_and_ime" msgid="5251531893531063855">"текст исправление автокоррекция звук вибрация авто язык жест подсказка тема неприемлемый слово ввод эмодзи смайлик интернациональный"</string>
     <string name="keywords_lockscreen" msgid="4806191868723291541">"провести пальцем по экрану пароль графический ключ PIN-код"</string>
-    <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Настройка NFC-метки"</string>
+    <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"NFC-метка для настройки Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Записать"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Нажмите на метку, чтобы начать запись..."</string>
     <string name="status_invalid_password" msgid="2575271864572897406">"Неверный пароль. Повторите попытку."</string>
@@ -2436,7 +2436,7 @@
     <string name="app_notification_block_title" msgid="172237877395761371">"Заблокировать"</string>
     <string name="app_notification_block_summary" msgid="9049487483231233726">"Не показывать уведомления из этого приложения"</string>
     <string name="app_notification_priority_title" msgid="1967189807102076587">"Важные"</string>
-    <string name="app_notification_priority_summary" msgid="7513344552201639232">"Показывать уведомления в верхней части списка, в том числе когда разрешено получение только важных оповещений"</string>
+    <string name="app_notification_priority_summary" msgid="7513344552201639232">"Показывать уведомления в верхней части списка, в том числе когда разрешено получение только приоритетных уведомлений"</string>
     <string name="app_notification_sensitive_title" msgid="7707233094233553192">"Конфиденциальные"</string>
     <string name="app_notification_sensitive_summary" msgid="2505314249332316395">"Не показывать конфиденциальные данные в уведомлениях этого приложения, когда устройство заблокировано"</string>
     <string name="app_notification_row_banned" msgid="5983655258784814773">"Заблокированные"</string>
@@ -2448,8 +2448,8 @@
     <string name="zen_mode_downtime_category" msgid="2654477732333340290">"Режим оповещения"</string>
     <string name="zen_mode_downtime_days" msgid="3361856902633311616">"Дни"</string>
     <string name="zen_mode_downtime_days_none" msgid="8454857121193391322">"–"</string>
-    <string name="zen_mode_downtime_mode_title" msgid="7249388756365079715">"Оповещения"</string>
-    <string name="zen_mode_downtime_mode_priority" msgid="1599184173608032994">"Только важные"</string>
+    <string name="zen_mode_downtime_mode_title" msgid="7249388756365079715">"Все оповещения"</string>
+    <string name="zen_mode_downtime_mode_priority" msgid="1599184173608032994">"Только важные оповещения"</string>
     <string name="zen_mode_downtime_mode_none" msgid="8572229891146527069">"Не оповещать"</string>
     <string name="zen_mode_automation_category" msgid="4653551005950835761">"Автоматизация"</string>
     <string name="zen_mode_entry_conditions_title" msgid="8467976490601914289">"Включать автоматически"</string>
@@ -2486,9 +2486,9 @@
     <string name="screen_pinning_unlock_none" msgid="3814188275713871856">"Блокировать устройство при откл. блокировки в приложении"</string>
     <string name="managed_user_title" msgid="8101244883654409696">"Рабочий профиль"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(экспериментальная настройка)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"При повороте устройства"</string>
-    <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Поворачивать изображение"</string>
-    <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Сохранять вертикальную ориентацию"</string>
+    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Поворот экрана"</string>
+    <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Поворот экрана"</string>
+    <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Зафиксировать в вертикальной ориентации"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Зафиксировать в горизонтальной ориентации"</string>
     <string name="display_auto_rotate_stay_in_current" msgid="317932372686498096">"Зафиксировать в текущей ориентации"</string>
     <string name="imei_information_title" msgid="8499085421609752290">"Данные IMEI-кода"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6af190d..09ba335 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1884,6 +1884,25 @@
          Label on Wifi Configuration screen-->
     <string name="config_list_label" translatable="false">Configured networks</string>
 
+    <!-- Wireless networks, item title to go into the WFC settings [CHAR LIMIT=30] -->
+    <string name="wifi_calling_settings_title">Wi-Fi calling</string>
+    <!-- WFC mode [CHAR LIMIT=30] -->
+    <string name="wifi_calling_mode_title">Calling preference</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>
+    <!-- Wi-Fi Calling settings. Text displayed when Wi-Fi Calling is off -->
+    <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>
+
     <!-- Sound and alerts settings -->
     <skip/>
     <!-- Main Settings screen setting option name to go into the display settings screen -->
@@ -5608,6 +5627,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</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/wifi_calling_settings.xml b/res/xml/wifi_calling_settings.xml
new file mode 100644
index 0000000..ca4e560
--- /dev/null
+++ b/res/xml/wifi_calling_settings.xml
@@ -0,0 +1,29 @@
+<?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" />
+
+</PreferenceScreen>
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index a5f722b..b615c9e 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -38,6 +38,12 @@
         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
         android:fragment="com.android.settings.nfc.AndroidBeam"
         android:key="android_beam_settings"
         android:title="@string/android_beam_settings_title" />
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 84bf6157..ebb7491 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -101,5 +101,6 @@
 
     public static class TopLevelSettings extends SettingsActivity { /* empty */ }
     public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ }
 }
 
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index dc5675c..cbffa86 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -112,6 +112,7 @@
 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
 import com.android.settings.wifi.WifiSettings;
 import com.android.settings.wifi.p2p.WifiP2pSettings;
+import com.android.settings.WifiCallingSettings;
 
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -302,7 +303,8 @@
             AppNotificationSettings.class.getName(),
             OtherSoundSettings.class.getName(),
             QuickLaunchSettings.class.getName(),
-            ApnSettings.class.getName()
+            ApnSettings.class.getName(),
+            WifiCallingSettings.class.getName()
     };
 
 
diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java
new file mode 100644
index 0000000..5167ab0
--- /dev/null
+++ b/src/com/android/settings/WifiCallingSettings.java
@@ -0,0 +1,259 @@
+/*
+ * 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.app.Activity;
+import android.app.AlertDialog;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceScreen;
+import android.telephony.PhoneStateListener;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+import android.widget.Switch;
+import android.widget.TextView;
+
+import com.android.ims.ImsConfig;
+import com.android.ims.ImsManager;
+import com.android.internal.telephony.imsphone.ImsPhone;
+import com.android.settings.widget.SwitchBar;
+
+/**
+ * "Wi-Fi Calling settings" screen.  This preference screen lets you
+ * enable/disable Wi-Fi Calling and change Wi-Fi Calling mode.
+ */
+public class WifiCallingSettings extends SettingsPreferenceFragment
+        implements SwitchBar.OnSwitchChangeListener,
+        Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "WifiCallingSettings";
+
+    //String keys for preference lookup
+    private static final String BUTTON_WFC_MODE = "wifi_calling_mode";
+
+    //UI objects
+    private SwitchBar mSwitchBar;
+    private Switch mSwitch;
+    private ListPreference mButtonWfcMode;
+    private TextView mEmptyView;
+
+    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);
+            if (pref != null) {
+                pref.setEnabled(isWfcEnabled
+                        && (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();
+
+        mEmptyView = (TextView) getView().findViewById(android.R.id.empty);
+        getListView().setEmptyView(mEmptyView);
+        mEmptyView.setText(R.string.wifi_calling_off_explanation);
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        mSwitchBar.hide();
+    }
+
+    private void showAlert(Intent intent) {
+        Context context = getActivity();
+
+        CharSequence title = intent.getCharSequenceExtra(ImsPhone.EXTRA_KEY_ALERT_TITLE);
+        CharSequence message = intent.getCharSequenceExtra(ImsPhone.EXTRA_KEY_ALERT_MESSAGE);
+
+        AlertDialog.Builder builder = new AlertDialog.Builder(context);
+        builder.setMessage(message)
+                .setTitle(title)
+                .setIcon(android.R.drawable.ic_dialog_alert)
+                .setPositiveButton(android.R.string.ok, null);
+        AlertDialog dialog = builder.create();
+        dialog.show();
+    }
+
+    private IntentFilter mIntentFilter;
+
+    private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            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.
+                //
+                // In order to communicate to ImsPhone that it should
+                // 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);
+            }
+        }
+    };
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        addPreferencesFromResource(R.xml.wifi_calling_settings);
+
+        mButtonWfcMode = (ListPreference) findPreference(BUTTON_WFC_MODE);
+        mButtonWfcMode.setOnPreferenceChangeListener(this);
+
+        mIntentFilter = new IntentFilter();
+        mIntentFilter.addAction(ImsManager.ACTION_IMS_REGISTRATION_ERROR);
+    }
+
+    @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, wfcMode));
+
+        context.registerReceiver(mIntentReceiver, mIntentFilter);
+
+        Intent intent = getActivity().getIntent();
+        if (intent.getBooleanExtra(ImsPhone.EXTRA_KEY_ALERT_SHOW, false)) {
+            showAlert(intent);
+        }
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        final Context context = getActivity();
+
+        if (ImsManager.isWfcEnabledByPlatform(getActivity())) {
+            TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
+            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+
+            mSwitchBar.removeOnSwitchChangeListener(this);
+        }
+
+        context.unregisterReceiver(mIntentReceiver);
+    }
+
+    /**
+     * Listens to the state change of the switch.
+     */
+    @Override
+    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+        final Context context = getActivity();
+
+        ImsManager.setWfcSetting(context, isChecked);
+
+        int wfcMode = ImsManager.getWfcMode(context);
+        mButtonWfcMode.setSummary(getWfcModeSummary(context, wfcMode));
+        mButtonWfcMode.setEnabled(isChecked);
+
+        final PreferenceScreen preferenceScreen = getPreferenceScreen();
+        if (isChecked) {
+            preferenceScreen.addPreference(mButtonWfcMode);
+        } else {
+            preferenceScreen.removePreference(mButtonWfcMode);
+        }
+    }
+
+    @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));
+            }
+        }
+        return true;
+    }
+
+    static int getWfcModeSummary(Context context, int wfcMode) {
+        int resId = com.android.internal.R.string.wifi_calling_off_summary;
+        if (ImsManager.isWfcEnabledByUser(context)) {
+            switch (wfcMode) {
+                case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
+                    resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
+                    break;
+                case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
+                    resId = com.android.internal.R.string.wfc_mode_cellular_preferred_summary;
+                    break;
+                case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
+                    resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
+                    break;
+                default:
+                    Log.e(TAG, "Unexpected WFC mode value: " + wfcMode);
+            }
+        }
+        return resId;
+    }
+}
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
diff --git a/src/com/android/settings/search/Ranking.java b/src/com/android/settings/search/Ranking.java
index 6abbc3d..0022338 100644
--- a/src/com/android/settings/search/Ranking.java
+++ b/src/com/android/settings/search/Ranking.java
@@ -47,6 +47,7 @@
 import com.android.settings.wifi.AdvancedWifiSettings;
 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
 import com.android.settings.wifi.WifiSettings;
+import com.android.settings.WifiCallingSettings;
 
 import java.util.HashMap;
 
@@ -104,6 +105,7 @@
 
         // Other wireless settinfs
         sRankMap.put(WirelessSettings.class.getName(), RANK_WIRELESS);
+        sRankMap.put(WifiCallingSettings.class.getName(), RANK_WIRELESS);
 
         // Home
         sRankMap.put(HomeSettings.class.getName(), RANK_HOME);
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 502480d..d774469 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -49,6 +49,7 @@
 import com.android.settings.wifi.AdvancedWifiSettings;
 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
 import com.android.settings.wifi.WifiSettings;
+import com.android.settings.WifiCallingSettings;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -270,6 +271,13 @@
                         NO_DATA_RES_ID,
                         DeviceInfoSettings.class.getName(),
                         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() {