Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release'

Change-Id: I6c9de433a224925961b484b400a89edf9059d2bd
This commit is contained in:
Vinit Deshpande
2015-03-16 00:55:25 -07:00
17 changed files with 506 additions and 38 deletions

View File

@@ -2180,6 +2180,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"

View File

@@ -66,6 +66,31 @@
style="@style/wifi_item_content"
android:prompt="@string/wifi_security"
android:entries="@array/wifi_ap_security" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_label"
android:layout_marginTop="8dip"
android:text="@string/wifi_ap_band_config" />
<RadioGroup android:id = "@+id/choose_channel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton android:id="@+id/ap_2G_band"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/wifi_ap_choose_2G"
android:layout_marginTop="8dip"/>
<RadioButton android:id="@+id/ap_5G_band"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/wifi_ap_choose_5G"
android:layout_marginTop="8dip"/>
</RadioGroup>
</LinearLayout>
<LinearLayout android:id="@+id/fields"

View File

@@ -544,6 +544,7 @@
<string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Pour la musique et le multimédia"</string>
<string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Mémoriser ces paramètres"</string>
<string name="wifi_assistant_title" msgid="2553267316621598101">"Assistant WiFi"</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_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>

View File

@@ -476,8 +476,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>

View File

@@ -134,7 +134,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>
@@ -538,7 +538,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_disconnect_a2dp_profile" msgid="3524648279150937177">"Urządzenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> zostanie odłączone od funkcji audio multimediów."</string>
<string name="bluetooth_disconnect_headset_profile" msgid="8635908811168780720">"Urządzenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> zostanie odłączone od zestawu głośnomówiącego."</string>
@@ -695,7 +695,7 @@
<string name="wifi_skipped_message" product="default" msgid="6084295135297772350">"OSTRZEŻENIE: jeśli nie dodasz sieci WiFi, 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 WiFi:\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 WiFi:\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 WiFi:\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 WiFi:\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>
@@ -746,7 +746,7 @@
<string name="wifi_hotspot_configure_ap_text_summary" msgid="5618031116920832182">"Przenośny hotspot WiFi 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>

View File

@@ -2202,7 +2202,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>

View File

@@ -384,8 +384,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>
@@ -491,7 +491,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>
@@ -549,7 +549,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_pan_user_profile_summary_connected" msgid="4602294638909590612">"Используется интернет-подключение другого устройства"</string>
@@ -607,7 +607,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>
@@ -701,7 +701,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>
@@ -919,11 +919,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>
@@ -941,7 +941,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>
@@ -995,7 +995,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>
@@ -1003,12 +1003,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>
@@ -1227,7 +1227,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>
@@ -1626,7 +1626,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>
@@ -1675,7 +1675,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>
@@ -1810,9 +1810,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>
@@ -1827,7 +1827,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>
@@ -1970,7 +1970,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>
@@ -2146,7 +2146,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>
@@ -2155,7 +2155,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>
@@ -2379,7 +2379,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>
@@ -2446,7 +2446,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>
@@ -2458,8 +2458,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>
@@ -2496,9 +2496,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>

View File

