summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout-sw600dp/crypt_keeper_password_entry.xml8
-rw-r--r--res/layout/app_percentage_item.xml4
-rw-r--r--res/layout/crypt_keeper_status.xml2
-rw-r--r--res/layout/data_usage_cycles.xml4
-rw-r--r--res/layout/data_usage_detail.xml14
-rw-r--r--res/layout/data_usage_header.xml8
-rw-r--r--res/values-ca/strings.xml2
-rw-r--r--res/values-cs/strings.xml4
-rw-r--r--res/values-el/strings.xml6
-rw-r--r--res/values-en-rGB/strings.xml6
-rw-r--r--res/values-fr/strings.xml6
-rw-r--r--res/values-hr/strings.xml8
-rw-r--r--res/values-it/strings.xml6
-rw-r--r--res/values-ko/strings.xml10
-rw-r--r--res/values-nb/strings.xml4
-rw-r--r--res/values-sw/strings.xml21
-rw-r--r--res/values-th/strings.xml2
-rw-r--r--res/values-vi/strings.xml21
-rw-r--r--res/values-zh-rCN/strings.xml2
-rw-r--r--res/values-zh-rTW/strings.xml10
-rw-r--r--res/values/strings.xml2
-rw-r--r--res/xml/data_usage_metered_prefs.xml10
-rw-r--r--src/com/android/settings/CryptKeeper.java10
-rw-r--r--src/com/android/settings/DataUsageSummary.java47
-rw-r--r--src/com/android/settings/inputmethod/InputMethodAndSubtypeUtil.java54
-rw-r--r--src/com/android/settings/inputmethod/InputMethodPreference.java10
-rw-r--r--src/com/android/settings/net/DataUsageMeteredSettings.java9
27 files changed, 171 insertions, 119 deletions
diff --git a/res/layout-sw600dp/crypt_keeper_password_entry.xml b/res/layout-sw600dp/crypt_keeper_password_entry.xml
index fe6edaf..f8c113d 100644
--- a/res/layout-sw600dp/crypt_keeper_password_entry.xml
+++ b/res/layout-sw600dp/crypt_keeper_password_entry.xml
@@ -16,7 +16,8 @@
** limitations under the License.
*/
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
@@ -25,7 +26,7 @@
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
+ android:layout_gravity="center_horizontal"
android:layout_marginTop="318dip"
>
<ImageView android:id="@+id/encroid"
@@ -53,10 +54,11 @@
android:layout_width="320dip"
android:layout_toRightOf="@+id/passwordLabel"
android:layout_marginTop="26dip"
+ android:layout_centerVertical="true"
android:orientation="horizontal"
>
<include layout="@layout/crypt_keeper_password_field" />
</LinearLayout>
</RelativeLayout>
-</RelativeLayout>
+</LinearLayout>
diff --git a/res/layout/app_percentage_item.xml b/res/layout/app_percentage_item.xml
index e5710e4..949999a 100644
--- a/res/layout/app_percentage_item.xml
+++ b/res/layout/app_percentage_item.xml
@@ -18,8 +18,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
- android:paddingLeft="@*android:dimen/preference_item_padding_side"
- android:paddingRight="@*android:dimen/preference_item_padding_side"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingRight="?android:attr/listPreferredItemPaddingRight"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:columnCount="3">
diff --git a/res/layout/crypt_keeper_status.xml b/res/layout/crypt_keeper_status.xml
index d94e66d..b92bbe8 100644
--- a/res/layout/crypt_keeper_status.xml
+++ b/res/layout/crypt_keeper_status.xml
@@ -23,6 +23,7 @@
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
>
<com.android.internal.widget.DigitalClock android:id="@+id/time"
@@ -31,6 +32,7 @@
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="8dip"
+ android:layout_gravity="center"
android:layout_marginBottom="8dip"
>
diff --git a/res/layout/data_usage_cycles.xml b/res/layout/data_usage_cycles.xml
index 136fec6..c9647c8 100644
--- a/res/layout/data_usage_cycles.xml
+++ b/res/layout/data_usage_cycles.xml
@@ -20,8 +20,8 @@
android:layout_height="40dip"
android:orientation="horizontal"
android:gravity="center_vertical"
- android:paddingLeft="@*android:dimen/preference_item_padding_side"
- android:paddingRight="@*android:dimen/preference_item_padding_side">
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingRight="?android:attr/listPreferredItemPaddingRight">
<TextView
android:layout_width="wrap_content"
diff --git a/res/layout/data_usage_detail.xml b/res/layout/data_usage_detail.xml
index 639fcf5..0ce17d2 100644
--- a/res/layout/data_usage_detail.xml
+++ b/res/layout/data_usage_detail.xml
@@ -18,20 +18,22 @@
android:id="@+id/app_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="vertical">
+ android:orientation="vertical"
+ android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginLeft="@*android:dimen/preference_item_padding_side"
- android:layout_marginRight="@*android:dimen/preference_item_padding_side"
+ android:layout_marginLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:layout_marginRight="?android:attr/listPreferredItemPaddingRight"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:layout_marginRight="@*android:dimen/preference_item_padding_inner"
+ android:layout_marginTop="8dip"
+ android:layout_marginRight="8dip"
android:orientation="vertical">
<ImageView
@@ -82,8 +84,8 @@
android:id="@+id/app_settings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginLeft="@*android:dimen/preference_item_padding_side"
- android:layout_marginRight="@*android:dimen/preference_item_padding_side"
+ android:layout_marginLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:layout_marginRight="?android:attr/listPreferredItemPaddingRight"
android:layout_marginTop="16dip"
android:layout_marginBottom="16dip"
android:text="@string/data_usage_app_settings" />
diff --git a/res/layout/data_usage_header.xml b/res/layout/data_usage_header.xml
index a7b12b7..619956d 100644
--- a/res/layout/data_usage_header.xml
+++ b/res/layout/data_usage_header.xml
@@ -41,8 +41,8 @@
android:id="@+id/usage_summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="@*android:dimen/preference_item_padding_side"
- android:paddingRight="@*android:dimen/preference_item_padding_side"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingRight="?android:attr/listPreferredItemPaddingRight"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:textAppearance="?android:attr/textAppearanceSmall" />
@@ -52,8 +52,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
- android:paddingLeft="@*android:dimen/preference_item_padding_side"
- android:paddingRight="@*android:dimen/preference_item_padding_side"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingRight="?android:attr/listPreferredItemPaddingRight"
android:paddingBottom="8dip"
android:text="@string/data_usage_empty"
android:textAppearance="?android:attr/textAppearanceSmall" />
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index b8c584d..7e2ca00 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1505,7 +1505,7 @@
<string name="show_hw_screen_updates_summary" msgid="5280716513731970663">"Destaca les zones de pantalla en actual. amb GPU"</string>
<string name="disable_overlays" msgid="3645736086368449005">"Desactiva superposicions"</string>
<string name="disable_overlays_summary" msgid="7111098018524381234">"No utilitzis superpos. per a composició pantalla"</string>
- <string name="debug_layout" msgid="5981361776594526155">"Mostra límits format"</string>
+ <string name="debug_layout" msgid="5981361776594526155">"Mostra límits de format"</string>
<string name="debug_layout_summary" msgid="978411395294379156">"Mostra la informació sobre límits, separació, etc."</string>
<string name="show_cpu_usage" msgid="2389212910758076024">"Mostra l\'ús de la CPU"</string>
<string name="show_cpu_usage_summary" msgid="2113341923988958266">"Superposició de pantalla mostra ús actual de CPU"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 2a5adaf..e5aa821 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -815,7 +815,7 @@
<string name="menu_delete" msgid="6981294422841124659">"Smazat název přístupového bodu"</string>
<string name="menu_new" msgid="3014205883303921729">"Nový název AP"</string>
<string name="menu_save" msgid="8109345640668285399">"Uložit"</string>
- <string name="menu_cancel" msgid="2194502410474697474">"Zrušit"</string>
+ <string name="menu_cancel" msgid="2194502410474697474">"Zahodit"</string>
<string name="error_title" msgid="7631322303341024692"></string>
<string name="error_name_empty" msgid="8418502878620394756">"Pole Název nesmí být prázdné."</string>
<string name="error_apn_empty" msgid="6056233831214537267">"Název přístupového bodu (APN) nesmí být prázdný."</string>
@@ -1657,7 +1657,7 @@
<string name="user_max_content_rating" msgid="8297759970216482772">"Klasifikace obsahu"</string>
<string name="user_system_apps_heading" msgid="2408331798732183682">"Systémové aplikace"</string>
<string name="user_market_apps_heading" msgid="4657387297168308251">"Nainstalované aplikace"</string>
- <string name="user_discard_user_menu" msgid="6638388031088461242">"Zrušit"</string>
+ <string name="user_discard_user_menu" msgid="6638388031088461242">"Zahodit"</string>
<string name="user_remove_user_menu" msgid="3210146886949340574">"Odebrat uživatele"</string>
<string name="user_new_user_name" msgid="7603010274765911161">"Uličník"</string>
<string name="user_confirm_remove_title" msgid="3856148232937245711">"Chcete uživatele odebrat?"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 1652483..4b7cad4 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -1356,10 +1356,8 @@
<string name="credentials_reset_summary" msgid="3369361230171260282">"Κατάργηση όλων των πιστοποιητικών"</string>
<string name="trusted_credentials" msgid="4266945289534242402">"Αξιόπιστα διαπιστευτήρια"</string>
<string name="trusted_credentials_summary" msgid="6735221351155686632">"Προβολή αξιόπιστων πιστοποιητικών CA"</string>
- <!-- no translation found for credentials_install_gesture_prompt (2207390278112395082) -->
- <skip />
- <!-- no translation found for credentials_install_gesture_explanation (7408921172253634829) -->
- <skip />
+ <string name="credentials_install_gesture_prompt" msgid="2207390278112395082">"Σχεδιάστε το μοτίβο ξεκλειδώματος"</string>
+ <string name="credentials_install_gesture_explanation" msgid="7408921172253634829">"Πρέπει να σχεδιάσετε το μοτίβο ξεκλειδώματος για να επιβεβαιώσετε την εγκατάσταση των διαπιστευτηρίων."</string>
<string name="credentials_unlock" msgid="385427939577366499"></string>
<string name="credentials_unlock_hint" msgid="2301301378040499348">"Πληκτρολογήστε τον κωδικό πρόσβασης του αποθηκευτικού χώρου διαπιστευτηρίων."</string>
<string name="credentials_old_password" msgid="7553393815538684028">"Τρέχον κωδικός πρόσβασης:"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 16564fc..9e349b8 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -1356,10 +1356,8 @@
<string name="credentials_reset_summary" msgid="3369361230171260282">"Remove all certificates"</string>
<string name="trusted_credentials" msgid="4266945289534242402">"Trusted credentials"</string>
<string name="trusted_credentials_summary" msgid="6735221351155686632">"Display trusted CA certificates"</string>
- <!-- no translation found for credentials_install_gesture_prompt (2207390278112395082) -->
- <skip />
- <!-- no translation found for credentials_install_gesture_explanation (7408921172253634829) -->
- <skip />
+ <string name="credentials_install_gesture_prompt" msgid="2207390278112395082">"Draw your unlock pattern"</string>
+ <string name="credentials_install_gesture_explanation" msgid="7408921172253634829">"You need to draw your unlock pattern to confirm credential installation."</string>
<string name="credentials_unlock" msgid="385427939577366499"></string>
<string name="credentials_unlock_hint" msgid="2301301378040499348">"Type the password for credential storage."</string>
<string name="credentials_old_password" msgid="7553393815538684028">"Current password:"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 254463a..233367d 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1356,10 +1356,8 @@
<string name="credentials_reset_summary" msgid="3369361230171260282">"Supprimer tous les certificats"</string>
<string name="trusted_credentials" msgid="4266945289534242402">"Certificats de confiance"</string>
<string name="trusted_credentials_summary" msgid="6735221351155686632">"Afficher les certificats d\'autorité de confiance"</string>
- <!-- no translation found for credentials_install_gesture_prompt (2207390278112395082) -->
- <skip />
- <!-- no translation found for credentials_install_gesture_explanation (7408921172253634829) -->
- <skip />
+ <string name="credentials_install_gesture_prompt" msgid="2207390278112395082">"Dessinez votre schéma de déverrouillage."</string>
+ <string name="credentials_install_gesture_explanation" msgid="7408921172253634829">"Pour confirmer l\'installation des certificats, vous devez dessiner votre schéma de déverrouillage."</string>
<string name="credentials_unlock" msgid="385427939577366499"></string>
<string name="credentials_unlock_hint" msgid="2301301378040499348">"Saisir le mot de passe de stockage des identifiants"</string>
<string name="credentials_old_password" msgid="7553393815538684028">"Mot de passe actuel :"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index dd24fa2..4285389 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -992,7 +992,7 @@
<string name="clear_user_data_text" msgid="5597622864770098388">"Izbriši podatke"</string>
<string name="app_factory_reset" msgid="6635744722502563022">"Deinstaliraj ažuriranja"</string>
<string name="auto_launch_enable_text" msgid="2652825923953591251">"Odlučili ste da se ta aplikacija pokreće prema zadanim postavkama za neke radnje."</string>
- <string name="always_allow_bind_appwidgets_text" msgid="3368654672141202604">"Odlučili ste dopustiti ovoj aplikaciji stvaranje widgeta i pristupanje njihovim podacima."</string>
+ <string name="always_allow_bind_appwidgets_text" msgid="3368654672141202604">"Odlučili ste dopustiti ovoj aplikaciji izradu widgeta i pristupanje njihovim podacima."</string>
<string name="auto_launch_disable_text" msgid="7800385822185540166">"Nema zadanih postavki."</string>
<string name="clear_activities" msgid="7408923511535174430">"Izbriši zadane postavke"</string>
<string name="screen_compatibility_text" msgid="1616155457673106022">"Ta aplikacija možda nije dizajnirana za vaš zaslon. Ovdje možete provjeriti kako se prilagođava vašem zaslonu."</string>
@@ -1179,9 +1179,9 @@
<string name="dev_settings_warning_message" msgid="2298337781139097964">"Ove su postavke namijenjene samo razvojnim programerima. One mogu uzrokovati kvar ili neželjeno ponašanje vašeg uređaja i aplikacija na njemu."</string>
<string name="gadget_picker_title" msgid="98374951396755811">"Odaberi gadget"</string>
<string name="widget_picker_title" msgid="9130684134213467557">"Odaberite widget"</string>
- <string name="allow_bind_app_widget_activity_allow_bind_title" msgid="2538303018392590627">"Napraviti widget i dozvoliti pristup?"</string>
- <string name="allow_bind_app_widget_activity_allow_bind" msgid="1584388129273282080">"Kada stvorite widget, aplikacija <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> može pristupiti svim podacima koje taj widget prikazuje."</string>
- <string name="allow_bind_app_widget_activity_always_allow_bind" msgid="7037503685859688034">"Uvijek dopusti aplikaciji <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> stvaranje widgeta i pristupanje njihovim podacima"</string>
+ <string name="allow_bind_app_widget_activity_allow_bind_title" msgid="2538303018392590627">"Želite izraditi widget i dozvoliti pristup?"</string>
+ <string name="allow_bind_app_widget_activity_allow_bind" msgid="1584388129273282080">"Kada izradite widget, aplikacija <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> može pristupiti svim podacima koje taj widget prikazuje."</string>
+ <string name="allow_bind_app_widget_activity_always_allow_bind" msgid="7037503685859688034">"Uvijek dopusti aplikaciji <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> izradu widgeta i pristupanje njihovim podacima"</string>
<string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> d <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> min <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
<string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g>min <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
<string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> min <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 1957c97..7618c5b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1356,10 +1356,8 @@
<string name="credentials_reset_summary" msgid="3369361230171260282">"Rimuovi tutti i certificati"</string>
<string name="trusted_credentials" msgid="4266945289534242402">"Credenziali attendibili"</string>
<string name="trusted_credentials_summary" msgid="6735221351155686632">"Visualizza certificati CA attendibili"</string>
- <!-- no translation found for credentials_install_gesture_prompt (2207390278112395082) -->
- <skip />
- <!-- no translation found for credentials_install_gesture_explanation (7408921172253634829) -->
- <skip />
+ <string name="credentials_install_gesture_prompt" msgid="2207390278112395082">"Inserisci la sequenza di sblocco"</string>
+ <string name="credentials_install_gesture_explanation" msgid="7408921172253634829">"Per confermare l\'installazione delle credenziali devi inserire la sequenza di sblocco."</string>
<string name="credentials_unlock" msgid="385427939577366499"></string>
<string name="credentials_unlock_hint" msgid="2301301378040499348">"Digita la password per l\'archivio credenziali."</string>
<string name="credentials_old_password" msgid="7553393815538684028">"Password attuale:"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index dd199d6..91c1c78 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1529,7 +1529,7 @@
<string name="data_usage_menu_split_4g" msgid="5322857680792601899">"4G 사용 구분"</string>
<string name="data_usage_menu_show_wifi" msgid="8266875319417201085">"Wi-Fi 사용량 표시"</string>
<string name="data_usage_menu_show_ethernet" msgid="5181361208532314097">"이더넷 사용량 표시"</string>
- <string name="data_usage_menu_metered" msgid="8386567111915152271">"요금이 부과되는 네트워크"</string>
+ <string name="data_usage_menu_metered" msgid="8386567111915152271">"종량제 네트워크"</string>
<string name="data_usage_change_cycle" msgid="7776556448920114866">"주기 변경..."</string>
<string name="data_usage_pick_cycle_day" msgid="4470796861757050966">"데이터 사용 주기를 재설정할 날짜:"</string>
<string name="data_usage_empty" msgid="8621855507876539282">"이 기간 동안 데이터를 사용한 앱이 없습니다."</string>
@@ -1553,10 +1553,10 @@
<string name="data_usage_enable_4g" msgid="3635854097335036738">"4G 데이터"</string>
<string name="data_usage_app_settings" msgid="8430240158135453271">"앱 설정 보기"</string>
<string name="data_usage_app_restrict_background" msgid="9149728936265100841">"백그라운드 데이터 제한"</string>
- <string name="data_usage_app_restrict_background_summary" msgid="7414394653383835260">"요금이 부과되는 네트워크에서 백그라운드 데이터를 사용하지 않도록 설정합니다. 가능한 경우 무제한 네트워크가 사용됩니다."</string>
+ <string name="data_usage_app_restrict_background_summary" msgid="7414394653383835260">"종량제 네트워크에서 백그라운드 데이터를 사용하지 않도록 설정합니다. 가능한 경우 무제한 네트워크가 사용됩니다."</string>
<string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"이 앱에 대해 백그라운드 데이터를 제한하려면 먼저 모바일 데이터 제한을 설정하세요."</string>
<string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"백그라운드 데이터 사용 제한"</string>
- <string name="data_usage_app_restrict_dialog" msgid="1551946513417839948">"요금이 부과되는 네트워크만 사용할 수 있는 경우 백그라운드 데이터에 의존하는 앱이 중단될 수 있습니다. "\n\n"앱 설정에서 데이터 사용을 더 적절하게 관리할 수 있는 컨트롤을 찾아 볼 수 있습니다."</string>
+ <string name="data_usage_app_restrict_dialog" msgid="1551946513417839948">"종량제 네트워크만 사용할 수 있는 경우 백그라운드 데이터에 의존하는 앱이 중단될 수 있습니다. "\n\n"앱 설정에서 데이터 사용을 더 적절하게 관리할 수 있는 컨트롤을 찾아 볼 수 있습니다."</string>
<string name="data_usage_restrict_denied_dialog" msgid="7086969103661420799">"백그라운드 데이터는 모바일 데이터 한도를 설정한 경우에만 제한할 수 있습니다."</string>
<string name="data_usage_cycle_editor_title" msgid="1373797281540188533">"사용 주기 재설정"</string>
<string name="data_usage_cycle_editor_subtitle" msgid="5512903797979928416">"날짜:"</string>
@@ -1575,8 +1575,8 @@
<string name="data_usage_total_during_range" msgid="4091294280619255237">"<xliff:g id="RANGE">%2$s</xliff:g>: 약 <xliff:g id="TOTAL">%1$s</xliff:g> 사용됨"</string>
<string name="data_usage_total_during_range_mobile" product="tablet" msgid="5961720793603268572">"<xliff:g id="RANGE">%2$s</xliff:g>: 약 <xliff:g id="TOTAL">%1$s</xliff:g> 사용됨 - 태블릿을 기준으로 측정된 데이터 사용량이며 이동통신사에서는 사용량을 다르게 계산할 수 있습니다."</string>
<string name="data_usage_total_during_range_mobile" product="default" msgid="1625833170144610767">"<xliff:g id="RANGE">%2$s</xliff:g>: 약 <xliff:g id="TOTAL">%1$s</xliff:g> 사용됨 - 휴대전화를 기준으로 측정된 데이터 사용량이며 이동통신사에서는 사용량을 다르게 계산할 수 있습니다."</string>
- <string name="data_usage_metered_title" msgid="311250454694217878">"요금 부과 네트워크"</string>
- <string name="data_usage_metered_body" msgid="1616820728096597564">"데이터 사용 요금이 부과되는 네트워크를 선택하세요. 앱이 백그라운드에 있을 때 해당 네트워크를 사용할 수 없도록 제한할 수 있습니다. 또한 네트워크를 사용하여 대용량 다운로드를 하기 전에 앱에서 경고해 줍니다."</string>
+ <string name="data_usage_metered_title" msgid="311250454694217878">"종량제 네트워크"</string>
+ <string name="data_usage_metered_body" msgid="1616820728096597564">"종량제 네트워크를 선택하세요. 앱이 백그라운드에 있을 때 해당 네트워크를 사용할 수 없도록 제한할 수 있습니다. 또한 네트워크를 사용하여 대용량 다운로드를 하기 전에 앱에서 경고해 줍니다."</string>
<string name="data_usage_metered_mobile" msgid="5423305619126978393">"모바일 네트워크"</string>
<string name="data_usage_metered_wifi" msgid="4151511616349458705">"Wi-Fi 네트워크"</string>
<string name="cryptkeeper_emergency_call" msgid="198578731586097145">"긴급 전화"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index e036a8c..7e81c77 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1179,7 +1179,7 @@
<string name="dev_settings_warning_message" msgid="2298337781139097964">"Disse innstillingene er bare beregnet for bruk under programutvikling. De kan forårsake problemer med enheten din og tilhørende apper."</string>
<string name="gadget_picker_title" msgid="98374951396755811">"Velg gadget"</string>
<string name="widget_picker_title" msgid="9130684134213467557">"Velg skrivebordselement"</string>
- <string name="allow_bind_app_widget_activity_allow_bind_title" msgid="2538303018392590627">"Opprette modul og gi tilgang?"</string>
+ <string name="allow_bind_app_widget_activity_allow_bind_title" msgid="2538303018392590627">"Vil du opprette modulen og gi tilgang?"</string>
<string name="allow_bind_app_widget_activity_allow_bind" msgid="1584388129273282080">"Når du har opprettet modulen, kan <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> lese alle dataene den viser."</string>
<string name="allow_bind_app_widget_activity_always_allow_bind" msgid="7037503685859688034">"Gi alltid <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> tillatelse til å opprette moduler og lese moduldata"</string>
<string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>t <xliff:g id="MINUTES">%3$d</xliff:g>m <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
@@ -1556,7 +1556,7 @@
<string name="data_usage_app_restrict_background_summary" msgid="7414394653383835260">"Deaktiver bakgrunnsdata på målte nettverk. Umålte nettverk brukes når det er mulig."</string>
<string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"Hvis du ønsker å begrense bakgrunnsdata for denne appen, må du først angi en grense for bruk av mobildata."</string>
<string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"Vil du begrense bruken av bakgrunnsdata?"</string>
- <string name="data_usage_app_restrict_dialog" msgid="1551946513417839948">"Denne funksjonen kan gjøre at en app som er avhengig av bakgrunnsdata slutter å fungere når bare målte nettverk er tilgjengelige."\n\n"Du finner bedre egnede alternativer for databruk i appens innstillinger."</string>
+ <string name="data_usage_app_restrict_dialog" msgid="1551946513417839948">"Denne funksjonen kan gjøre at apper som er avhengig av bakgrunnsdata slutter å fungere når bare målte nettverk er tilgjengelige."\n\n"Du finner bedre egnede alternativer for databruk i appens innstillinger."</string>
<string name="data_usage_restrict_denied_dialog" msgid="7086969103661420799">"Du kan begrense bakgrunnsdata, men bare hvis du har angitt en grense for bruk av mobildata."</string>
<string name="data_usage_cycle_editor_title" msgid="1373797281540188533">"Tilbakestillingsdato for brukssyklus"</string>
<string name="data_usage_cycle_editor_subtitle" msgid="5512903797979928416">"Dato for hver måned:"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 8296e16..899051d 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -582,8 +582,7 @@
<string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Pea kifaa jina jipya"</string>
<string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Vifaa shiriki"</string>
<string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Haikuweza kuunganisha."</string>
- <!-- no translation found for wifi_p2p_failed_rename_message (2562182284946936380) -->
- <skip />
+ <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Imeshindwa kubadili jina la kifaa."</string>
<string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Tenganisha?"</string>
<string name="wifi_p2p_disconnect_message" msgid="8227342771610125771">"Ukitenganisha, muunganisho wako na <xliff:g id="PEER_NAME">%1$s</xliff:g> utakoma."</string>
<string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Ukitenganisha, muunganisho wako na <xliff:g id="PEER_NAME">%1$s</xliff:g> na vifaa vingine <xliff:g id="PEER_COUNT">%2$s</xliff:g> utakoma."</string>
@@ -1492,24 +1491,18 @@
<string name="show_touches_summary" msgid="6684407913145150041">"Onyesha mwitikio wa kuonekana wa miguso"</string>
<string name="show_screen_updates" msgid="8282711794220426931">"Onyesha sasisho za skrini"</string>
<string name="show_screen_updates_summary" msgid="1716122382094924596">"Mulika maeneo ya skrini wakati yanasasisha"</string>
- <!-- no translation found for show_hw_screen_updates (1066779731201521925) -->
- <skip />
- <!-- no translation found for show_hw_screen_updates_summary (5280716513731970663) -->
- <skip />
+ <string name="show_hw_screen_updates" msgid="1066779731201521925">"Onyesha visasishi vya skrini ya GPU"</string>
+ <string name="show_hw_screen_updates_summary" msgid="5280716513731970663">"Mweka maeneo ya skrini wakati wanaposasisha na GPU"</string>
<string name="disable_overlays" msgid="3645736086368449005">"Lemaza gaga"</string>
<string name="disable_overlays_summary" msgid="7111098018524381234">"Usitumie gaga za utungaji skrini"</string>
- <!-- no translation found for debug_layout (5981361776594526155) -->
- <skip />
- <!-- no translation found for debug_layout_summary (978411395294379156) -->
- <skip />
+ <string name="debug_layout" msgid="5981361776594526155">"Onyesha midundo ya mipangilio"</string>
+ <string name="debug_layout_summary" msgid="978411395294379156">"Onyesha mipangilio kuhusu midundo, kujaza, na kadhalika."</string>
<string name="show_cpu_usage" msgid="2389212910758076024">"Onyesha matumizi ya CPU"</string>
<string name="show_cpu_usage_summary" msgid="2113341923988958266">"Kuegeshwa kwa skrini ikionyesha matumizi ya sasa ya CPU"</string>
<string name="force_hw_ui" msgid="6426383462520888732">"Lazimisha kutungiliza GPU"</string>
<string name="force_hw_ui_summary" msgid="8642000962902609976">"Tumia maunzi ya kasi ya 2P katika programu"</string>
- <!-- no translation found for track_frame_time (6146354853663863443) -->
- <skip />
- <!-- no translation found for track_frame_time_summary (447577515813970287) -->
- <skip />
+ <string name="track_frame_time" msgid="6146354853663863443">"Utungilizaji wa GPU ya maelezo mafupi"</string>
+ <string name="track_frame_time_summary" msgid="447577515813970287">"Pima muda wa kutungiliza katika adp shell dumpys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Kipimo cha uhiani wa Window"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Mageuzi ya kipimo cha huiani"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Mizani ya muda wa uhuishaji"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 5280d56..66ea90e 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -496,7 +496,7 @@
<string name="wifi_settings_category" msgid="2810363951104753710">"การตั้งค่า Wi-Fi"</string>
<string name="wifi_settings_title" msgid="4351120897298124250">"Wi-Fi"</string>
<string name="wifi_settings_summary" msgid="668767638556052820">"ตั้งค่าและจัดการจุดเข้าใช้งานระบบไร้สาย"</string>
- <string name="wifi_setup_wizard_title" msgid="8794440659600351945">"เลือกเครือข่าย Wi-Fi"</string>
+ <string name="wifi_setup_wizard_title" msgid="8794440659600351945">"เลือกเครือข่าย WiFi"</string>
<string name="wifi_starting" msgid="6716593470710880000">"เปิด Wi-Fi…"</string>
<string name="wifi_stopping" msgid="244864762599017659">"กำลังปิด Wi-Fi..."</string>
<string name="wifi_error" msgid="3207971103917128179">"ข้อผิดพลาด"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 4a2dd9f..4727516 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -592,8 +592,7 @@
<string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Đổi tên thiết bị"</string>
<string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Thiết bị ngang hàng"</string>
<string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Không thể kết nối."</string>
- <!-- no translation found for wifi_p2p_failed_rename_message (2562182284946936380) -->
- <skip />
+ <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Không thể đổi tên thiết bị."</string>
<string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Ngắt kết nối?"</string>
<string name="wifi_p2p_disconnect_message" msgid="8227342771610125771">"Nếu bạn ngắt kết nối, kết nối của bạn với <xliff:g id="PEER_NAME">%1$s</xliff:g> sẽ kết thúc."</string>
<string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Nếu bạn ngắt kết nối, kết nối của bạn với <xliff:g id="PEER_NAME">%1$s</xliff:g> và <xliff:g id="PEER_COUNT">%2$s</xliff:g> thiết bị khác sẽ kết thúc."</string>
@@ -1502,24 +1501,18 @@
<string name="show_touches_summary" msgid="6684407913145150041">"Hiển thị phản hồi trực quan cho các lần chạm"</string>
<string name="show_screen_updates" msgid="8282711794220426931">"H.thị t.tin cập nhật màn hình"</string>
<string name="show_screen_updates_summary" msgid="1716122382094924596">"Vùng flash của màn hình khi chúng cập nhật"</string>
- <!-- no translation found for show_hw_screen_updates (1066779731201521925) -->
- <skip />
- <!-- no translation found for show_hw_screen_updates_summary (5280716513731970663) -->
- <skip />
+ <string name="show_hw_screen_updates" msgid="1066779731201521925">"Hiển thị cập nhật màn hình GPU"</string>
+ <string name="show_hw_screen_updates_summary" msgid="5280716513731970663">"Các khu vực flash của màn hình khi chúng cập nhật với GPU"</string>
<string name="disable_overlays" msgid="3645736086368449005">"Vô hiệu lớp phủ"</string>
<string name="disable_overlays_summary" msgid="7111098018524381234">"Không sử dụng lớp phủ cho tổng hợp màn hình"</string>
- <!-- no translation found for debug_layout (5981361776594526155) -->
- <skip />
- <!-- no translation found for debug_layout_summary (978411395294379156) -->
- <skip />
+ <string name="debug_layout" msgid="5981361776594526155">"Hiển thị ranh giới bố cục"</string>
+ <string name="debug_layout_summary" msgid="978411395294379156">"Hiển thị thông tin về ranh giới, hình đệm, v.v."</string>
<string name="show_cpu_usage" msgid="2389212910758076024">"Hiển thị mức sử dụng CPU"</string>
<string name="show_cpu_usage_summary" msgid="2113341923988958266">"Lớp phủ màn hình hiển thị mức sử dụng CPU hiện tại"</string>
<string name="force_hw_ui" msgid="6426383462520888732">"Bắt buộc kết xuất GPU"</string>
<string name="force_hw_ui_summary" msgid="8642000962902609976">"Sử dụng tăng tốc phần cứng 2D trong các ứng dụng"</string>
- <!-- no translation found for track_frame_time (6146354853663863443) -->
- <skip />
- <!-- no translation found for track_frame_time_summary (447577515813970287) -->
- <skip />
+ <string name="track_frame_time" msgid="6146354853663863443">"Kết xuất GPU cấu hình"</string>
+ <string name="track_frame_time_summary" msgid="447577515813970287">"Đo thời gian kết xuất trong adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Tỷ lệ hình động của cửa sổ"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Tỷ lệ hình động chuyển đổi"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"T.lệ th.lượng tr.tạo h.đ"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 0e18bb5..0ac121a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -972,7 +972,7 @@
<string name="application_info_label" msgid="5736524913065714880">"应用信息"</string>
<string name="storage_label" msgid="8700867073480107253">"存储"</string>
<string name="auto_launch_label" msgid="3012617472833815382">"默认启动"</string>
- <string name="auto_launch_label_generic" msgid="3230569852551968694">"默认设置"</string>
+ <string name="auto_launch_label_generic" msgid="3230569852551968694">"默认操作"</string>
<string name="screen_compatibility_label" msgid="663250687205465394">"屏幕兼容性"</string>
<string name="permissions_label" msgid="2605296874922726203">"权限"</string>
<string name="cache_header_label" msgid="1877197634162461830">"缓存"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index d818b94..48a6da3 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1529,7 +1529,7 @@
<string name="data_usage_menu_split_4g" msgid="5322857680792601899">"獨立顯示 4G 用量"</string>
<string name="data_usage_menu_show_wifi" msgid="8266875319417201085">"顯示 Wi-Fi 用量"</string>
<string name="data_usage_menu_show_ethernet" msgid="5181361208532314097">"顯示乙太網路使用量"</string>
- <string name="data_usage_menu_metered" msgid="8386567111915152271">"有限網路"</string>
+ <string name="data_usage_menu_metered" msgid="8386567111915152271">"按傳輸量計費網路"</string>
<string name="data_usage_change_cycle" msgid="7776556448920114866">"變更週期..."</string>
<string name="data_usage_pick_cycle_day" msgid="4470796861757050966">"資料用量週期的重設日期:"</string>
<string name="data_usage_empty" msgid="8621855507876539282">"這段期間沒有應用程式使用數據。"</string>
@@ -1553,10 +1553,10 @@
<string name="data_usage_enable_4g" msgid="3635854097335036738">"4G 數據"</string>
<string name="data_usage_app_settings" msgid="8430240158135453271">"查看應用程式設定"</string>
<string name="data_usage_app_restrict_background" msgid="9149728936265100841">"限制背景資料"</string>
- <string name="data_usage_app_restrict_background_summary" msgid="7414394653383835260">"停用有限網路的背景數據傳輸,盡可能使用吃到飽費率網路。"</string>
+ <string name="data_usage_app_restrict_background_summary" msgid="7414394653383835260">"停用按傳輸量計費網路的背景數據傳輸,儘可能使用傳輸量無限 (吃到飽費率) 網路。"</string>
<string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"您必須設定行動數據限制,才能限制這個應用程式的背景資料。"</string>
<string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"限制背景資料?"</string>
- <string name="data_usage_app_restrict_dialog" msgid="1551946513417839948">"如果採用這項功能,當只有有限網路可供使用時,需要背景數據傳輸的應用程式可能會停止運作。"\n\n"您可以前往應用程式內的設定,發掘更多適當的數據用量控制項。"</string>
+ <string name="data_usage_app_restrict_dialog" msgid="1551946513417839948">"如果採用這項功能,當只有按傳輸量計費網路可供使用時,需要背景數據傳輸的應用程式可能會停止運作。"\n\n"您可以前往應用程式內的設定,找出更多適當的數據用量控制項。"</string>
<string name="data_usage_restrict_denied_dialog" msgid="7086969103661420799">"您必須設定行動數據限制,才能限制背景資料。"</string>
<string name="data_usage_cycle_editor_title" msgid="1373797281540188533">"用量週期重設日期"</string>
<string name="data_usage_cycle_editor_subtitle" msgid="5512903797979928416">"每月固定日期:"</string>
@@ -1575,8 +1575,8 @@
<string name="data_usage_total_during_range" msgid="4091294280619255237">"<xliff:g id="RANGE">%2$s</xliff:g>:已使用約 <xliff:g id="TOTAL">%1$s</xliff:g>。"</string>
<string name="data_usage_total_during_range_mobile" product="tablet" msgid="5961720793603268572">"<xliff:g id="RANGE">%2$s</xliff:g>:根據平板電腦計算,已使用約 <xliff:g id="TOTAL">%1$s</xliff:g>。您的行動通訊業者採用的計費方式可能有所不同。"</string>
<string name="data_usage_total_during_range_mobile" product="default" msgid="1625833170144610767">"<xliff:g id="RANGE">%2$s</xliff:g>:根據手機計算,已使用約 <xliff:g id="TOTAL">%1$s</xliff:g>。您的行動通訊業者採用的計費方式可能有所不同。"</string>
- <string name="data_usage_metered_title" msgid="311250454694217878">"有限網路"</string>
- <string name="data_usage_metered_body" msgid="1616820728096597564">"請選取數據用量設有限制的網路。背景應用程式可能無法使用這些網路;如要透過這些網路下載大量資料,應用程式可能會先發出警告。"</string>
+ <string name="data_usage_metered_title" msgid="311250454694217878">"按傳輸量計費網路"</string>
+ <string name="data_usage_metered_body" msgid="1616820728096597564">"請選取按傳輸量計費網路。背景應用程式可能無法使用這些網路;如要透過這些網路下載大量資料,應用程式可能會先發出警告。"</string>
<string name="data_usage_metered_mobile" msgid="5423305619126978393">"行動網路"</string>
<string name="data_usage_metered_wifi" msgid="4151511616349458705">"WiFi 網路"</string>
<string name="cryptkeeper_emergency_call" msgid="198578731586097145">"緊急電話"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8ee96e4..b119f2a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3784,6 +3784,8 @@
<string name="data_usage_metered_mobile">Mobile networks</string>
<!-- Header for list of Wi-Fi networks. [CHAR LIMIT=32] -->
<string name="data_usage_metered_wifi">Wi-Fi networks</string>
+ <!-- Body text prompting user to enable Wi-Fi to configure metered networks. [CHAR LIMIT=64] -->
+ <string name="data_usage_metered_wifi_disabled">To select metered Wi-Fi networks, turn Wi-Fi on.</string>
<!-- Button at the bottom of the CryptKeeper screen to make an emergency call. -->
<string name="cryptkeeper_emergency_call">Emergency call</string>
diff --git a/res/xml/data_usage_metered_prefs.xml b/res/xml/data_usage_metered_prefs.xml
index 7ec3059..a0c6df4 100644
--- a/res/xml/data_usage_metered_prefs.xml
+++ b/res/xml/data_usage_metered_prefs.xml
@@ -29,6 +29,14 @@
<PreferenceCategory
android:key="wifi"
android:title="@string/data_usage_metered_wifi"
- android:persistent="false" />
+ android:persistent="false">
+
+ <Preference
+ android:key="wifi_disabled"
+ android:summary="@string/data_usage_metered_wifi_disabled"
+ android:persistent="false"
+ android:selectable="false" />
+
+ </PreferenceCategory>
</PreferenceScreen>
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index 6795e28..928b45b 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -478,6 +478,16 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
mPasswordEntry.setOnEditorActionListener(this);
mPasswordEntry.requestFocus();
+ // Disable the Emergency call button if the device has no voice telephone capability
+ final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
+ if (!tm.isVoiceCapable()) {
+ final View emergencyCall = findViewById(R.id.emergencyCallButton);
+ if (emergencyCall != null) {
+ Log.d(TAG, "Removing the emergency Call button");
+ emergencyCall.setVisibility(View.GONE);
+ }
+ }
+
final View imeSwitcher = findViewById(R.id.switch_ime_button);
final InputMethodManager imm = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 7d45461..3b0ce59 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -278,6 +278,12 @@ public class DataUsageSummary extends Fragment {
mShowWifi = mPrefs.getBoolean(PREF_SHOW_WIFI, false);
mShowEthernet = mPrefs.getBoolean(PREF_SHOW_ETHERNET, false);
+ // override preferences when no mobile radio
+ if (!hasReadyMobileRadio(context)) {
+ mShowWifi = hasWifiRadio(context);
+ mShowEthernet = hasEthernet(context);
+ }
+
setHasOptionsMenu(true);
}
@@ -388,9 +394,6 @@ public class DataUsageSummary extends Fragment {
mUsageSummary = (TextView) mHeader.findViewById(R.id.usage_summary);
mEmpty = (TextView) mHeader.findViewById(android.R.id.empty);
- // only assign layout transitions once first layout is finished
- mListView.getViewTreeObserver().addOnGlobalLayoutListener(mFirstLayoutListener);
-
mAdapter = new DataUsageAdapter(mUidDetailProvider, mInsetSide);
mListView.setOnItemClickListener(mListListener);
mListView.setAdapter(mAdapter);
@@ -461,7 +464,6 @@ public class DataUsageSummary extends Fragment {
showWifi.setChecked(mShowWifi);
} else {
showWifi.setVisible(false);
- mShowWifi = true;
}
final MenuItem showEthernet = menu.findItem(R.id.data_usage_menu_show_ethernet);
@@ -470,7 +472,6 @@ public class DataUsageSummary extends Fragment {
showEthernet.setChecked(mShowEthernet);
} else {
showEthernet.setVisible(false);
- mShowEthernet = true;
}
final MenuItem metered = menu.findItem(R.id.data_usage_menu_metered);
@@ -570,25 +571,22 @@ public class DataUsageSummary extends Fragment {
}
/**
- * Listener to setup {@link LayoutTransition} after first layout pass.
+ * Build and assign {@link LayoutTransition} to various containers. Should
+ * only be assigned after initial layout is complete.
*/
- private OnGlobalLayoutListener mFirstLayoutListener = new OnGlobalLayoutListener() {
- @Override
- public void onGlobalLayout() {
- mListView.getViewTreeObserver().removeOnGlobalLayoutListener(mFirstLayoutListener);
-
- mTabsContainer.setLayoutTransition(buildLayoutTransition());
- mHeader.setLayoutTransition(buildLayoutTransition());
- mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition());
-
- final LayoutTransition chartTransition = buildLayoutTransition();
- chartTransition.setStartDelay(LayoutTransition.APPEARING, 0);
- chartTransition.setStartDelay(LayoutTransition.DISAPPEARING, 0);
- chartTransition.setAnimator(LayoutTransition.APPEARING, null);
- chartTransition.setAnimator(LayoutTransition.DISAPPEARING, null);
- mChart.setLayoutTransition(chartTransition);
- }
- };
+ private void ensureLayoutTransitions() {
+ // skip when already setup
+ if (mChart.getLayoutTransition() != null) return;
+
+ mTabsContainer.setLayoutTransition(buildLayoutTransition());
+ mHeader.setLayoutTransition(buildLayoutTransition());
+ mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition());
+
+ final LayoutTransition chartTransition = buildLayoutTransition();
+ chartTransition.disableTransitionType(LayoutTransition.APPEARING);
+ chartTransition.disableTransitionType(LayoutTransition.DISAPPEARING);
+ mChart.setLayoutTransition(chartTransition);
+ }
private static LayoutTransition buildLayoutTransition() {
final LayoutTransition transition = new LayoutTransition();
@@ -1172,6 +1170,9 @@ public class DataUsageSummary extends Fragment {
}
mUsageSummary.setText(getString(summaryRes, totalPhrase, rangePhrase));
+
+ // initial layout is finished above, ensure we have transitions
+ ensureLayoutTransitions();
}
private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks<
diff --git a/src/com/android/settings/inputmethod/InputMethodAndSubtypeUtil.java b/src/com/android/settings/inputmethod/InputMethodAndSubtypeUtil.java
index cb4058f..c7d8c89 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndSubtypeUtil.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndSubtypeUtil.java
@@ -22,6 +22,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
+import android.content.res.Resources;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
@@ -36,6 +37,7 @@ import android.view.inputmethod.InputMethodSubtype;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
public class InputMethodAndSubtypeUtil {
@@ -46,6 +48,7 @@ public class InputMethodAndSubtypeUtil {
private static final char INPUT_METHOD_SEPARATER = ':';
private static final char INPUT_METHOD_SUBTYPE_SEPARATER = ';';
private static final int NOT_A_SUBTYPE_ID = -1;
+ private static final Locale ENGLISH_LOCALE = new Locale("en");
private static final TextUtils.SimpleStringSplitter sStringInputMethodSplitter
= new TextUtils.SimpleStringSplitter(INPUT_METHOD_SEPARATER);
@@ -183,7 +186,7 @@ public class InputMethodAndSubtypeUtil {
getEnabledInputMethodsAndSubtypeList(resolver);
HashSet<String> disabledSystemIMEs = getDisabledSystemIMEs(resolver);
- final boolean onlyOneIME = inputMethodInfos.size() == 1;
+ final int imiCount = inputMethodInfos.size();
boolean needsToResetSelectedSubtype = false;
for (InputMethodInfo imi : inputMethodInfos) {
final String imiId = imi.getId();
@@ -193,11 +196,11 @@ public class InputMethodAndSubtypeUtil {
// pref is instance of CheckBoxPreference in the Configure input method screen.
final boolean isImeChecked = (pref instanceof CheckBoxPreference) ?
((CheckBoxPreference) pref).isChecked()
- : enabledIMEAndSubtypesMap.containsKey(imiId);
+ : enabledIMEAndSubtypesMap.containsKey(imiId);
final boolean isCurrentInputMethod = imiId.equals(currentInputMethodId);
- final boolean auxIme = isAuxiliaryIme(imi);
final boolean systemIme = isSystemIme(imi);
- if (((onlyOneIME || (systemIme && !auxIme)) && !hasHardKeyboard) || isImeChecked) {
+ if ((!hasHardKeyboard && isAlwaysCheckedIme(imi, context.getActivity(), imiCount))
+ || isImeChecked) {
if (!enabledIMEAndSubtypesMap.containsKey(imiId)) {
// imiId has just been enabled
enabledIMEAndSubtypesMap.put(imiId, new HashSet<String>());
@@ -373,4 +376,47 @@ public class InputMethodAndSubtypeUtil {
public static boolean isAuxiliaryIme(InputMethodInfo imi) {
return imi.isAuxiliaryIme();
}
+
+ public static boolean isAlwaysCheckedIme(InputMethodInfo imi, Context context, int imiCount) {
+ if (imiCount <= 1) {
+ return true;
+ }
+ if (!isSystemIme(imi)) {
+ return false;
+ }
+ if (isAuxiliaryIme(imi)) {
+ return false;
+ }
+ if (isValidDefaultIme(imi, context)) {
+ return true;
+ }
+ return containsSubtypeOf(imi, ENGLISH_LOCALE.getLanguage());
+ }
+
+ private static boolean isValidDefaultIme(InputMethodInfo imi, Context context) {
+ if (imi.getIsDefaultResourceId() != 0) {
+ try {
+ Resources res = context.createPackageContext(
+ imi.getPackageName(), 0).getResources();
+ if (res.getBoolean(imi.getIsDefaultResourceId())
+ && containsSubtypeOf(imi, context.getResources().getConfiguration().
+ locale.getLanguage())) {
+ return true;
+ }
+ } catch (PackageManager.NameNotFoundException ex) {
+ } catch (Resources.NotFoundException ex) {
+ }
+ }
+ return false;
+ }
+
+ private static boolean containsSubtypeOf(InputMethodInfo imi, String language) {
+ final int N = imi.getSubtypeCount();
+ for (int i = 0; i < N; ++i) {
+ if (imi.getSubtypeAt(i).getLocale().startsWith(language)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/src/com/android/settings/inputmethod/InputMethodPreference.java b/src/com/android/settings/inputmethod/InputMethodPreference.java
index 4ecdb8e..90eef85 100644
--- a/src/com/android/settings/inputmethod/InputMethodPreference.java
+++ b/src/com/android/settings/inputmethod/InputMethodPreference.java
@@ -51,7 +51,7 @@ public class InputMethodPreference extends CheckBoxPreference
private final InputMethodInfo mImi;
private final InputMethodManager mImm;
private final Intent mSettingsIntent;
- private final boolean mIsSystemIme;
+ private final boolean mAlwaysChecked;
private AlertDialog mDialog = null;
private ImageView mInputMethodSettingsButton;
@@ -68,7 +68,7 @@ public class InputMethodPreference extends CheckBoxPreference
if (isChecked()) {
setChecked(false);
} else {
- if (mIsSystemIme) {
+ if (mAlwaysChecked) {
setChecked(true);
} else {
showSecurityWarnDialog(mImi, InputMethodPreference.this);
@@ -87,9 +87,9 @@ public class InputMethodPreference extends CheckBoxPreference
mImm = imm;
mImi = imi;
updateSummary();
- mIsSystemIme = InputMethodAndSubtypeUtil.isSystemIme(imi);
- final boolean isAuxIme = InputMethodAndSubtypeUtil.isAuxiliaryIme(imi);
- if (imiCount <= 1 || (mIsSystemIme && !isAuxIme)) {
+ mAlwaysChecked = InputMethodAndSubtypeUtil.isAlwaysCheckedIme(
+ imi, fragment.getActivity(), imiCount);
+ if (mAlwaysChecked) {
setEnabled(false);
}
}
diff --git a/src/com/android/settings/net/DataUsageMeteredSettings.java b/src/com/android/settings/net/DataUsageMeteredSettings.java
index fea8a12..69326bc 100644
--- a/src/com/android/settings/net/DataUsageMeteredSettings.java
+++ b/src/com/android/settings/net/DataUsageMeteredSettings.java
@@ -48,6 +48,7 @@ public class DataUsageMeteredSettings extends SettingsPreferenceFragment {
private PreferenceCategory mMobileCategory;
private PreferenceCategory mWifiCategory;
+ private Preference mWifiDisabled;
@Override
public void onCreate(Bundle icicle) {
@@ -63,9 +64,9 @@ public class DataUsageMeteredSettings extends SettingsPreferenceFragment {
addPreferencesFromResource(R.xml.data_usage_metered_prefs);
mMobileCategory = (PreferenceCategory) findPreference("mobile");
mWifiCategory = (PreferenceCategory) findPreference("wifi");
+ mWifiDisabled = findPreference("wifi_disabled");
updateNetworks(context);
-
}
private void updateNetworks(Context context) {
@@ -76,15 +77,15 @@ public class DataUsageMeteredSettings extends SettingsPreferenceFragment {
getPreferenceScreen().removePreference(mMobileCategory);
}
- if (hasWifiRadio(context)) {
- mWifiCategory.removeAll();
+ mWifiCategory.removeAll();
+ if (hasWifiRadio(context) && mWifiManager.isWifiEnabled()) {
for (WifiConfiguration config : mWifiManager.getConfiguredNetworks()) {
if (config.SSID != null) {
mWifiCategory.addPreference(buildWifiPref(context, config));
}
}
} else {
- getPreferenceScreen().removePreference(mWifiCategory);
+ mWifiCategory.addPreference(mWifiDisabled);
}
}