@@ -1553,6 +1553,12 @@
<string name="wifi_password">Password</string>
<!-- Label for the check box to show password -->
<string name="wifi_show_password">Show password</string>
<!-- Label for the RadioGroup to choose wifi ap band -->
<string name="wifi_ap_band_config">Config AP Band</string>
<!-- Label for the radio button to choose wifi ap 2.4 GHz band -->
<string name="wifi_ap_choose_2G">2.4 GHz Band</string>
<!-- Label for the radio button to choose wifi ap 5GHz band -->
<string name="wifi_ap_choose_5G">5 GHz Band</string>
<!-- Label for the spinner to show ip settings [CHAR LIMIT=25] -->
<string name="wifi_ip_settings">IP settings</string>
<!-- Hint for unchanged fields -->
@@ -1811,6 +1817,35 @@
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">Wi-Fi calling mode</string>
<!-- WFC mode dialog [CHAR LIMIT=30] -->
<string name="wifi_calling_mode_dialog_title">Wi-Fi calling mode</string>
<string-array name="wifi_calling_mode_choices">
<item>Wi-Fi preferred</item>
<item>Cellular preferred</item>
<item>Wi-Fi only</item>
</string-array>
<string-array name="wifi_calling_mode_values">
<item>"2"</item>
<item>"1"</item>
<item>"0"</item>
</string-array>
<!-- WFC, summary for Disabled [CHAR LIMIT=100] -->
<string name="wifi_calling_off_summary">Off</string>
<!-- WFC, summary for Wi-Fi Preferred [CHAR LIMIT=100] -->
<string name="wfc_mode_wifi_preferred_summary">Wi-Fi preferred (Uses cell network only if Wi-Fi isn\'t available)</string>
<!-- WFC, summary for Cellular Preferred [CHAR LIMIT=100] -->
<string name="wfc_mode_cellular_preferred_summary">Cellular preferred (Uses Wi-Fi only if cell network isn\'t available)</string>
<!-- WFC, summary for Wi-Fi Only [CHAR LIMIT=100] -->
<string name="wfc_mode_wifi_only_summary">Wi-Fi only (Never uses cell network. Can\'t make or receive calls if Wi-Fi isn\'t available)</string>
<!-- WFC roam enable/disable [CHAR LIMIT=30] -->
<string name="wifi_calling_roam_title">WFC handoff while roaming</string>
<!-- WFC roam summary [CHAR LIMIT=80] -->
<string name="wifi_calling_roam_summary">Allow Wi-Fi voice calls handoff to cell network when roaming</string>
<!-- Sound and alerts settings -->
<skip/>
<!-- Main Settings screen setting option name to go into the display settings screen -->
@@ -5555,6 +5590,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_home">launcher</string>
<string name="keywords_display">screen touchscreen</string>
<string name="keywords_display_brightness_level">dim screen touchscreen battery</string>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="wifi_calling_settings"
android:title="@string/wifi_calling_settings_title">
<ListPreference
android:key="wifi_calling_mode"
android:title="@string/wifi_calling_mode_title"
android:summary="@string/wifi_calling_mode_title"
android:entries="@array/wifi_calling_mode_choices"
android:entryValues="@array/wifi_calling_mode_values"
android:dialogTitle="@string/wifi_calling_mode_dialog_title" />
<SwitchPreference
android:key="wifi_calling_roam"
android:title="@string/wifi_calling_roam_title"
android:persistent="false"/>
</PreferenceScreen>

View File

@@ -63,6 +63,12 @@
android:targetClass="com.android.phone.MobileNetworkSettings" />
</PreferenceScreen>
<PreferenceScreen
android:key="wifi_calling_settings"
android:title="@string/wifi_calling_settings_title"
settings:keywords="@string/keywords_wifi_calling"
android:fragment="com.android.settings.WifiCallingSettings" />
<Preference
android:key="manage_mobile_plan"
android:title="@string/manage_mobile_plan_title"

View File

@@ -100,5 +100,6 @@ public class Settings extends SettingsActivity {
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ }
}

View File

@@ -112,6 +112,7 @@ import com.android.settings.wifi.AdvancedWifiSettings;
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,6 +303,8 @@ public class SettingsActivity extends Activity
AppNotificationSettings.class.getName(),
OtherSoundSettings.class.getName(),
ApnSettings.class.getName()
QuickLaunchSettings.class.getName(),
WifiCallingSettings.class.getName()
};

View File

@@ -0,0 +1,275 @@
/*
* 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.SwitchPreference;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Switch;
import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
import com.android.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, change mode, enable/disable
* handover while on roaming.
*/
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";
private static final String BUTTON_WFC_ROAM = "wifi_calling_roam";
//UI objects
private SwitchBar mSwitchBar;
private Switch mSwitch;
private ListPreference mButtonWfcMode;
private SwitchPreference mButtonWfcRoam;
private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
/*
* Enable/disable controls when in/out of a call and depending on
* TTY mode and TTY support over VoLTE.
* @see android.telephony.PhoneStateListener#onCallStateChanged(int,
* java.lang.String)
*/
@Override
public void onCallStateChanged(int state, String incomingNumber) {
final SettingsActivity activity = (SettingsActivity) getActivity();
boolean isNonTtyOrTtyOnVolteEnabled = ImsManager
.isNonTtyOrTtyOnVolteEnabled(activity);
final SwitchBar switchBar = activity.getSwitchBar();
boolean isWfcEnabled = switchBar.getSwitch().isChecked()
&& isNonTtyOrTtyOnVolteEnabled;
switchBar.setEnabled((state == TelephonyManager.CALL_STATE_IDLE)
&& isNonTtyOrTtyOnVolteEnabled);
Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
int wfcMode = ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY;
if (pref != null) {
pref.setEnabled(isWfcEnabled
&& (state == TelephonyManager.CALL_STATE_IDLE));
ListPreference prefWfcMode = (ListPreference) pref;
wfcMode = Integer.valueOf(prefWfcMode.getValue()).intValue();
}
pref = getPreferenceScreen().findPreference(BUTTON_WFC_ROAM);
if (pref != null) {
pref.setEnabled(isWfcEnabled
&& (wfcMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY)
&& (state == TelephonyManager.CALL_STATE_IDLE));
}
}
};
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final SettingsActivity activity = (SettingsActivity) getActivity();
mSwitchBar = activity.getSwitchBar();
mSwitch = mSwitchBar.getSwitch();
mSwitchBar.show();
}
@Override
public void onDestroyView() {
super.onDestroyView();
mSwitchBar.hide();
}
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.stat_sys_warning)
.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(ImsPhone.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);
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);
mButtonWfcRoam = (SwitchPreference) findPreference(BUTTON_WFC_ROAM);
mButtonWfcRoam.setOnPreferenceChangeListener(this);
mIntentFilter = new IntentFilter();
mIntentFilter.addAction(ImsPhone.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));
mButtonWfcRoam.setChecked(wfcEnabled
&& (wfcMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY)
&& ImsManager.isWfcRoamingEnabledByUser(context));
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);
boolean wfcHandoffEnabled = (wfcMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY);
mButtonWfcRoam.setEnabled(isChecked && wfcHandoffEnabled);
mButtonWfcRoam.setChecked(isChecked && wfcHandoffEnabled
&& ImsManager.isWfcRoamingEnabledByUser(context));
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
final Context context = getActivity();
if (preference == mButtonWfcMode) {
mButtonWfcMode.setValue((String) newValue);
int buttonMode = Integer.valueOf((String) newValue);
int currentMode = ImsManager.getWfcMode(context);
if (buttonMode != currentMode) {
ImsManager.setWfcMode(context, buttonMode);
mButtonWfcMode.setSummary(getWfcModeSummary(context, buttonMode));
}
boolean wfcHandoffEnabled =
(buttonMode != ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY);
mButtonWfcRoam.setEnabled(wfcHandoffEnabled);
mButtonWfcRoam.setChecked(wfcHandoffEnabled &&
ImsManager.isWfcRoamingEnabledByUser(context));
} else if (preference == mButtonWfcRoam) {
SwitchPreference wfcRoamPref = (SwitchPreference) preference;
wfcRoamPref.setChecked(!wfcRoamPref.isChecked());
ImsManager.setWfcRoamingSetting(context, wfcRoamPref.isChecked());
}
return true;
}
static int getWfcModeSummary(Context context, int wfcMode) {
int resId = R.string.wifi_calling_off_summary;
if (ImsManager.isWfcEnabledByUser(context)) {
switch (wfcMode) {
case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
resId = R.string.wfc_mode_wifi_only_summary;
break;
case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
resId = R.string.wfc_mode_cellular_preferred_summary;
break;
case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
resId = R.string.wfc_mode_wifi_preferred_summary;
break;
default:
Log.e(TAG, "Unexpected WFC mode value: " + wfcMode);
}
}
return resId;
}
}

View File

@@ -47,6 +47,8 @@ import android.telephony.TelephonyManager;
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.internal.telephony.TelephonyProperties;
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 @@ public class WirelessSettings extends SettingsPreferenceFragment
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 @@ public class WirelessSettings extends SettingsPreferenceFragment
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
@@ -272,6 +277,12 @@ public class WirelessSettings extends SettingsPreferenceFragment
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);
@@ -413,6 +424,12 @@ public class WirelessSettings extends SettingsPreferenceFragment
if (mNsdEnabler != null) {
mNsdEnabler.resume();
}
final Context context = getActivity();
if (ImsManager.isWfcEnabledByPlatform(context)) {
mButtonWfc.setSummary(WifiCallingSettings.getWfcModeSummary(
context, ImsManager.getWfcMode(context)));
}
}
@Override

View File

@@ -47,6 +47,7 @@ import com.android.settings.voice.VoiceInputSettings;
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 @@ public final class Ranking {
// 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);

View File

@@ -49,6 +49,7 @@ import com.android.settings.voice.VoiceInputSettings;
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 @@ public final class SearchIndexableResources {
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() {

View File

@@ -22,6 +22,7 @@ import android.content.DialogInterface;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiConfiguration.AuthAlgorithm;
import android.net.wifi.WifiConfiguration.KeyMgmt;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputType;
@@ -32,9 +33,13 @@ import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.RadioGroup;
import android.widget.RadioButton;
import com.android.settings.R;
import android.util.Log;
/**
* Dialog to configure the SSID and security settings
* for Access Point operation
@@ -53,8 +58,14 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
private TextView mSsid;
private int mSecurityTypeIndex = OPEN_INDEX;
private EditText mPassword;
private RadioGroup mChannel;
private RadioButton mChannel2G;
private RadioButton mChannel5G;
WifiConfiguration mWifiConfig;
WifiManager mWifiManager;
private static final String TAG = "WifiApDialog";
public WifiApDialog(Context context, DialogInterface.OnClickListener listener,
WifiConfiguration wifiConfig) {
@@ -64,6 +75,7 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
if (wifiConfig != null) {
mSecurityTypeIndex = getSecurityTypeIndex(wifiConfig);
}
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
}
public static int getSecurityTypeIndex(WifiConfiguration wifiConfig) {
@@ -85,6 +97,16 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
*/
config.SSID = mSsid.getText().toString();
//obtain the band configure
if (mChannel2G.isChecked()) {
config.apBand = 0;
} else if(mChannel5G.isChecked()) {
config.apBand = 1;
} else {
Log.e("TAG", "AP band configure error!");
return null;
}
switch (mSecurityTypeIndex) {
case OPEN_INDEX:
config.allowedKeyManagement.set(KeyMgmt.NONE);
@@ -118,15 +140,36 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
mSsid = (TextView) mView.findViewById(R.id.ssid);
mPassword = (EditText) mView.findViewById(R.id.password);
mChannel = (RadioGroup) mView.findViewById(R.id.choose_channel);
mChannel2G = (RadioButton) mView.findViewById(R.id.ap_2G_band);
mChannel5G = (RadioButton) mView.findViewById(R.id.ap_5G_band);
String countryCode = mWifiManager.getCountryCode();
if (!mWifiManager.is5GHzBandSupported() || countryCode == null) {
//If no country code, 5GHz AP is forbidden
Log.e(TAG," NO country code, forbid 5GHz");
mChannel5G.setVisibility(View.INVISIBLE);
mWifiConfig.apBand = 0;
} else {
mChannel5G.setVisibility(View.VISIBLE);
}
setButton(BUTTON_SUBMIT, context.getString(R.string.wifi_save), mListener);
setButton(DialogInterface.BUTTON_NEGATIVE,
context.getString(R.string.wifi_cancel), mListener);
if (mWifiConfig != null) {
mSsid.setText(mWifiConfig.SSID);
if (mWifiConfig.apBand == 0) {
mChannel2G.setChecked(true);
} else {
mChannel5G.setChecked(true);
}
mSecurity.setSelection(mSecurityTypeIndex);
if (mSecurityTypeIndex == WPA2_INDEX) {
mPassword.setText(mWifiConfig.preSharedKey);
mPassword.setText(mWifiConfig.preSharedKey);
}
}