Merge "Allow only valid EAP configs"
diff --git a/Android.mk b/Android.mk
index fe8ed2d..738cea0 100644
--- a/Android.mk
+++ b/Android.mk
@@ -2,7 +2,7 @@
include $(CLEAR_VARS)
LOCAL_JAVA_LIBRARIES := bouncycastle telephony-common
-LOCAL_STATIC_JAVA_LIBRARIES := guava android-support-v4 jsr305
+LOCAL_STATIC_JAVA_LIBRARIES := guava android-support-v4 android-support-v13 jsr305
LOCAL_MODULE_TAGS := optional
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 14207db..bdf8296 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -67,7 +67,6 @@
android:icon="@mipmap/ic_launcher_settings"
android:taskAffinity=""
android:theme="@android:style/Theme.Holo"
- android:uiOptions="splitActionBarWhenNarrow"
android:hardwareAccelerated="true"
android:supportsRtl="true">
@@ -122,6 +121,7 @@
<!-- Top-level settings -->
<activity android:name="Settings$WifiSettingsActivity"
+ android:uiOptions="splitActionBarWhenNarrow"
android:taskAffinity=""
android:label="@string/wifi_settings"
android:configChanges="orientation|keyboardHidden|screenSize"
@@ -141,6 +141,7 @@
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name=".wifi.WifiSettings"
+ android:uiOptions="splitActionBarWhenNarrow"
android:taskAffinity="com.android.settings"
android:label="@string/wifi_settings"
android:targetActivity="Settings$WifiSettingsActivity"
@@ -153,6 +154,7 @@
</activity-alias>
<activity android:name=".wifi.WifiPickerActivity"
+ android:uiOptions="splitActionBarWhenNarrow"
android:taskAffinity="com.android.settings"
android:parentActivityName="Settings">
<intent-filter>
@@ -163,10 +165,11 @@
</activity>
<activity android:name=".wifi.WifiSetupActivity"
- android:theme="@style/setup_wizard_theme"
- android:label="@string/wifi_setup_wizard_title"
+ android:uiOptions="splitActionBarWhenNarrow"
+ android:theme="@style/setup_wizard_theme"
+ android:label="@string/wifi_setup_wizard_title"
android:icon="@drawable/empty_icon"
- android:clearTaskOnLaunch="true">
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.android.net.wifi.SETUP_WIFI_NETWORK" />
@@ -175,11 +178,12 @@
</activity>
<activity android:name=".wifi.WifiSettingsForSetupWizardXL"
- android:theme="@android:style/Theme.Holo.NoActionBar"
- android:screenOrientation="behind"
- android:clearTaskOnLaunch="true"
- android:windowSoftInputMode="adjustResize"
- android:exported="true" />
+ android:uiOptions="splitActionBarWhenNarrow"
+ android:theme="@android:style/Theme.Holo.NoActionBar"
+ android:screenOrientation="behind"
+ android:clearTaskOnLaunch="true"
+ android:windowSoftInputMode="adjustResize"
+ android:exported="true" />
<activity android:name="Settings$AdvancedWifiSettingsActivity"
android:taskAffinity="com.android.settings"
@@ -254,7 +258,6 @@
<activity android:name="ApnSettings"
android:label="@string/apn_settings"
- android:uiOptions="none"
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTask">
<intent-filter>
@@ -266,6 +269,7 @@
</activity>
<activity android:name="Settings$BluetoothSettingsActivity"
+ android:uiOptions="splitActionBarWhenNarrow"
android:label="@string/bluetooth_settings_title"
android:taskAffinity=""
android:excludeFromRecents="true">
@@ -284,6 +288,7 @@
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name=".bluetooth.BluetoothSettings"
+ android:uiOptions="splitActionBarWhenNarrow"
android:label="@string/bluetooth_settings_title"
android:targetActivity="Settings$BluetoothSettingsActivity"
android:exported="true"
@@ -295,6 +300,7 @@
</activity-alias>
<activity android:name=".bluetooth.DevicePickerActivity"
+ android:uiOptions="splitActionBarWhenNarrow"
android:theme="@android:style/Theme.Holo.DialogWhenLarge"
android:label="@string/device_picker"
android:clearTaskOnLaunch="true">
@@ -306,7 +312,6 @@
<activity android:name="Settings$TetherSettingsActivity"
android:label="@string/tether_settings_title_all"
- android:uiOptions="none"
android:taskAffinity=""
android:excludeFromRecents="true">
<intent-filter>
@@ -328,7 +333,6 @@
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name=".TetherSettings"
android:label="@string/tether_settings_title_all"
- android:uiOptions="none"
android:clearTaskOnLaunch="true"
android:exported="true"
android:targetActivity="Settings$TetherSettingsActivity">
@@ -343,6 +347,7 @@
</activity-alias>
<activity android:name="Settings$WifiP2pSettingsActivity"
+ android:uiOptions="splitActionBarWhenNarrow"
android:taskAffinity="com.android.settings"
android:parentActivityName="Settings$WifiSettingsActivity">
<intent-filter>
@@ -505,7 +510,6 @@
<activity android:name="Settings$UserDictionarySettingsActivity"
android:label="@string/user_dict_settings_titlebar"
android:taskAffinity="com.android.settings"
- android:uiOptions="none"
android:parentActivityName="Settings$InputMethodAndLanguageSettingsActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -649,8 +653,7 @@
<activity android:name="Settings$ManageApplicationsActivity"
android:label="@string/applications_settings"
android:taskAffinity=""
- android:excludeFromRecents="true"
- android:uiOptions="none">
+ android:excludeFromRecents="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.APPLICATION_SETTINGS" />
@@ -765,9 +768,26 @@
android:resource="@id/application_settings" />
</activity>
+ <activity android:name="Settings$AppOpsSummaryActivity"
+ android:label="@string/app_ops_settings"
+ android:taskAffinity=""
+ android:excludeFromRecents="true">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.settings.APP_OPS_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.applications.AppOpsSummary" />
+ <!--
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/application_settings" /> -->
+ </activity>
+
<activity android:name="Settings$LocationSettingsActivity"
android:label="@string/location_settings_title"
- android:uiOptions="none"
android:configChanges="orientation|keyboardHidden|screenSize"
android:taskAffinity=""
android:excludeFromRecents="true">
@@ -975,7 +995,6 @@
<activity android:name="Settings$StorageSettingsActivity"
android:label="@string/storage_settings_title"
- android:uiOptions="none"
android:taskAffinity="com.android.settings"
android:parentActivityName="Settings">
<intent-filter>
@@ -1342,7 +1361,6 @@
<activity android:name="Settings$PowerUsageSummaryActivity"
android:label="@string/power_usage_summary_title"
- android:uiOptions="none"
android:taskAffinity=""
android:excludeFromRecents="true">
<intent-filter>
@@ -1371,8 +1389,7 @@
<activity android:name="Settings$AccountSyncSettingsActivity"
android:label="@string/account_sync_settings_title"
android:taskAffinity=""
- android:parentActivityName="Settings"
- android:uiOptions="none">
+ android:parentActivityName="Settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.ACCOUNT_SYNC_SETTINGS" />
@@ -1454,7 +1471,6 @@
<activity android:name="Settings$DataUsageSummaryActivity"
android:label="@string/data_usage_summary_title"
- android:uiOptions="none"
android:taskAffinity=""
android:excludeFromRecents="true">
<intent-filter>
@@ -1469,6 +1485,7 @@
</activity>
<activity android:name="Settings$DreamSettingsActivity"
+ android:uiOptions="splitActionBarWhenNarrow"
android:label="@string/screensaver_settings_title"
android:taskAffinity=""
android:excludeFromRecents="true">
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_1.png b/res/drawable-ldrtl-hdpi/avatar_default_1.png
new file mode 100644
index 0000000..4ebe7fe
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_2.png b/res/drawable-ldrtl-hdpi/avatar_default_2.png
new file mode 100644
index 0000000..524e556
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_3.png b/res/drawable-ldrtl-hdpi/avatar_default_3.png
new file mode 100644
index 0000000..ea0d69d
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_4.png b/res/drawable-ldrtl-hdpi/avatar_default_4.png
new file mode 100644
index 0000000..7387835
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_5.png b/res/drawable-ldrtl-hdpi/avatar_default_5.png
new file mode 100644
index 0000000..0bb455c
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_5.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_6.png b/res/drawable-ldrtl-hdpi/avatar_default_6.png
new file mode 100644
index 0000000..fa42704
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_6.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_7.png b/res/drawable-ldrtl-hdpi/avatar_default_7.png
new file mode 100644
index 0000000..79c0fb7
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_7.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/avatar_default_8.png b/res/drawable-ldrtl-hdpi/avatar_default_8.png
new file mode 100644
index 0000000..a254b84
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/avatar_default_8.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_appwidget_settings_brightness_half_holo.png b/res/drawable-ldrtl-hdpi/ic_appwidget_settings_brightness_half_holo.png
new file mode 100644
index 0000000..9d8b24a
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_appwidget_settings_brightness_half_holo.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_bt_cellphone.png b/res/drawable-ldrtl-hdpi/ic_bt_cellphone.png
new file mode 100644
index 0000000..2d9b75e
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_bt_cellphone.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_emergency.png b/res/drawable-ldrtl-hdpi/ic_emergency.png
new file mode 100644
index 0000000..89e1b07
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_emergency.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_0.png b/res/drawable-ldrtl-hdpi/ic_network_signal_0.png
new file mode 100644
index 0000000..54e7af9
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_network_signal_0.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_1.png b/res/drawable-ldrtl-hdpi/ic_network_signal_1.png
new file mode 100644
index 0000000..de959d5
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_network_signal_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_2.png b/res/drawable-ldrtl-hdpi/ic_network_signal_2.png
new file mode 100644
index 0000000..097b9fb
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_network_signal_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_3.png b/res/drawable-ldrtl-hdpi/ic_network_signal_3.png
new file mode 100644
index 0000000..11cb40b
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_network_signal_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_4.png b/res/drawable-ldrtl-hdpi/ic_network_signal_4.png
new file mode 100644
index 0000000..d741ffc
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_network_signal_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_settings_applications.png b/res/drawable-ldrtl-hdpi/ic_settings_applications.png
new file mode 100644
index 0000000..1cb9c8d
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_settings_applications.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_settings_display.png b/res/drawable-ldrtl-hdpi/ic_settings_display.png
new file mode 100644
index 0000000..c2f3448
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_settings_display.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_settings_language.png b/res/drawable-ldrtl-hdpi/ic_settings_language.png
new file mode 100755
index 0000000..bbd2c1e
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_settings_multiuser.png b/res/drawable-ldrtl-hdpi/ic_settings_multiuser.png
new file mode 100644
index 0000000..7d6eff9
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_settings_multiuser.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_settings_sound.png b/res/drawable-ldrtl-hdpi/ic_settings_sound.png
new file mode 100755
index 0000000..b703b4e
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_settings_sound.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png
new file mode 100644
index 0000000..1cb9c8d
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png
new file mode 100644
index 0000000..1cb9c8d
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_1.png b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_1.png
new file mode 100644
index 0000000..5806c4f
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_2.png b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_2.png
new file mode 100644
index 0000000..c3a1d91
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_3.png b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_3.png
new file mode 100644
index 0000000..36ea001
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_4.png b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_4.png
new file mode 100644
index 0000000..6c4f252
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_wifi_lock_signal_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/stat_sys_phone_call.png b/res/drawable-ldrtl-hdpi/stat_sys_phone_call.png
new file mode 100755
index 0000000..033efe4
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/stat_sys_phone_call.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_1.png b/res/drawable-ldrtl-mdpi/avatar_default_1.png
new file mode 100644
index 0000000..2b2c00c
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_2.png b/res/drawable-ldrtl-mdpi/avatar_default_2.png
new file mode 100644
index 0000000..fa05e11
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_3.png b/res/drawable-ldrtl-mdpi/avatar_default_3.png
new file mode 100644
index 0000000..91c7d5a
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_4.png b/res/drawable-ldrtl-mdpi/avatar_default_4.png
new file mode 100644
index 0000000..4638ac2
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_5.png b/res/drawable-ldrtl-mdpi/avatar_default_5.png
new file mode 100644
index 0000000..6d84a15
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_5.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_6.png b/res/drawable-ldrtl-mdpi/avatar_default_6.png
new file mode 100644
index 0000000..c62ea5b
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_6.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_7.png b/res/drawable-ldrtl-mdpi/avatar_default_7.png
new file mode 100644
index 0000000..fe0cbfe
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_7.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/avatar_default_8.png b/res/drawable-ldrtl-mdpi/avatar_default_8.png
new file mode 100644
index 0000000..424ba3d
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/avatar_default_8.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_appwidget_settings_brightness_half_holo.png b/res/drawable-ldrtl-mdpi/ic_appwidget_settings_brightness_half_holo.png
new file mode 100644
index 0000000..90941e4
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_appwidget_settings_brightness_half_holo.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_bt_cellphone.png b/res/drawable-ldrtl-mdpi/ic_bt_cellphone.png
new file mode 100644
index 0000000..b6ebe34
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_bt_cellphone.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_emergency.png b/res/drawable-ldrtl-mdpi/ic_emergency.png
new file mode 100755
index 0000000..004a473
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_emergency.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_0.png b/res/drawable-ldrtl-mdpi/ic_network_signal_0.png
new file mode 100644
index 0000000..4cac9ed
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_network_signal_0.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_1.png b/res/drawable-ldrtl-mdpi/ic_network_signal_1.png
new file mode 100644
index 0000000..9323a13
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_network_signal_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_2.png b/res/drawable-ldrtl-mdpi/ic_network_signal_2.png
new file mode 100644
index 0000000..e2f38a9
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_network_signal_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_3.png b/res/drawable-ldrtl-mdpi/ic_network_signal_3.png
new file mode 100644
index 0000000..b565289
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_network_signal_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_4.png b/res/drawable-ldrtl-mdpi/ic_network_signal_4.png
new file mode 100644
index 0000000..f63a426
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_network_signal_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_settings_applications.png b/res/drawable-ldrtl-mdpi/ic_settings_applications.png
new file mode 100644
index 0000000..740e709
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_settings_applications.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_settings_display.png b/res/drawable-ldrtl-mdpi/ic_settings_display.png
new file mode 100644
index 0000000..b25e0a7
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_settings_display.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_settings_language.png b/res/drawable-ldrtl-mdpi/ic_settings_language.png
new file mode 100644
index 0000000..bb97a45
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_settings_multiuser.png b/res/drawable-ldrtl-mdpi/ic_settings_multiuser.png
new file mode 100644
index 0000000..f538805
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_settings_multiuser.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_settings_sound.png b/res/drawable-ldrtl-mdpi/ic_settings_sound.png
new file mode 100644
index 0000000..419868f
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_settings_sound.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png
new file mode 100644
index 0000000..740e709
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png
new file mode 100644
index 0000000..740e709
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_1.png b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_1.png
new file mode 100644
index 0000000..3f635f8
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_2.png b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_2.png
new file mode 100644
index 0000000..04aae2d
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_3.png b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_3.png
new file mode 100644
index 0000000..17609df
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_4.png b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_4.png
new file mode 100644
index 0000000..90a8e27
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_wifi_lock_signal_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/stat_sys_phone_call.png b/res/drawable-ldrtl-mdpi/stat_sys_phone_call.png
new file mode 100644
index 0000000..f566dad
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/stat_sys_phone_call.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_1.png b/res/drawable-ldrtl-xhdpi/avatar_default_1.png
new file mode 100644
index 0000000..1fdbd46
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_2.png b/res/drawable-ldrtl-xhdpi/avatar_default_2.png
new file mode 100644
index 0000000..9d3d693
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_3.png b/res/drawable-ldrtl-xhdpi/avatar_default_3.png
new file mode 100644
index 0000000..3778914
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_4.png b/res/drawable-ldrtl-xhdpi/avatar_default_4.png
new file mode 100644
index 0000000..a25b4f8
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_5.png b/res/drawable-ldrtl-xhdpi/avatar_default_5.png
new file mode 100644
index 0000000..2840f22
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_5.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_6.png b/res/drawable-ldrtl-xhdpi/avatar_default_6.png
new file mode 100644
index 0000000..d438170
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_6.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_7.png b/res/drawable-ldrtl-xhdpi/avatar_default_7.png
new file mode 100644
index 0000000..b155d9e
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_7.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/avatar_default_8.png b/res/drawable-ldrtl-xhdpi/avatar_default_8.png
new file mode 100644
index 0000000..a17e3a4
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/avatar_default_8.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_appwidget_settings_brightness_half_holo.png b/res/drawable-ldrtl-xhdpi/ic_appwidget_settings_brightness_half_holo.png
new file mode 100644
index 0000000..b06324e
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_appwidget_settings_brightness_half_holo.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.png b/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.png
new file mode 100644
index 0000000..8b67b91
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_emergency.png b/res/drawable-ldrtl-xhdpi/ic_emergency.png
new file mode 100644
index 0000000..ddc2642
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_emergency.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_0.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_0.png
new file mode 100644
index 0000000..e4ec015
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_network_signal_0.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_1.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_1.png
new file mode 100644
index 0000000..712685a
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_network_signal_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_2.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_2.png
new file mode 100644
index 0000000..99fe1ac
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_network_signal_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_3.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_3.png
new file mode 100644
index 0000000..4ac2f10
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_network_signal_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_4.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_4.png
new file mode 100644
index 0000000..34608f1
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_network_signal_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_settings_applications.png b/res/drawable-ldrtl-xhdpi/ic_settings_applications.png
new file mode 100644
index 0000000..fcd6ab1
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_settings_applications.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_settings_display.png b/res/drawable-ldrtl-xhdpi/ic_settings_display.png
new file mode 100644
index 0000000..4184864
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_settings_display.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_settings_language.png b/res/drawable-ldrtl-xhdpi/ic_settings_language.png
new file mode 100644
index 0000000..3e0f3df
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_settings_multiuser.png b/res/drawable-ldrtl-xhdpi/ic_settings_multiuser.png
new file mode 100644
index 0000000..a3c797c
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_settings_multiuser.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_settings_sound.png b/res/drawable-ldrtl-xhdpi/ic_settings_sound.png
new file mode 100644
index 0000000..8d04d42
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_settings_sound.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png
new file mode 100644
index 0000000..fcd6ab1
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png
new file mode 100644
index 0000000..fcd6ab1
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_1.png b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_1.png
new file mode 100644
index 0000000..0e124bd
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_1.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_2.png b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_2.png
new file mode 100644
index 0000000..d97d5d4
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_2.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_3.png b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_3.png
new file mode 100644
index 0000000..99a8384
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_3.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_4.png b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_4.png
new file mode 100644
index 0000000..40307f8
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_wifi_lock_signal_4.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/stat_sys_phone_call.png b/res/drawable-ldrtl-xhdpi/stat_sys_phone_call.png
new file mode 100644
index 0000000..dce5d9a
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/stat_sys_phone_call.png
Binary files differ
diff --git a/res/layout/app_ops_item.xml b/res/layout/app_ops_item.xml
new file mode 100644
index 0000000..f42a8b9
--- /dev/null
+++ b/res/layout/app_ops_item.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2008, 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.
+*/
+-->
+
+<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:paddingTop="8dip"
+ android:paddingBottom="8dip"
+ android:columnCount="3">
+
+ <ImageView
+ android:id="@+id/app_icon"
+ android:layout_width="@android:dimen/app_icon_size"
+ android:layout_height="@android:dimen/app_icon_size"
+ android:layout_rowSpan="2"
+ android:layout_marginEnd="8dip"
+ android:scaleType="centerInside"
+ android:contentDescription="@null" />
+
+ <TextView
+ android:id="@+id/app_name"
+ android:layout_width="0dip"
+ android:layout_columnSpan="2"
+ android:layout_gravity="fill_horizontal"
+ android:layout_marginTop="2dip"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAlignment="viewStart" />
+
+ <TextView
+ android:id="@+id/op_name"
+ android:layout_width="0dip"
+ android:layout_gravity="fill_horizontal"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textAlignment="viewStart" />
+
+ <TextView
+ android:id="@+id/op_time"
+ android:layout_marginStart="8dip"
+ android:textAppearance="?android:attr/textAppearanceSmall" />
+
+</GridLayout>
diff --git a/res/layout/app_ops_summary.xml b/res/layout/app_ops_summary.xml
new file mode 100644
index 0000000..2073a00
--- /dev/null
+++ b/res/layout/app_ops_summary.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <android.support.v4.view.ViewPager
+ android:id="@+id/pager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1">
+ <android.support.v4.view.PagerTabStrip
+ android:id="@+id/tabs"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top"
+ android:textAppearance="@style/TextAppearance.PagerTabs"
+ android:paddingLeft="@dimen/pager_tabs_padding"
+ android:paddingRight="@dimen/pager_tabs_padding">
+ </android.support.v4.view.PagerTabStrip>
+ </android.support.v4.view.ViewPager>
+
+</LinearLayout>
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index e46ce09..7c8550a 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Grafika)"</item>
<item msgid="1340692776955662664">"Belstapel op glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standaardlimiet"</item>
<item msgid="4071574792028999443">"Geen agtergrondprosesse"</item>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 5c5d15f..f0c0650 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Dwing 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Aktiveer 4x MSAA in OpenGL ES 2.0-programme"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profiel se GPU-lewering"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Meet leweringstyd in die adb-dop dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Vensteranimasieskaal"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Oorganganimasieskaal"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animator-tydsduurskaal"</string>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index d4d49f2..b9bf71b 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (ግራፊክስ)"</item>
<item msgid="1340692776955662664">"የጥሪ ቁልል በ glGetError ላይ"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"መደበኛ ወሰኖች"</item>
<item msgid="4071574792028999443">"ምንም የዳራ ሂደቶች የሉም"</item>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ddb3949..bd14769 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA አስገድድ"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"4x MSAA በ OpenGL ES 2.0 መተግበሪያዎች ውስጥ ያንቁ"</string>
<string name="track_frame_time" msgid="6146354853663863443">"የGPU ምላሽ መስጠት መዝግብ"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"ምላሽ ለመስጠት የወሰደው ጊዜ በadb shell dumpsys gfxinfo ለካ"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"የዊንዶው እነማ ልኬት ለውጥ"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"የእነማ ልኬት ለውጥ ሽግግር"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"እነማ አድራጊ ቆይታ መለኪያ"</string>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 6fd3fe9..943efa1 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (رسومات)"</item>
<item msgid="1340692776955662664">"تكدس الاستدعاءات في دالة glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"الحد القياسي"</item>
<item msgid="4071574792028999443">"ليست هناك عمليات بالخلفية"</item>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 7d674f6..c0ca43a 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"فرض 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"تمكين 4x MSAA في تطبيقات OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"رسم مخطط لعرض GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"قياس وقت العرض بـ adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"حجم الرسوم المتحركة للنافذة"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"حجم الرسوم المتحركة للنقل"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"طول مدة الرسوم المتحركة"</string>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index b8a0de1..7f5526a 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Graphics)"</item>
<item msgid="1340692776955662664">"Выклікаць стэк на glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Стандартны ліміт"</item>
<item msgid="4071574792028999443">"Няма фонавых працэсаў"</item>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 2958013..0f8f79e 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Прымусовае выкананне 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Уключыць 4x MSAA у прыкладаннях з OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Апрацоўка профілю GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Вымерыць час рэндэрынгу ў абалонцы adb dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Маштаб анімацыі акна"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Маштаб перадачы анімацыі"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Шкала працягласці анiматара"</string>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index f203510..399a87b 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Графика)"</item>
<item msgid="1340692776955662664">"Извикване на стека при glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Стандартно ограничение"</item>
<item msgid="4071574792028999443">"Няма процеси на заден план"</item>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 89c8961..dfd2313 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Задаване на 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Активиране на 4x MSAA в прилож. с OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Профилиране на GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Измерване на времето за изобр. в adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Скала на аним.: Прозорец"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Скала на анимация: Преход"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Скала за Animator"</string>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index f7536ba..ee02102 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (gràfics)"</item>
<item msgid="1340692776955662664">"Pila de trucades de glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Límit estàndard"</item>
<item msgid="4071574792028999443">"Sense processos en segon pla"</item>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 2ff7202..2ceada5 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -784,8 +784,7 @@
<string name="status_meid_number" msgid="1751442889111731088">"MEID"</string>
<string name="status_icc_id" msgid="943368755577172747">"ICCID"</string>
<string name="status_network_type" msgid="3279383550222116235">"Tipus de xarxa mòbil"</string>
- <!-- no translation found for status_latest_area_info (7222470836568238054) -->
- <skip />
+ <string name="status_latest_area_info" msgid="7222470836568238054">"Informació de l\'operador"</string>
<string name="status_data_state" msgid="5503181397066522950">"Estat de la xarxa mòbil"</string>
<string name="status_service_state" msgid="2323931627519429503">"Estat del servei"</string>
<string name="status_signal_strength" msgid="3732655254188304547">"Intensitat del senyal"</string>
@@ -1659,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Força MSAA de 4x"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Activa MSAA de 4x a les aplicacions OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Representació GPU perfil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mesura temps representació a adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Escala d\'animació finestra"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Escala d\'animació transició"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Escala durada d\'animació"</string>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index 67111d3..313e25e 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafika)"</item>
<item msgid="1340692776955662664">"Zásobník volání funkce glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardní limit"</item>
<item msgid="4071574792028999443">"Procesy na pozadí deaktivovány"</item>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 2ddb5fb..d0b9e63 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Vynutit 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Povolit 4x MSAA v aplikacích OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profil – vykreslování GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Měřit čas vykreslování v adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Měřítko animace okna"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Měřítko animace přeměny"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Měřítko délky animace"</string>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index c3345b6..058bdbd 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafik)"</item>
<item msgid="1340692776955662664">"Kaldestak på glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardgrænse"</item>
<item msgid="4071574792028999443">"Ingen baggrundsprocesser"</item>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 7f3e3df..ddda58b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Tving 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Aktivér 4x MSAA i apps med OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"GPU-profilgengivelse"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mål gengivelsestiden i adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Animationsskala for vindue"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Overgangsanimationsskala"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animatorvarighedsskala"</string>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index 03d0143..40eab69 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Grafik)"</item>
<item msgid="1340692776955662664">"Aufrufliste für glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardlimit"</item>
<item msgid="4071574792028999443">"Keine Hintergrundprozesse"</item>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 309d72c..ae87bac 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1659,7 +1659,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA erzwingen"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"4x MSAA in OpenGL ES 2.0-Apps aktivieren"</string>
<string name="track_frame_time" msgid="6146354853663863443">"GPU-Rendering für Profil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Rendering-Zeit in adb shell dumpsys gfxinfo messen"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Maßstab Fensteranimation"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Maßstab Übergangsanimation"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Maßstab für Animatorzeit"</string>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index f59025a..f2ed440 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Γραφικά)"</item>
<item msgid="1340692776955662664">"Κλήση στοίβας σε glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Τυπικό όριο"</item>
<item msgid="4071574792028999443">"Δεν υπάρχουν διεργασίες παρασκηνίου"</item>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index e1e3696..e80c043 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Αναγκαστικά 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Ενεργοποίηση 4x MSAA σε εφαρμογές OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Απόδοση GPU προφίλ"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Μέτρ. χρόνου απόδοσης σε adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Κλίμακα κίνησης παραθύρου"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Κλίμακα κίνησης μετάβασης"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animator duration scale"</string>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 79ecf36..f262e69 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Graphics)"</item>
<item msgid="1340692776955662664">"Call stack on glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standard limit"</item>
<item msgid="4071574792028999443">"No background processes"</item>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index fb7fc03..dcf48d4 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -665,14 +665,12 @@
<string name="musicfx_title" msgid="3415566786340790345">"Music effects"</string>
<string name="ring_volume_title" msgid="7938706566797464165">"Ringer volume"</string>
<string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrate when silent"</string>
- <!-- no translation found for notification_sound_title (5137483249425507572) -->
- <skip />
+ <string name="notification_sound_title" msgid="5137483249425507572">"Default notification sound"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulse notification light"</string>
<string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringtone"</string>
<string name="notification_volume_title" msgid="2012640760341080408">"Notification"</string>
<string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Use incoming call volume for notifications"</string>
- <!-- no translation found for notification_sound_dialog_title (3805140135741385667) -->
- <skip />
+ <string name="notification_sound_dialog_title" msgid="3805140135741385667">"Default notification sound"</string>
<string name="media_volume_title" msgid="3576565767317118106">"Media"</string>
<string name="media_volume_summary" msgid="5363248930648849974">"Set volume for music and videos"</string>
<string name="alarm_volume_title" msgid="2285597478377758706">"Alarm"</string>
@@ -1660,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Force 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Enable 4x MSAA in OpenGL ES 2.0 apps"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profile GPU rendering"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Measure rendering time in adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Window animation scale"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Transition animation scale"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animator duration scale"</string>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 5099126..fb81229 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (gráficos)"</item>
<item msgid="1340692776955662664">"Pila de llamadas en glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Límite estándar"</item>
<item msgid="4071574792028999443">"No hay procesos de fondo."</item>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 322aeda..52ab35b 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -114,7 +114,7 @@
<string name="bluetooth_is_discoverable_always" msgid="2849387702249327748">"Visible para todos los dispositivos Bluetooth cercanos"</string>
<string name="bluetooth_not_visible_to_other_devices" msgid="9120274591523391910">"No visible para otros dispositivos Bluetooth"</string>
<string name="bluetooth_only_visible_to_paired_devices" msgid="2049983392373296028">"Solo visible para los dispositivos sincronizados"</string>
- <string name="bluetooth_visibility_timeout" msgid="8002247464357005429">"Tiempo de visibilidad"</string>
+ <string name="bluetooth_visibility_timeout" msgid="8002247464357005429">"Definir visibilidad"</string>
<string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Bloquear marcación por voz"</string>
<string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Impedir el uso de Bluetooth del dispositivo cuando la pantalla esté bloqueada."</string>
<string name="bluetooth_devices" msgid="1886018064039454227">"Dispositivos Bluetooth"</string>
@@ -265,10 +265,10 @@
<string name="settings_label" msgid="1626402585530130914">"Configuración"</string>
<string name="settings_label_launcher" msgid="8344735489639482340">"Configuración"</string>
<string name="settings_shortcut" msgid="3936651951364030415">"Configuración"</string>
- <string name="airplane_mode" msgid="8837269988154128601">"Modo de avión"</string>
+ <string name="airplane_mode" msgid="8837269988154128601">"Modo avión"</string>
<string name="radio_controls_title" msgid="6889937359495515769">"Más..."</string>
<string name="wireless_networks_settings_title" msgid="3643009077742794212">"Redes inalámbricas y redes"</string>
- <string name="radio_controls_summary" msgid="2998818677094465517">"Administrar Wi-Fi, Bluetooth, modo de avión, redes, móviles, & VPN"</string>
+ <string name="radio_controls_summary" msgid="2998818677094465517">"Administrar Wi-Fi, Bluetooth, modo avión, redes, móviles y VPN"</string>
<string name="roaming" msgid="3596055926335478572">"Roaming de datos"</string>
<string name="roaming_enable" msgid="3737380951525303961">"Conectar a servicios de datos en roaming"</string>
<string name="roaming_disable" msgid="1295279574370898378">"Conectar a servicios de datos en roaming"</string>
@@ -534,7 +534,7 @@
<string name="wifi_starting" msgid="6716593470710880000">"Activando Wi-Fi..."</string>
<string name="wifi_stopping" msgid="244864762599017659">"Apagando Wi-Fi..."</string>
<string name="wifi_error" msgid="3207971103917128179">"Error"</string>
- <string name="wifi_in_airplane_mode" msgid="8652520421778203796">"En modo de avión"</string>
+ <string name="wifi_in_airplane_mode" msgid="8652520421778203796">"En modo avión"</string>
<string name="wifi_fail_to_scan" msgid="1265540342578081461">"No se pueden buscar las redes."</string>
<string name="wifi_notify_open_networks" msgid="3755768188029653293">"Notificación de red"</string>
<string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Notificarme cuando se encuentre disponible una red abierta"</string>
@@ -548,7 +548,7 @@
<string name="wifi_access_points" msgid="2664629396767022441">"Redes Wi-Fi"</string>
<string name="wifi_menu_wps_pbc" msgid="2668564692207863017">"Pulsador WPS"</string>
<string name="wifi_menu_more_options" msgid="2448097861752719396">"Más opciones"</string>
- <string name="wifi_menu_wps_pin" msgid="6426448256268695933">"Ingreso PIN WPS"</string>
+ <string name="wifi_menu_wps_pin" msgid="6426448256268695933">"Ingresar PIN WPS"</string>
<string name="wifi_menu_p2p" msgid="2575893749303670353">"Wi-Fi Direct"</string>
<string name="wifi_menu_scan" msgid="1470911530412095868">"Buscar"</string>
<string name="wifi_menu_advanced" msgid="7522252991919573664">"Avanzado"</string>
@@ -965,7 +965,7 @@
<string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar el servidor para asistir el GPS (anular la selección para reducir el uso de la red)"</string>
<string name="assisted_gps_disabled" msgid="6982698333968010748">"Utilizar el servidor para asistir el GPS (anula la selección para mejorar el rendimiento del GPS)"</string>
<string name="use_location_title" msgid="5206937465504979977">"Búsqueda de Google y ubicación"</string>
- <string name="use_location_summary" msgid="3978805802386162520">"Permitir que Google utilice tu ubicación para aumentar los resultados de búsqueda y otros servicios"</string>
+ <string name="use_location_summary" msgid="3978805802386162520">"Permitir que Google utilice tu ubicación para mejorar los resultados de búsqueda y otros servicios"</string>
<string name="location_access_title" msgid="7064108942964081243">"Acceso a mi ubicación"</string>
<string name="location_access_summary" msgid="69031404093194341">"Permitir que las aplicaciones que solicitaron permiso usen la información de tu ubicación"</string>
<string name="location_sources_heading" msgid="1278732419851088319">"Fuentes de ubicación"</string>
@@ -1076,7 +1076,7 @@
<string name="show_background_processes" msgid="2009840211972293429">"Mostrar procesos almacenados en la memoria caché"</string>
<string name="reset_app_preferences" msgid="1321050641018356925">"Restablecer preferencias"</string>
<string name="reset_app_preferences_title" msgid="6093179367325336662">"¿Restablec. preferencias?"</string>
- <string name="reset_app_preferences_desc" msgid="1118129530999596317">"Se restablecerán las preferencias de:"\n\n" "<li>"aplicaciones desactivadas,"</li>\n" "<li>"notificaciones de aplicaciones desactivadas,"</li>\n" "<li>"aplicaciones predeterminadas para diferentes acciones,"</li>\n" "<li>"restricciones de datos de referencia para las aplicaciones."</li>\n\n" No perderás los datos de ninguna aplicación."</string>
+ <string name="reset_app_preferences_desc" msgid="1118129530999596317">"Se restablecerán las preferencias de:"\n\n" "<li>"aplicaciones desactivadas,"</li>\n" "<li>"notificaciones de aplicaciones desactivadas,"</li>\n" "<li>"aplicaciones predeterminadas para diferentes acciones,"</li>\n" "<li>"restricciones de datos en segundo plano para las aplicaciones."</li>\n\n" No perderás los datos de ninguna aplicación."</string>
<string name="reset_app_preferences_button" msgid="2559089511841281242">"Restablecer aplicaciones"</string>
<string name="manage_space_text" msgid="8852711522447794676">"Administrar el espacio"</string>
<string name="filter" msgid="2018011724373033887">"Filtro"</string>
@@ -1388,7 +1388,7 @@
<string name="battery_desc_standby" product="tablet" msgid="6284747418668280364">"La batería se utiliza cuando el tablet está inactivo"</string>
<string name="battery_desc_standby" product="default" msgid="3009080001948091424">"La batería se utiliza cuando el dispositivo está inactivo"</string>
<string name="battery_desc_radio" msgid="5479196477223185367">"La batería está siendo utilizada por la radio celular"</string>
- <string name="battery_sugg_radio" msgid="8211336978326295047">"Cambiar a modo de avión para ahorrar energía en áreas sin cobertura celular"</string>
+ <string name="battery_sugg_radio" msgid="8211336978326295047">"Cambiar a modo avión para ahorrar batería en áreas sin cobertura celular"</string>
<string name="battery_desc_display" msgid="5432795282958076557">"La batería está siendo utilizada por la pantalla y la luz de fondo"</string>
<string name="battery_sugg_display" msgid="3370202402045141760">"Reducir el brillo y el tiempo muerto de la pantalla"</string>
<string name="battery_desc_wifi" msgid="1702486494565080431">"La batería está siendo utilizada por Wi-Fi"</string>
@@ -1466,7 +1466,7 @@
<string name="gadget_wifi" msgid="5960290421313061434">"Wi-Fi"</string>
<string name="gadget_bluetooth" msgid="8998572807378694410">"Bluetooth"</string>
<string name="gadget_gps" msgid="1558173602059236567">"GPS"</string>
- <string name="gadget_sync" msgid="858895763714222152">"Sincronización"</string>
+ <string name="gadget_sync" msgid="858895763714222152">"Sincronizar"</string>
<string name="gadget_brightness_template" msgid="930541920933123603">"Brillo <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="gadget_brightness_state_auto" msgid="6667967252426515446">"automático"</string>
<string name="gadget_brightness_state_full" msgid="6814570109772137631">"completo"</string>
@@ -1569,8 +1569,8 @@
<string name="add_account_label" msgid="7811707265834013767">"Agregar cuenta"</string>
<string name="background_data" msgid="5779592891375473817">"Datos de fondo"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Las aplicaciones pueden sincronizar, enviar y recibir datos."</string>
- <string name="background_data_dialog_title" msgid="6059217698124786537">"¿Deseas desactivar los datos de referencia?"</string>
- <string name="background_data_dialog_message" msgid="6981661606680941633">"Si inhabilitas los datos de referencia, aumenta la duración de la batería y se reduce el uso de datos. Algunas aplicaciones tal vez sigan usando la conexión de datos de referencia."</string>
+ <string name="background_data_dialog_title" msgid="6059217698124786537">"¿Deseas desactivar los datos en segundo plano?"</string>
+ <string name="background_data_dialog_message" msgid="6981661606680941633">"Si inhabilitas los datos en segundo plano, aumenta la duración de la batería y se reduce el uso de datos. Algunas aplicaciones tal vez sigan usando la conexión de datos en segundo plano."</string>
<string name="sync_automatically" msgid="1682730255435062059">"Autosincronizar datos de aplic."</string>
<string name="sync_enabled" msgid="4551148952179416813">"Sincronización activada"</string>
<string name="sync_disabled" msgid="8511659877596511991">"Sincronización desactivada"</string>
@@ -1603,7 +1603,7 @@
<!-- no translation found for sync_item_title (4782834606909853006) -->
<skip />
<string name="cant_sync_dialog_title" msgid="8923508322291625282">"No se puede sincronizar manualmente"</string>
- <string name="cant_sync_dialog_message" msgid="1938380442159016449">"La sincronización de este elemento actualmente está desactivada. Para cambiar tu configuración, activa momentáneamente los datos de referencia y la sincronización automática."</string>
+ <string name="cant_sync_dialog_message" msgid="1938380442159016449">"La sincronización de este elemento actualmente está desactivada. Para cambiar tu configuración, activa momentáneamente los datos en segundo plano y la sincronización automática."</string>
<string name="wimax_settings" msgid="1574837328738396794">"Configuración de 4G"</string>
<string name="wimax_settings_summary" msgid="3207355006084135453">"Configurar & administrar red 4G y módem"</string>
<string name="status_wimax_mac_address" msgid="8390791848661413416">"Dirección MAC de 4G"</string>
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Forzar MSAA 4x"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Activar MSAA 4x en aplicaciones OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Represent. GPU del perfil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Medir tiempo de repr. en adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Ventana de escala de animación"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Transición de escala de animación"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Escala duración animador"</string>
@@ -1672,7 +1671,7 @@
<string name="data_usage_summary_title" msgid="3804110657238092929">"Uso de datos"</string>
<string name="data_usage_cycle" msgid="5652529796195787949">"Ciclo de uso de datos"</string>
<string name="data_usage_menu_roaming" msgid="8042359966835203296">"Roaming de datos"</string>
- <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"Restringir datos de ref."</string>
+ <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"Restr. datos 2.° plano"</string>
<string name="data_usage_menu_split_4g" msgid="5322857680792601899">"Uso aparte de datos móviles 4G"</string>
<string name="data_usage_menu_show_wifi" msgid="8266875319417201085">"Mostrar el uso de Wi-Fi"</string>
<string name="data_usage_menu_show_ethernet" msgid="5181361208532314097">"Mostrar uso de Ethernet"</string>
@@ -1700,12 +1699,12 @@
<string name="data_usage_enable_3g" msgid="6304006671869578254">"Datos de 2 GB - 3 GB"</string>
<string name="data_usage_enable_4g" msgid="3635854097335036738">"Datos de 4 GB"</string>
<string name="data_usage_app_settings" msgid="8430240158135453271">"Ver config. de la aplicación"</string>
- <string name="data_usage_app_restrict_background" msgid="9149728936265100841">"Restringir los datos de referencia"</string>
+ <string name="data_usage_app_restrict_background" msgid="9149728936265100841">"Restringir datos en 2.° plano"</string>
<string name="data_usage_app_restrict_background_summary" msgid="518658001418490405">"Desactivar datos ref. en redes móviles (usará redes no móviles)"</string>
- <string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"Para limitar datos de ref. de esta aplic., limita datos móviles."</string>
- <string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"¿Restringir el uso de datos de referencia?"</string>
- <string name="data_usage_app_restrict_dialog" msgid="1466689968707308512">"Esta función puede hacer que deje de funcionar una aplicación que tenga que utilizar datos de referencia cuando solo estén disponibles redes móviles."\n\n"Puedes encontrar controles de uso de datos más adecuados en las opciones de configuración disponibles en la aplicación."</string>
- <string name="data_usage_restrict_denied_dialog" msgid="7086969103661420799">"Solo se pueden restringir los datos de referencia si estableciste un límite de datos móviles."</string>
+ <string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"Para restringir datos en 2.° plano aquí, limita datos móviles."</string>
+ <string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"¿Restringir el uso de datos en segundo plano?"</string>
+ <string name="data_usage_app_restrict_dialog" msgid="1466689968707308512">"Esta función puede hacer que deje de funcionar una aplicación que tenga que utilizar datos en segundo plano cuando solo estén disponibles redes móviles."\n\n"Puedes encontrar controles de uso de datos más adecuados en las opciones de configuración disponibles en la aplicación."</string>
+ <string name="data_usage_restrict_denied_dialog" msgid="7086969103661420799">"Solo se pueden restringir los datos en segundo plano si estableciste un límite de datos móviles."</string>
<string name="data_usage_auto_sync_on_dialog_title" msgid="2438617846762244389">"¿Activar sinc. automática?"</string>
<string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="7312283529426636845">"Cualquier cambio que sufran tus cuentas en la Web se copiará automáticamente en tu tableta."\n\n"Algunas cuentas también pueden copiar automáticamente en la Web los cambios que sufre tu tableta. Una cuenta de Google funciona de esta manera."\n\n"Para elegir qué tipo de información sincronizar dentro de cada cuenta, ve a Configuración > Cuentas."</string>
<string name="data_usage_auto_sync_on_dialog" product="default" msgid="2374996799819303283">"Cualquier cambio que sufran tus cuentas en la Web se copiará automáticamente en tu dispositivo."\n\n"Algunas cuentas también pueden copiar automáticamente en la Web los cambios que sufre tu dispositivo. Una cuenta de Google funciona de esta manera."\n\n"Para elegir qué tipo de información sincronizar dentro de cada cuenta, ve a Configuración > Cuentas."</string>
@@ -1719,10 +1718,10 @@
<string name="data_usage_limit_dialog_title" msgid="3023111643632996097">"Limitar el uso de datos"</string>
<string name="data_usage_limit_dialog_mobile" product="tablet" msgid="3893348029612821262">"Tu conexión de datos móvil se desactivará cuando se alcance el límite especificado."\n\n"Debido a que el uso de datos medido por tu tableta puede diferir del cálculo de uso de tu proveedor, considera usar un límite prudente."</string>
<string name="data_usage_limit_dialog_mobile" product="default" msgid="7962145861903746827">"Tu conexión de datos móvil se desactivará cuando se alcance el límite especificado."\n\n"Debido a que el uso de datos medido por tu teléfono puede diferir del cálculo de uso de tu proveedor, considera usar un límite prudente."</string>
- <string name="data_usage_restrict_background_title" msgid="2201315502223035062">"¿Restringir el uso de datos de referencia?"</string>
- <string name="data_usage_restrict_background" msgid="6387252645350792955">"Si restringes los datos para celulares de referencia, algunas aplicaciones y servicios no funcionarán a menos que te conectes a una red Wi-Fi."</string>
- <string name="data_usage_restrict_background_multiuser" product="tablet" msgid="2609163428726042269">"Si restringes los datos móviles de referencia, algunos servicios y aplicaciones no funcionarán a menos que te conectes a una red Wi-Fi."\n\n"Esta configuración afecta a todos los usuarios de esta tableta."</string>
- <string name="data_usage_restrict_background_multiuser" product="default" msgid="8025473178302056174">"Si restringes los datos móviles de referencia, algunos servicios y aplicaciones no funcionarán a menos que te conectes a una red Wi-Fi."\n\n"Esta configuración afecta a todos los usuarios de este dispositivo."</string>
+ <string name="data_usage_restrict_background_title" msgid="2201315502223035062">"¿Restringir el uso de datos en segundo plano?"</string>
+ <string name="data_usage_restrict_background" msgid="6387252645350792955">"Si restringes los datos que usa tu celular en segundo plano, algunos servicios y aplicaciones no funcionarán a menos que estés conectado a una red Wi-Fi."</string>
+ <string name="data_usage_restrict_background_multiuser" product="tablet" msgid="2609163428726042269">"Si restringes los datos móviles que se usan en segundo plano, algunos servicios y aplicaciones no funcionarán a menos que estés conectado a una red Wi-Fi."\n\n"Esta configuración afecta a todos los usuarios de esta tableta."</string>
+ <string name="data_usage_restrict_background_multiuser" product="default" msgid="8025473178302056174">"Si restringes los datos que usa tu celular en segundo plano, algunos servicios y aplicaciones no funcionarán a menos que estés conectado a una red Wi-Fi."\n\n"Esta configuración afecta a todos los usuarios de este dispositivo."</string>
<string name="data_usage_sweep_warning" msgid="6387081852568846982"><font size="21">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"advertencia"</font></string>
<string name="data_usage_sweep_limit" msgid="860566507375933039"><font size="21">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"límite"</font></string>
<string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicaciones eliminadas"</string>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 564f631..7115de9 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (gráficos)"</item>
<item msgid="1340692776955662664">"Pila de llamadas en glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Límite estándar"</item>
<item msgid="4071574792028999443">"Sin procesos en segundo plano"</item>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ed48a6a..7332c77 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Forzar MSAA 4x"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Habilitar MSAA 4x en aplicaciones de OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Representación GPU perfil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Medir tiempo representación en adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Escala de animación ventana"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Escala de transición-animación"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Escala duración animador"</string>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index 09c8cc5..146976d 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (graafika)"</item>
<item msgid="1340692776955662664">"Helistamise virn glGetErrori kohta"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardpiir"</item>
<item msgid="4071574792028999443">"Taustaprotsessideta"</item>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 6f2177b..a58e688 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Jõusta 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Luba 4x MSAA OpenGL ES 2.0 rakendustes"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profiili GPU renderdamine"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mõõda renderdusaega adb-kestas: dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Akna animatsiooni skaala"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Ülemineku animats. skaala"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animaatori kestuse skaala"</string>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index 0e1c59e..322ced3 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (تصاویر گرافیکی)"</item>
<item msgid="1340692776955662664">"فراخوانی پشته در glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"حد استاندارد"</item>
<item msgid="4071574792028999443">"بدون پردازش در پسزمینه"</item>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 274cc01..ed611f4 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"تحمیل 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"فعال کردن 4X MSAA در برنامههای OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"اجرای GPU نمایه"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"اندازهگیری زمان اجرا در adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"مقیاس انیمیشن پنجره"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"مقیاس انیمیشن انتقال"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"مقیاس طول مدت انیماتور"</string>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 41dfd36..f06a5de 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafiikka)"</item>
<item msgid="1340692776955662664">"Kutsu pinoa, jos glGetError tapaht."</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Vakioraja"</item>
<item msgid="4071574792028999443">"Ei taustaprosesseja"</item>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index f8e96e7..099775c 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Pakota 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Ota käyttöön 4x MSAA OpenGL ES 2.0 -sovelluksissa"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profiilin GPU-hahmonnus"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mittaa hahmonnusaika: adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Ikkunan animaat. mittak."</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Siirtymän anim.asteikko"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animatorin keston mittakaava"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 0e963b3..ef82e67 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (graphismes)"</item>
<item msgid="1340692776955662664">"Appeler une pile sur glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Limite standard"</item>
<item msgid="4071574792028999443">"Aucun processus en arrière-plan"</item>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index b92a81a..1451006 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Forcer MSAA 4x"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Activer MSAA 4x dans les applications OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Rendu GPU du profil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mesurer durée rendu dans adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Échelle animation fenêtres"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Échelle anim. transitions"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Échelle durée animation"</string>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index c6c7aab..65faeed 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (ग्राफ़िक)"</item>
<item msgid="1340692776955662664">"glGetError पर स्टैक कॉल करें"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"मानक सीमा"</item>
<item msgid="4071574792028999443">"कोई पृष्ठभूमि प्रक्रियाएं नहीं"</item>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index bde67cd..3b4792d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -1659,7 +1659,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA को बाध्य करें"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"OpenGL ES 2.0 एप्लिकेशन में 4x MSAA को सक्षम करें"</string>
<string name="track_frame_time" msgid="6146354853663863443">"प्रोफ़ाइल GPU रेंडरिंग"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"adb shell dumpsys gfxinfo में रेंडरिंग समय मापें"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"विंडो एनिमेशन स्केल"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"संक्रमण एनिमेशन स्केल"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"एनिमेटर अवधि स्केल"</string>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index c36d6f2..02f2e3d 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafika)"</item>
<item msgid="1340692776955662664">"Pozivni snop za funkciju glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardna granica"</item>
<item msgid="4071574792028999443">"Nema pozadinskih procesa"</item>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index eaf7fd5..64bfb8e 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Nametni 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Omogući 4x MSAA u aplikacijama OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profil GPU prikazivanja"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mjeri vrijeme prikaza u adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Razmjer animacije prozora"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Animacija prijelaza razmjera"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Razmjer duljine animatora"</string>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 129b4f7..dd1691c 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafika)"</item>
<item msgid="1340692776955662664">"Verem meghívása glGetError esetén"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Normál korlátozás"</item>
<item msgid="4071574792028999443">"Nincsenek háttérfolyamatok"</item>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 04906d4..5c6ba2f 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA kényszerítése"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"A 4x MSAA engedélyezése az OpenGL ES 2.0-nál"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profil GPU-renderelésről"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Renderelési idő mérés ADB shell dumpsys gfxinfoban"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Ablakanimáció mérete"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Áttűnési animáció mérete"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animáció léptéke"</string>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index 6d0ff16..d166e47 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Grafis)"</item>
<item msgid="1340692776955662664">"Panggil tumpukan di glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Batas standar"</item>
<item msgid="4071574792028999443">"Tanpa proses latar belakang"</item>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 9aad20b..80aeaf6 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Force 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Aktifkan 4x MSAA dalam aplikasi OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Penguraian GPU profil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Ukur waktu penguraian di adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Skala animasi jendela"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Skala animasi transisi"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Skala durasi animator"</string>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 9ce958a..e3aecb8 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafica)"</item>
<item msgid="1340692776955662664">"Stack di chiamate su glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Limite standard"</item>
<item msgid="4071574792028999443">"Nessun processo in background"</item>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 35d1441..340c2c8 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Forza MSAA 4x"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Attiva MSAA 4x in applicazioni OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Rendering GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Misura tempi rendering in adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Scala animazione finestra"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Scala animazione transizione"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Scala durata animatore"</string>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 8a9f26f..2110c4b 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (גרפיקה)"</item>
<item msgid="1340692776955662664">"Call Stack ב-glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"הגבלת תקן"</item>
<item msgid="4071574792028999443">"אין תהליכים ברקע"</item>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 3460a4b..bff8913 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"אלץ הפעלת 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"הפעל 4x MSAA ביישומי OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"עיבוד פרופיל ב-GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"מדוד את משך העיבוד ב-adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"קנה מידה להנפשה של חלון"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"קנה מידה של הנפשת מעבר"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"קנה מידת משך זמן למנפיש"</string>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 2c2e94f..ea6d822 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace(画像)"</item>
<item msgid="1340692776955662664">"glGetErrorでのスタック呼び出し"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"標準の上限"</item>
<item msgid="4071574792028999443">"バックグラウンドプロセスを使用しない"</item>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index cf64e64..d64d92a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1664,7 +1664,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAAを適用"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"OpenGL ES 2.0アプリで4x MSAAを有効にする"</string>
<string name="track_frame_time" msgid="6146354853663863443">"GPUレンダリングのプロフィール作成"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"adb shell dumpsys gfxinfoでレンダリング時間を測定"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"ウィンドウアニメスケール"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"トランジションアニメスケール"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animator再生時間スケール"</string>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 0c4828f..d25a028 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace(그래픽)"</item>
<item msgid="1340692776955662664">"glGetError의 스택 호출"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"표준 제한"</item>
<item msgid="4071574792028999443">"백그라운드 프로세스 없음"</item>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 038de56..ad20bcb 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA 강제 사용"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"OpenGL ES 2.0 앱에서 4x MSAA 사용"</string>
<string name="track_frame_time" msgid="6146354853663863443">"프로필 GPU 렌더링"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"adb shell dumpsys gfxinfo에서 렌더링 시간 측정"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"창 애니메이션 배율"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"전환 애니메이션 배율"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animator 길이 배율"</string>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index f58bca0..c1f97ff 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"„Systrace“ (grafika)"</item>
<item msgid="1340692776955662664">"Kreipinių dėklas „glGetError“"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standartinis apribojimas"</item>
<item msgid="4071574792028999443">"Nėra fono procesų"</item>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 5124c7d..c603549 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Priverst. vykdyti 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Įgalinti 4x MSAA „OpenGL ES 2.0“ programose"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profiliuotas GPU atvaizd."</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Skaič. atvaizd. laiką „adb shell dumpsys gfxinfo“"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Lango animacijos mast."</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Animuoto perėjimo mast."</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animator. trukmės skalė"</string>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index f5e50a8..6b7cd52 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafika)"</item>
<item msgid="1340692776955662664">"glGetError: zvanu kaskāde"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standarta ierobežojums"</item>
<item msgid="4071574792028999443">"Nav fona procesu"</item>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 9be7489..a4bc22b 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA piespiedu palaiš."</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Iespējot 4x MSAA OpenGL ES 2.0 lietotnēs"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profila GPU atveide"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mērīt atveides laiku: adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Loga animācijas mērogs"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Pārejas animācijas mērogs"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animācijas ilguma mērogs"</string>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index d1ab68d..bbd8cfe 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Grafik)"</item>
<item msgid="1340692776955662664">"Tindanan panggilan pada glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Had standard"</item>
<item msgid="4071574792028999443">"Tiada proses latar belakang"</item>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 349f433..1977178 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Paksa 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Dayakan 4x MSAA dalam apl OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Penyerahan GPU profil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Ukur masa penyerahan dalam adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Skala animasi tetingkap"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Skala animasi peralihan"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Skala tempoh juruanimasi"</string>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 8a0bc5b..af585cd 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafikk)"</item>
<item msgid="1340692776955662664">"Ring stabel på glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standard grense"</item>
<item msgid="4071574792028999443">"Ingen bakgrunnsprosesser"</item>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 7e5b760..6313ec0 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1329,7 +1329,7 @@
<string name="accessibility_service_disable_warning_summary" msgid="625013894287895398">"Du stopper <xliff:g id="SERVICE">%1$s</xliff:g> ved å trykke på OK."</string>
<string name="accessibility_no_services_installed" msgid="7200948194639038807">"Ingen tjenester er installert"</string>
<string name="accessibility_service_no_apps_title" msgid="5124097563864109821">"Trenger du en skjermleser?"</string>
- <string name="accessibility_service_no_apps_message" msgid="7751662416377046539">"Talkback gir muntlig tilbakemelding for å hjelpe blinde og svaksynte brukere. Vil du installere denne appen gratis fra Android Market?"</string>
+ <string name="accessibility_service_no_apps_message" msgid="7751662416377046539">"Talkback gir muntlig tilbakemelding for å hjelpe blinde og svaksynte brukere. Vil du installere denne appen gratis fra Google Play?"</string>
<string name="accessibility_script_injection_security_warning_summary" msgid="7706858873495386310">"Vil du at appene skal installere skripter fra Google som kan bidra til å gjøre nettinnholdet deres mer tilgjengelig?"</string>
<string name="accessibility_service_default_description" msgid="1072730037861494125">"Beskrivelse ble ikke oppgitt."</string>
<string name="settings_button" msgid="3006713718908152930">"Innstillinger"</string>
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Tving 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Aktiver 4x MSAA i OpenGL ES 2.0-apper"</string>
<string name="track_frame_time" msgid="6146354853663863443">"GPU-gjengivelse av profil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mål gjengivelsestid i adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Animasjonsskala for vindu"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Overgangsanimasjonsskala"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Varighetsskala, animatør"</string>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index 04fc1a8..74ff989 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (graphics)"</item>
<item msgid="1340692776955662664">"Oproepstack op glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standaardlimiet"</item>
<item msgid="4071574792028999443">"Geen achtergrondprocessen"</item>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 1bfc450..16a4dcf 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA forceren"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"4x MSAA inschakelen in OpenGL ES 2.0-apps"</string>
<string name="track_frame_time" msgid="6146354853663863443">"GPU-rendering van profiel"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Renderingtijd in adb shell dumpsys gfxinfo meten"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Vensteranimatieschaal"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Overgangsanimatieschaal"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Duur van animatieschaal"</string>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 3584b5f..39b4f13 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafika)"</item>
<item msgid="1340692776955662664">"Stos wywołań funkcji glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardowy limit"</item>
<item msgid="4071574792028999443">"Brak procesów w tle"</item>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 69ce44a..3d95d97 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Wymuś 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Włącz 4x MSAA w aplikacjach OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profil renderowania GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mierz czas renderowania w adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Skala animacji okna"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Skala animacji przejścia"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Skala długości animacji"</string>
@@ -1672,7 +1671,7 @@
<string name="data_usage_summary_title" msgid="3804110657238092929">"Użycie danych"</string>
<string name="data_usage_cycle" msgid="5652529796195787949">"Cykl transmisji danych"</string>
<string name="data_usage_menu_roaming" msgid="8042359966835203296">"Dane w roamingu"</string>
- <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"Ogranicz przesył danych w tle"</string>
+ <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"Ogranicz dane w tle"</string>
<string name="data_usage_menu_split_4g" msgid="5322857680792601899">"Oddzielnie transmisja danych 4G"</string>
<string name="data_usage_menu_show_wifi" msgid="8266875319417201085">"Pokaż użycie Wi-Fi"</string>
<string name="data_usage_menu_show_ethernet" msgid="5181361208532314097">"Pokaż użycie sieci Ethernet"</string>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index 7d82635..6ebb360 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Gráficos)"</item>
<item msgid="1340692776955662664">"Pilha de chamadas em glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Limite padrão"</item>
<item msgid="4071574792028999443">"Sem processos em segundo plano"</item>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 371c988..5e10542 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Forçar 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Ativar o 4x MSAA em aplicações OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Conversão GPU do perfil"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Medir tempo de conv. em adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Escala de anim. da janela"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Escala de anim. de trans."</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Esc. de duração do anim."</string>
@@ -1672,7 +1671,7 @@
<string name="data_usage_summary_title" msgid="3804110657238092929">"Utilização de dados"</string>
<string name="data_usage_cycle" msgid="5652529796195787949">"Ciclo de utiliz. de dados"</string>
<string name="data_usage_menu_roaming" msgid="8042359966835203296">"Roaming de dados"</string>
- <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"Restringir dados em 2º plano"</string>
+ <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"Restringir dados 2º plano"</string>
<string name="data_usage_menu_split_4g" msgid="5322857680792601899">"Separar utilização de 4G"</string>
<string name="data_usage_menu_show_wifi" msgid="8266875319417201085">"Mostrar utilização de Wi-Fi"</string>
<string name="data_usage_menu_show_ethernet" msgid="5181361208532314097">"Mostrar utilização de Ethernet"</string>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index ea55f7b..70e34c6 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (gráficos)"</item>
<item msgid="1340692776955662664">"Pilha de chamadas em glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Limite padrão"</item>
<item msgid="4071574792028999443">"Sem processos em segundo plano"</item>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index d2ebedb..66e4861 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Forçar 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Ativar 4x MSAA em aplicativos OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Classific. render. GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Medir tempo render. em adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Escala de anim. da janela"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Escala anim. de transição"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Escala de duração do Animator"</string>
diff --git a/res/values-rm/arrays.xml b/res/values-rm/arrays.xml
index dbfebfc..fe16624 100644
--- a/res/values-rm/arrays.xml
+++ b/res/values-rm/arrays.xml
@@ -186,6 +186,10 @@
<!-- no translation found for enable_opengl_traces_entries:1 (9089630089455370183) -->
<!-- no translation found for enable_opengl_traces_entries:2 (5397807424362304288) -->
<!-- no translation found for enable_opengl_traces_entries:3 (1340692776955662664) -->
+ <!-- no translation found for track_frame_time_entries:0 (2193584639058893150) -->
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<!-- no translation found for app_process_limit_entries:0 (3401625457385943795) -->
<!-- no translation found for app_process_limit_entries:1 (4071574792028999443) -->
<!-- no translation found for app_process_limit_entries:2 (4810006996171705398) -->
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index c9ddc15..d9d4351 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -2596,8 +2596,6 @@
<skip />
<!-- no translation found for track_frame_time (6146354853663863443) -->
<skip />
- <!-- no translation found for track_frame_time_summary (447577515813970287) -->
- <skip />
<!-- no translation found for window_animation_scale_title (6162587588166114700) -->
<skip />
<!-- no translation found for transition_animation_scale_title (387527540523595875) -->
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index f208e5e..ca32197 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (imagini)"</item>
<item msgid="1340692776955662664">"Apelaţi stiva pentru glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Limita standard"</item>
<item msgid="4071574792028999443">"Nu există procese de fundal"</item>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 3ce43f8..d21997d 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1659,7 +1659,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Forţaţi MSAA 4x"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Activaţi MSAA 4x în aplicaţiile OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profil redare cu GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Măsurare timp redare în adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Scara anim. în fereastră"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Scară pt. anim. cu tranz."</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Scară durată Animator"</string>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 278843f..29e4c32 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (графика)"</item>
<item msgid="1340692776955662664">"Список вызовов в glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Стандартное ограничение"</item>
<item msgid="4071574792028999443">"Без фоновых процессов"</item>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0648380..8767df9 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Включить 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Включить 4x MSAA в приложениях OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Запись времени работы GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Измерение времени для adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Окно: масштаб"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Переход: масштаб"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Скорость анимации"</string>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 0a5865c..50b8715 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafika)"</item>
<item msgid="1340692776955662664">"Volať zásobník pri chybe glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Štandardný limit"</item>
<item msgid="4071574792028999443">"Žiadne procesy na pozadí"</item>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 6920e78..78872c1 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Vynútiť 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Povoliť 4x MSAA v aplikáciách OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profilové vykresľ. GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Merať čas vykresľov. v adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Mierka animácie okna"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Mierka animácie premeny"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Mierka dĺžky animácie"</string>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index f229d76..21c1a03 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafika)"</item>
<item msgid="1340692776955662664">"Pri napaki glGetError kliči sklad"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardna omejitev"</item>
<item msgid="4071574792028999443">"Ni postopkov v ozadju"</item>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 57582fd..6a11f02 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Vsili 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"V aplikacijah OpenGL ES 2.0 omogoči 4x MSAA"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Upod. profilov z GPU-jem"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Merjenje časa upodab. v dumpsys gfxinfo lupine adb"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Merilo animacije okna"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Merilo animacije prehoda"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Lestvica trajanja animacije"</string>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 36a9cfb..183262f 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (графика)"</item>
<item msgid="1340692776955662664">"Групно позивање функције glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Стандардно ограничење"</item>
<item msgid="4071574792028999443">"Без позадинских процеса"</item>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 289b3d0..09d6873 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Наметни 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Омогући 4x MSAA у OpenGL ES 2.0 апликацијама"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Прикажи профил помоћу GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Мери време приказивања у adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Размера анимације прозора"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Размера анимације прелаза"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animator размера трајања"</string>
@@ -1707,8 +1706,8 @@
<string name="data_usage_app_restrict_dialog" msgid="1466689968707308512">"Ова функција може да заустави апликацију која зависи од позадинских података када су доступне само мобилне мреже."\n\n"Адекватније контроле за коришћење података можете да пронађете у подешавањима доступним у оквиру апликације."</string>
<string name="data_usage_restrict_denied_dialog" msgid="7086969103661420799">"Ограничавање позадинских података је могуће само када будете подесили ограничење за мобилне податке."</string>
<string name="data_usage_auto_sync_on_dialog_title" msgid="2438617846762244389">"Укључити аутом. синх. података?"</string>
- <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="7312283529426636845">"Све промене које обавите на налозима на Вебу биће аутоматски копиране на таблет."\n\n"Неки налози могу и да аутоматски копирају на Веб све промене које обавите на таблету. Google налог функционише на овај начин."\n\n"Да бисте изабрали које ће се врсте информација синхронизовати између сваког налога, идите на Подешавања > Налози."</string>
- <string name="data_usage_auto_sync_on_dialog" product="default" msgid="2374996799819303283">"Све промене које обавите на налозима на Вебу биће аутоматски копиране на телефон."\n\n"Неки налози могу и да аутоматски копирају на Веб све промене које обавите на телефону. Google налог функционише на овај начин."\n\n"Да бисте изабрали које ће се врсте информација синхронизовати између сваког налога, идите на Подешавања > Налози."</string>
+ <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="7312283529426636845">"Све промене које обавите на налозима на вебу биће аутоматски копиране на таблет."\n\n"Неки налози могу и да аутоматски копирају на Веб све промене које обавите на таблету. Google налог функционише на овај начин."\n\n"Да бисте изабрали које ће се врсте информација синхронизовати између сваког налога, идите на Подешавања > Налози."</string>
+ <string name="data_usage_auto_sync_on_dialog" product="default" msgid="2374996799819303283">"Све промене које обавите на налозима на вебу биће аутоматски копиране на телефон."\n\n"Неки налози могу и да аутоматски копирају на Веб све промене које обавите на телефону. Google налог функционише на овај начин."\n\n"Да бисте изабрали које ће се врсте информација синхронизовати између сваког налога, идите на Подешавања > Налози."</string>
<string name="data_usage_auto_sync_off_dialog_title" msgid="9013139130490125793">"Искључити аутом. синх. података?"</string>
<string name="data_usage_auto_sync_off_dialog" msgid="4744145757533455623">"На овај начин ће се смањити потрошња података и батерије, али биће потребно да ручно синхронизујете сваки налог да бисте прикупили недавне информације. Нећете примати ни обавештења када дође до ажурирања."</string>
<string name="data_usage_cycle_editor_title" msgid="1373797281540188533">"Датум враћања циклуса потрошње на почетне вредности"</string>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index 44ce64c..97bd583 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (grafik)"</item>
<item msgid="1340692776955662664">"Anropsstacken på glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standardgräns"</item>
<item msgid="4071574792028999443">"Inga bakgrundsprocesser"</item>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index e9b0160..8f88fc9 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Force 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Aktivera 4x MSAA i OpenGL ES 2.0-appar"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profilens GPU-rendering"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Mät tid för rendering i adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Skala, fönsteranimering"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Skala, övergångsanimering"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Längdskala för Animator"</string>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 3af195a..f3d64b8 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Michoro)"</item>
<item msgid="1340692776955662664">"Simu imekwama kwenye glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Kiwango cha wastani"</item>
<item msgid="4071574792028999443">"Hakuna mchakato wa mandari nyuma"</item>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index d27722a..f3dc54b 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -1053,7 +1053,7 @@
<string name="disable_text" msgid="6544054052049395202">"Lemaza"</string>
<string name="enable_text" msgid="9217362512327828987">"Wezesha"</string>
<string name="clear_user_data_text" msgid="5597622864770098388">"Futa data"</string>
- <string name="app_factory_reset" msgid="6635744722502563022">"Sanidua visasisho"</string>
+ <string name="app_factory_reset" msgid="6635744722502563022">"Sanidua Masasisho"</string>
<string name="auto_launch_enable_text" msgid="2652825923953591251">"Umechagua kuzindua programu hii kwa mbadala kwa baadhi ya vitendo."</string>
<string name="always_allow_bind_appwidgets_text" msgid="3368654672141202604">"Umechagua kuruhusu programu hii kuunda wijeti na kufikia data yao."</string>
<string name="auto_launch_disable_text" msgid="7800385822185540166">"Hakuna chaguo-misingi zilizowekwa."</string>
@@ -1092,7 +1092,7 @@
<string name="app_not_found_dlg_title" msgid="3127123411738434964"></string>
<string name="app_not_found_dlg_text" msgid="8333723538280257243">"Programu haikupatikana katika orodha ya programu za kompyuta zilizosakinishwa."</string>
<string name="clear_data_failed" msgid="1907582169616856698">"Haikuweza kufuta data ya programu."</string>
- <string name="app_factory_reset_dlg_title" msgid="7441012826373143593">"Sanidua visasisho?"</string>
+ <string name="app_factory_reset_dlg_title" msgid="7441012826373143593">"Unataka kusanidua masasisho?"</string>
<string name="app_factory_reset_dlg_text" msgid="6371247225487725860">"Usasisho zote kwa mfumo wa programu ya Android zitasakinishuliwa."</string>
<string name="clear_failed_dlg_title" msgid="2387060805294783175">"Futa data"</string>
<string name="clear_failed_dlg_text" msgid="1092177570631523106">"Haikuweza kufuta data ya programu."</string>
@@ -1182,7 +1182,7 @@
<string name="auto_caps_summary" msgid="6358102538315261466">"Sentensi zianze kwa herufi kubwa"</string>
<string name="auto_punctuate" msgid="4595367243950425833">"Akifisha kiotomaki"</string>
<string name="hardkeyboard_category" msgid="5957168411305769899">"Mipangilio ya kibodi halisi"</string>
- <string name="auto_punctuate_summary" msgid="4372126865670574837">"Bonyeza kibonye cha nafasi mara mbili ili uweke \".\""</string>
+ <string name="auto_punctuate_summary" msgid="4372126865670574837">"Bonyeza kibonye cha \'Space\' mara mbili ili uweke \".\""</string>
<string name="show_password" msgid="3001113966880559611">"Fanya manenosiri kuonekana"</string>
<string name="ime_security_warning" msgid="4135828934735934248">"Mbinu hii ya ingizo huenda ikaweza kukusanya maandishi yote unayoandika, pamoja na data ya kibinafsi kama vile nenosiri na nambari za kadi ya mkopo. Inatoka kwa programu <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Tumia mbinu hii ya ingizo?"</string>
<string name="spellchecker_security_warning" msgid="9060897418527708922">"Kisasishaji hiki kinaweza kukusanya maandishi yote wakati unaangika, pamoja na data za kibinafsi kama nenosiri na namari za kadi ya mkopo. Inatoka kwa programu <xliff:g id="SPELLCHECKER_APPLICATION_NAME">%1$s</xliff:g>. Tumia kisasishaji hiki?"</string>
@@ -1650,7 +1650,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Lazimisha 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Wezesha 4x MSAA katika programu za OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Utungilizaji wa GPU ya wasifu"</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/arrays.xml b/res/values-th/arrays.xml
index 16eb8e7..c7a195a 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (กราฟิก)"</item>
<item msgid="1340692776955662664">"ชุดรายการเรียกใน glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"ขีดจำกัดมาตรฐาน"</item>
<item msgid="4071574792028999443">"ไม่มีกระบวนการพื้นหลัง"</item>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 97103f6..7936477 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"บังคับใช้ 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"เปิดใช้งาน 4x MSAA ในแอปพลิเคชัน OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"การแสดงผล GPU ตามโปรไฟล์"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"วัดเวลาที่ใช้แสดงผลใน adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"ขนาดหน้าต่างภาพเคลื่อนไหว"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"อัตราการสลับภาพเคลื่อนไหว"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"ความเร็วตามผู้สร้างกำหนด"</string>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 18568fd..508821a 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Graphics)"</item>
<item msgid="1340692776955662664">"Stack ng tawag sa glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Karaniwang limitasyon"</item>
<item msgid="4071574792028999443">"Walang mga proseso sa background"</item>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 9d22c68..951d7fb 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Puwersahin ang 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Paganahin ang 4x MSAA sa OpenGL ES 2.0 na apps"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Pag-render GPU ng Profile"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Sukat oras pag-render sa adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Scale ng animation window"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Scale ng animation sa paglipat"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Scale tagal ng animator"</string>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index c76985c..ef1d2c8 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Grafik)"</item>
<item msgid="1340692776955662664">"glGetError\'da yığın çağır"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Standart sınır"</item>
<item msgid="4071574792028999443">"Arka planda işlem yok"</item>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 1377512..3015b17 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"4x MSAA\'yı zorla"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"OpenGL ES 2.0 uygulamalarda 4x MSAA\'yı etkinleştir"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Profil GPU oluşturma"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Oluşturma süresini adb shell dumpsys gfxınfo içinde ölç"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Pencere animasyonu ölçeği"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Geçiş animasyonu ölçeği"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Animatör süre ölçeği"</string>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 5a47d0d..11de9f9 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (графіка)"</item>
<item msgid="1340692776955662664">"Стек викликів glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Стандартне обмеження"</item>
<item msgid="4071574792028999443">"Без фонових процесів"</item>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 6baa1c4..03b807f 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Примус. запустити 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Увімкнути 4x MSAA в програмах OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Запис часу роботи GPU"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Вимірювати час роботи в adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Ступінь анімації вікна"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Ступінь анімації переходу"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Тривалість анімації"</string>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index 9ed2783..75566c1 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (Đồ họa)"</item>
<item msgid="1340692776955662664">"Chồng lệnh trên glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Giới hạn tiêu chuẩn"</item>
<item msgid="4071574792028999443">"Không có quá trình nền"</item>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 5048120..c27c6f4 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Bắt buộc 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Bật 4x MSAA trong ứng dụng OpenGL ES 2.0"</string>
<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/arrays.xml b/res/values-zh-rCN/arrays.xml
index 3d38157..b2e206a 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace(图形)"</item>
<item msgid="1340692776955662664">"glGetError 上的调用堆栈"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"标准限制"</item>
<item msgid="4071574792028999443">"不允许后台进程"</item>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 26e638e..12cdcd2 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1658,7 +1658,6 @@
<string name="force_msaa" msgid="7920323238677284387">"强制启用 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"在 OpenGL ES 2.0 应用中启用 4x MSAA"</string>
<string name="track_frame_time" msgid="6146354853663863443">"GPU 呈现模式分析"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"计算 adb shell dumpsys gfxinfo 中的呈现时间"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"窗口动画缩放"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"过渡动画缩放"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"动画程序时长调整"</string>
@@ -1672,7 +1671,7 @@
<string name="data_usage_summary_title" msgid="3804110657238092929">"流量使用情况"</string>
<string name="data_usage_cycle" msgid="5652529796195787949">"流量使用周期"</string>
<string name="data_usage_menu_roaming" msgid="8042359966835203296">"移动数据网络漫游"</string>
- <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"限制后台数据"</string>
+ <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"限制后台流量"</string>
<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>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 8fb20b6..381e3dc 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"Systrace (圖片)"</item>
<item msgid="1340692776955662664">"glGetError 的呼叫堆疊"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"標準限制"</item>
<item msgid="4071574792028999443">"不執行背景處理程序"</item>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 7684e46..af2d387 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -377,7 +377,7 @@
<string name="lockpassword_pin_too_short" msgid="1677649103470518953">"PIN 碼最少要有 %d 位數字"</string>
<string name="lockpassword_press_continue" msgid="122706614386757182">"完成時請輕觸 [繼續]"</string>
<string name="lockpassword_continue_label" msgid="4602203784934526940">"繼續"</string>
- <string name="lockpassword_password_too_long" msgid="7016906583950201704">"密碼最多只能有 <xliff:g id="NUMBER">%d</xliff:g> 個字元。"</string>
+ <string name="lockpassword_password_too_long" msgid="7016906583950201704">"密碼必須少於 <xliff:g id="NUMBER">%d</xliff:g> 個字元。"</string>
<string name="lockpassword_pin_too_long" msgid="6419879099090294052">"PIN 最多只能有 <xliff:g id="NUMBER">%d</xliff:g> 個數字。"</string>
<string name="lockpassword_pin_contains_non_digits" msgid="1079053457942945709">"PIN 只能包含數字 0-9。"</string>
<string name="lockpassword_pin_recently_used" msgid="7909781183925861119">"裝置管理員不允許使用最近用過的 PIN。"</string>
@@ -1662,7 +1662,6 @@
<string name="force_msaa" msgid="7920323238677284387">"強制 4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"在 OpenGL ES 2.0 應用程式中啟用 4x MSAA"</string>
<string name="track_frame_time" msgid="6146354853663863443">"剖析 GPU 轉譯"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"測量「adb shell dumpsys gfxinfo」指令中的轉譯時間"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"視窗動畫比例"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"轉場動畫比例"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"動畫影片長度比例"</string>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index 642d647..ae6efe6 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -266,6 +266,9 @@
<item msgid="5397807424362304288">"i-Systrace (izithombe)"</item>
<item msgid="1340692776955662664">"Isitaki socingo ku-glGetError"</item>
</string-array>
+ <!-- no translation found for track_frame_time_entries:1 (2751513398307949636) -->
+ <!-- no translation found for track_frame_time_entries:2 (8272260411216018353) -->
+ <!-- no translation found for track_frame_time_entries:3 (120512413928262547) -->
<string-array name="app_process_limit_entries">
<item msgid="3401625457385943795">"Isilanganiso esivamile"</item>
<item msgid="4071574792028999443">"Azikho izinqubo zesizinda"</item>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 0955496..65595d9 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -1665,7 +1665,6 @@
<string name="force_msaa" msgid="7920323238677284387">"Phoqelela i-4x MSAA"</string>
<string name="force_msaa_summary" msgid="9123553203895817537">"Nika amandla i-4x MSAA ezinhlelweni zokusebenza ze-OpenGL ES 2.0"</string>
<string name="track_frame_time" msgid="6146354853663863443">"Iphrofayela ye-GPU iyasebenzeka"</string>
- <string name="track_frame_time_summary" msgid="447577515813970287">"Kala isikhathi sokusebenzeka ngama-adb shell dumpsys gfxinfo"</string>
<string name="window_animation_scale_title" msgid="6162587588166114700">"Iwindi yesilinganisi sesithombe esinyakazayo"</string>
<string name="transition_animation_scale_title" msgid="387527540523595875">"Isilinganiso sesithombe soku"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"Isilinganiso sobude besikhathi somenzi womfanekiso onyakazayo"</string>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 727a292..a8a371f 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -555,6 +555,25 @@
<item>auto</item>
</string-array>
+ <!-- Names of categories of app ops tabs -->
+ <string-array name="app_ops_categories">
+ <item>Location</item>
+ <item>Personal</item>
+ <item>Device</item>
+ </string-array>
+
+ <!-- User display names for app ops codes -->
+ <string-array name="app_ops_names">
+ <item>Coarse location</item>
+ <item>Fine location</item>
+ <item>GPS</item>
+ <item>Vibrate</item>
+ <item>Read contacts</item>
+ <item>Write contacts</item>
+ <item>Read calls</item>
+ <item>Write calls</item>
+ </string-array>
+
<!-- Titles for the list of long press timeout options. -->
<string-array name="long_press_timeout_selector_titles">
<!-- A title for the option for short long-press timeout [CHAR LIMIT=25] -->
@@ -693,6 +712,22 @@
<item>error</item>
</string-array>
+ <!-- Titles for frame time tracking preference. [CHAR LIMIT=35] -->
+ <string-array name="track_frame_time_entries">
+ <item>Off</item>
+ <item>On screen as bars</item>
+ <item>On screen as lines</item>
+ <item>In adb shell dumpsys gfxinfo</item>
+ </string-array>
+
+ <!-- Values for frame time tracking preference. -->
+ <string-array name="track_frame_time_values" translatable="false" >
+ <item>false</item>
+ <item>visual_bars</item>
+ <item>visual_lines</item>
+ <item>true</item>
+ </string-array>
+
<!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
<string-array name="app_process_limit_entries">
<item>Standard limit</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ee82030..419cb11 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1445,22 +1445,22 @@
<!-- Button label to dismiss the dialog -->
<string name="wifi_cancel">Cancel</string>
<!-- Button for skipping a step after having been warned of a potential concern [CHAR LIMIT=30] -->
- <string name="wifi_skip_anyway" msgid="5205612884736051138">Skip anyway</string>
+ <string name="wifi_skip_anyway">Skip anyway</string>
<!-- Button for going to the previous screen or step [CHAR LIMIT=20] -->
<string name="wifi_dont_skip">Don\'t skip</string>
<!-- Text warning about skipping Wi-Fi with a mobile connect (tablet) [CHAR LIMIT=NONE]-->
- <string name="wifi_skipped_message" product="tablet" msgid="6518433975501257341">WARNING: You may incur extra carrier data charges.\n\nTablet setup can require significant network activity.</string>
+ <string name="wifi_skipped_message" product="tablet">WARNING: You may incur extra carrier data charges.\n\nTablet setup can require significant network activity.</string>
<!-- Text warning about skipping Wi-Fi with a mobile connect (phone) [CHAR LIMIT=NONE]-->
- <string name="wifi_skipped_message" product="default" msgid="4376150150678208848">WARNING: You may incur extra carrier data charges.\n\nPhone setup can require significant network activity.</string>
+ <string name="wifi_skipped_message" product="default">WARNING: You may incur extra carrier data charges.\n\nPhone setup can require significant network activity.</string>
<!-- Text warning about skipping Wi-Fi without a mobile connect (tablet) [CHAR LIMIT=NONE] -->
- <string name="wifi_and_mobile_skipped_message" product="tablet" msgid="5647058314212144925">WARNING: The tablet won\'t be able to verify that your software is up to date.</string>
+ <string name="wifi_and_mobile_skipped_message" product="tablet">WARNING: Until you have an internet connection, the tablet won\'t be able to verify that your software is up to date.</string>
<!-- Text warning about skipping Wi-Fi without a mobile connect (phone) [CHAR LIMIT=NONE] -->
- <string name="wifi_and_mobile_skipped_message" product="default" msgid="1288483646141987070">WARNING: The phone won\'t be able to verify that your software is up to date.</string>
+ <string name="wifi_and_mobile_skipped_message" product="default">WARNING: Until you have an internet connection, the phone won\'t be able to verify that your software is up to date.</string>
<!-- Text alerting that Wi-Fi couldn't connect (tablet) [CHAR LIMIT=NONE] -->
- <string name="wifi_connect_failed_message" product="tablet" msgid="2006689630582761529">The tablet was unable to connect to this Wi-Fi network.</string>
+ <string name="wifi_connect_failed_message" product="tablet">The tablet was unable to connect to this Wi-Fi network.</string>
<!-- Text alerting that Wi-Fi couldn't connect (phone) [CHAR LIMIT=NONE] -->
- <string name="wifi_connect_failed_message" product="default" msgid="8220901976514642385">The phone was unable to connect to this Wi-Fi network.</string>
+ <string name="wifi_connect_failed_message" product="default">The phone was unable to connect to this Wi-Fi network.</string>
<!-- Wi-Fi Advanced Settings --> <skip />
<!-- Wi-Fi settings screen, advanced, settings section. This is a header shown above advanced wifi settings. -->
@@ -2565,6 +2565,8 @@
<!-- Text for filter option in ManageApps screen to display all installed
applications -->
<string name="filter_apps_all">All</string>
+ <!-- [CHAR LIMIT=NONE] Text for filter option in ManageApps screen to display disabled apps -->
+ <string name="filter_apps_disabled">Disabled</string>
<!-- Text for filter option in ManageApps screen to display third party
applications only -->
<string name="filter_apps_third_party">Downloaded</string>
@@ -2698,6 +2700,12 @@
If you turn off notifications for this app, you may miss important alerts and updates.
</string>
+ <!-- App Ops Settings --> <skip />
+ <!-- [CHAR LIMIT=NONE] App ops settings title, on main settings screen. If clicked, the user is taken to a settings screen for app operations -->
+ <string name="app_ops_settings">App ops</string>
+ <!-- [CHAR LIMIT=NONE] Time label for an operation that is currently running. -->
+ <string name="app_ops_running">Running</string>
+
<!-- [CHAR LIMIT=25] Services settings screen, setting option name for the user to go to the screen to view app storage use -->
<string name="storageuse_settings_title">Storage use</string>
<!-- Services settings screen, setting option summary for the user to go to the screen to app storage use -->
@@ -3920,18 +3928,6 @@
<!-- UI debug setting: disable use of overlays summary [CHAR LIMIT=50] -->
<string name="disable_overlays_summary">Always use GPU for screen compositing</string>
- <!-- UI debug setting: enable low-level traces? [CHAR LIMIT=25] -->
- <string name="enable_traces_title">Enable traces</string>
- <!-- UI debug setting: title for dialog to enable low-level traces [CHAR LIMIT=25] -->
- <string name="enable_traces_dialog_title">Select enabled traces</string>
-
- <!-- UI debug setting: enable low-level traces, none enabled summary [CHAR LIMIT=NONE] -->
- <string name="enable_traces_summary_none">No traces currently enabled</string>
- <!-- UI debug setting: enable low-level traces, some number enabled summary [CHAR LIMIT=NONE] -->
- <string name="enable_traces_summary_num"><xliff:g id="num">%1$d</xliff:g> traces currently enabled</string>
- <!-- UI debug setting: enable low-level traces, all enabled summary [CHAR LIMIT=NONE] -->
- <string name="enable_traces_summary_all">All traces currently enabled</string>
-
<!-- UI debug setting: enable various types of OpenGL traces [CHAR LIMIT=25] -->
<string name="enable_opengl_traces_title">Enable OpenGL traces</string>
@@ -3957,8 +3953,6 @@
<!-- UI debug setting: profile time taken by hardware acceleration to render apps [CHAR LIMIT=25] -->
<string name="track_frame_time">Profile GPU rendering</string>
- <!-- UI debug setting: profile hardware acceleration summary [CHAR LIMIT=50] -->
- <string name="track_frame_time_summary">Measure rendering time in adb shell dumpsys gfxinfo</string>
<!-- UI debug setting: scaling factor for window animations [CHAR LIMIT=25] -->
<string name="window_animation_scale_title">Window animation scale</string>
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index e67aad1..67473c2 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -183,10 +183,12 @@
android:title="@string/show_cpu_usage"
android:summary="@string/show_cpu_usage_summary"/>
- <CheckBoxPreference
+ <ListPreference
android:key="track_frame_time"
android:title="@string/track_frame_time"
- android:summary="@string/track_frame_time_summary"/>
+ android:persistent="false"
+ android:entries="@array/track_frame_time_entries"
+ android:entryValues="@array/track_frame_time_values" />
<ListPreference
android:key="enable_opengl_traces"
@@ -195,11 +197,6 @@
android:entries="@array/enable_opengl_traces_entries"
android:entryValues="@array/enable_opengl_traces_values" />
- <MultiCheckPreference
- android:key="enable_traces"
- android:title="@string/enable_traces_title"
- android:dialogTitle="@string/enable_traces_dialog_title" />
-
</PreferenceCategory>
<PreferenceCategory android:key="debug_applications_category"
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index b6556a9..44ef8f8 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -1024,7 +1024,7 @@
ToggleSwitch toggleSwitch = new ToggleSwitch(activity);
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
- toggleSwitch.setPadding(0, 0, padding, 0);
+ toggleSwitch.setPaddingRelative(0, 0, padding, 0);
activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(toggleSwitch,
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index ae67d3a..cc3fe31 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -335,7 +335,7 @@
if (mInsetSide > 0) {
// inset selector and divider drawables
insetListViewDrawables(mListView, mInsetSide);
- mHeader.setPadding(mInsetSide, 0, mInsetSide, 0);
+ mHeader.setPaddingRelative(mInsetSide, 0, mInsetSide, 0);
}
{
@@ -1564,7 +1564,7 @@
R.layout.data_usage_item, parent, false);
if (mInsetSide > 0) {
- convertView.setPadding(mInsetSide, 0, mInsetSide, 0);
+ convertView.setPaddingRelative(mInsetSide, 0, mInsetSide, 0);
}
}
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 5e7573f..d32307f 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -122,8 +122,6 @@
private static final String DEBUG_DEBUGGING_CATEGORY_KEY = "debug_debugging_category";
private static final String OPENGL_TRACES_KEY = "enable_opengl_traces";
- private static final String ENABLE_TRACES_KEY = "enable_traces";
-
private static final String IMMEDIATELY_DESTROY_ACTIVITIES_KEY
= "immediately_destroy_activities";
private static final String APP_PROCESS_LIMIT_KEY = "app_process_limit";
@@ -166,17 +164,16 @@
private CheckBoxPreference mShowCpuUsage;
private CheckBoxPreference mForceHardwareUi;
private CheckBoxPreference mForceMsaa;
- private CheckBoxPreference mTrackFrameTime;
private CheckBoxPreference mShowHwScreenUpdates;
private CheckBoxPreference mShowHwLayersUpdates;
private CheckBoxPreference mShowHwOverdraw;
private CheckBoxPreference mDebugLayout;
+ private ListPreference mTrackFrameTime;
private ListPreference mWindowAnimationScale;
private ListPreference mTransitionAnimationScale;
private ListPreference mAnimatorDurationScale;
private ListPreference mOverlayDisplayDevices;
private ListPreference mOpenGLTraces;
- private MultiCheckPreference mEnableTracesPref;
private CheckBoxPreference mImmediatelyDestroyActivities;
private ListPreference mAppProcessLimit;
@@ -240,7 +237,9 @@
mShowCpuUsage = findAndInitCheckboxPref(SHOW_CPU_USAGE_KEY);
mForceHardwareUi = findAndInitCheckboxPref(FORCE_HARDWARE_UI_KEY);
mForceMsaa = findAndInitCheckboxPref(FORCE_MSAA_KEY);
- mTrackFrameTime = findAndInitCheckboxPref(TRACK_FRAME_TIME_KEY);
+ mTrackFrameTime = (ListPreference) findPreference(TRACK_FRAME_TIME_KEY);
+ mAllPrefs.add(mTrackFrameTime);
+ mTrackFrameTime.setOnPreferenceChangeListener(this);
mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
mShowHwOverdraw = findAndInitCheckboxPref(SHOW_HW_OVERDRAW_KEY);
@@ -260,15 +259,6 @@
mOpenGLTraces = (ListPreference) findPreference(OPENGL_TRACES_KEY);
mAllPrefs.add(mOpenGLTraces);
mOpenGLTraces.setOnPreferenceChangeListener(this);
- mEnableTracesPref = (MultiCheckPreference)findPreference(ENABLE_TRACES_KEY);
- String[] traceValues = new String[Trace.TRACE_TAGS.length];
- for (int i=Trace.TRACE_FLAGS_START_BIT; i<traceValues.length; i++) {
- traceValues[i] = Integer.toString(1<<i);
- }
- mEnableTracesPref.setEntries(Trace.TRACE_TAGS);
- mEnableTracesPref.setEntryValues(traceValues);
- mAllPrefs.add(mEnableTracesPref);
- mEnableTracesPref.setOnPreferenceChangeListener(this);
mImmediatelyDestroyActivities = (CheckBoxPreference) findPreference(
IMMEDIATELY_DESTROY_ACTIVITIES_KEY);
@@ -316,7 +306,7 @@
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
- mEnabledSwitch.setPadding(0, 0, padding, 0);
+ mEnabledSwitch.setPaddingRelative(0, 0, padding, 0);
mEnabledSwitch.setOnCheckedChangeListener(this);
}
@@ -428,7 +418,6 @@
updateAnimationScaleOptions();
updateOverlayDisplayDevicesOptions();
updateOpenGLTracesOptions();
- updateEnableTracesOptions();
updateImmediatelyDestroyActivitiesOptions();
updateAppProcessLimitOptions();
updateShowAllANRsOptions();
@@ -450,7 +439,6 @@
writeAnimationScaleOption(1, mTransitionAnimationScale, null);
writeAnimationScaleOption(2, mAnimatorDurationScale, null);
writeOverlayDisplayDevicesOptions(null);
- writeEnableTracesOptions(0);
writeAppProcessLimitOptions(null);
mHaveDebugSettings = false;
updateAllOptions();
@@ -708,14 +696,28 @@
}
private void updateTrackFrameTimeOptions() {
- updateCheckBox(mTrackFrameTime,
- SystemProperties.getBoolean(HardwareRenderer.PROFILE_PROPERTY, false));
+ String value = SystemProperties.get(HardwareRenderer.PROFILE_PROPERTY);
+ if (value == null) {
+ value = "";
+ }
+
+ CharSequence[] values = mTrackFrameTime.getEntryValues();
+ for (int i = 0; i < values.length; i++) {
+ if (value.contentEquals(values[i])) {
+ mTrackFrameTime.setValueIndex(i);
+ mTrackFrameTime.setSummary(mTrackFrameTime.getEntries()[i]);
+ return;
+ }
+ }
+ mTrackFrameTime.setValueIndex(0);
+ mTrackFrameTime.setSummary(mTrackFrameTime.getEntries()[0]);
}
- private void writeTrackFrameTimeOptions() {
+ private void writeTrackFrameTimeOptions(Object newValue) {
SystemProperties.set(HardwareRenderer.PROFILE_PROPERTY,
- mTrackFrameTime.isChecked() ? "true" : "false");
+ newValue == null ? "" : newValue.toString());
pokeSystemProperties();
+ updateTrackFrameTimeOptions();
}
private void updateShowHwScreenUpdatesOptions() {
@@ -919,47 +921,6 @@
getActivity().getContentResolver(), Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0);
}
- private void updateEnableTracesOptions() {
- long flags = SystemProperties.getLong(Trace.PROPERTY_TRACE_TAG_ENABLEFLAGS, 0);
- String[] values = mEnableTracesPref.getEntryValues();
- int numSet = 0;
- for (int i=Trace.TRACE_FLAGS_START_BIT; i<values.length; i++) {
- boolean set = (flags&(1<<i)) != 0;
- mEnableTracesPref.setValue(i-Trace.TRACE_FLAGS_START_BIT, set);
- if (set) {
- numSet++;
- }
- }
- if (numSet == 0) {
- mEnableTracesPref.setSummary(R.string.enable_traces_summary_none);
- } else if (numSet == values.length) {
- mHaveDebugSettings = true;
- mEnableTracesPref.setSummary(R.string.enable_traces_summary_all);
- } else {
- mHaveDebugSettings = true;
- mEnableTracesPref.setSummary(getString(R.string.enable_traces_summary_num, numSet));
- }
- }
-
- private void writeEnableTracesOptions() {
- long value = 0;
- String[] values = mEnableTracesPref.getEntryValues();
- for (int i=Trace.TRACE_FLAGS_START_BIT; i<values.length; i++) {
- if (mEnableTracesPref.getValue(i-Trace.TRACE_FLAGS_START_BIT)) {
- value |= 1<<i;
- }
- }
- writeEnableTracesOptions(value);
- // Make sure summary is updated.
- updateEnableTracesOptions();
- }
-
- private void writeEnableTracesOptions(long value) {
- SystemProperties.set(Trace.PROPERTY_TRACE_TAG_ENABLEFLAGS,
- "0x" + Long.toString(value, 16));
- pokeSystemProperties();
- }
-
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (buttonView == mEnabledSwitch) {
@@ -1071,8 +1032,6 @@
writeHardwareUiOptions();
} else if (preference == mForceMsaa) {
writeMsaaOptions();
- } else if (preference == mTrackFrameTime) {
- writeTrackFrameTimeOptions();
} else if (preference == mShowHwScreenUpdates) {
writeShowHwScreenUpdatesOptions();
} else if (preference == mShowHwLayersUpdates) {
@@ -1108,8 +1067,8 @@
} else if (preference == mOpenGLTraces) {
writeOpenGLTracesOptions(newValue);
return true;
- } else if (preference == mEnableTracesPref) {
- writeEnableTracesOptions();
+ } else if (preference == mTrackFrameTime) {
+ writeTrackFrameTimeOptions(newValue);
return true;
} else if (preference == mAppProcessLimit) {
writeAppProcessLimitOptions(newValue);
diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java
index 23285c0..5c9f1cf 100644
--- a/src/com/android/settings/DreamSettings.java
+++ b/src/com/android/settings/DreamSettings.java
@@ -99,7 +99,7 @@
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
- mSwitch.setPadding(0, 0, padding, 0);
+ mSwitch.setPaddingRelative(0, 0, padding, 0);
activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(mSwitch, new ActionBar.LayoutParams(
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index a5e2005..149561d 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -16,19 +16,6 @@
package com.android.settings;
-import com.android.internal.util.ArrayUtils;
-import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
-import com.android.settings.accounts.AccountSyncSettings;
-import com.android.settings.accounts.AuthenticatorHelper;
-import com.android.settings.accounts.ManageAccountsSettings;
-import com.android.settings.applications.InstalledAppDetails;
-import com.android.settings.applications.ManageApplications;
-import com.android.settings.bluetooth.BluetoothEnabler;
-import com.android.settings.deviceinfo.Memory;
-import com.android.settings.fuelgauge.PowerUsageSummary;
-import com.android.settings.vpn2.VpnSettings;
-import com.android.settings.wifi.WifiEnabler;
-
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.OnAccountsUpdateListener;
@@ -62,6 +49,17 @@
import android.widget.Switch;
import android.widget.TextView;
+import com.android.internal.util.ArrayUtils;
+import com.android.settings.AccessibilitySettings.ToggleAccessibilityServicePreferenceFragment;
+import com.android.settings.accounts.AccountSyncSettings;
+import com.android.settings.accounts.AuthenticatorHelper;
+import com.android.settings.accounts.ManageAccountsSettings;
+import com.android.settings.bluetooth.BluetoothEnabler;
+import com.android.settings.bluetooth.BluetoothSettings;
+import com.android.settings.wifi.WifiEnabler;
+import com.android.settings.wifi.WifiSettings;
+import com.android.settings.wifi.p2p.WifiP2pSettings;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -85,7 +83,7 @@
private static final String META_DATA_KEY_PARENT_FRAGMENT_CLASS =
"com.android.settings.PARENT_FRAGMENT_CLASS";
- private static final String EXTRA_CLEAR_UI_OPTIONS = "settings:remove_ui_options";
+ private static final String EXTRA_UI_OPTIONS = "settings:ui_options";
private static final String SAVE_KEY_CURRENT_HEADER = "com.android.settings.CURRENT_HEADER";
private static final String SAVE_KEY_PARENT_HEADER = "com.android.settings.PARENT_HEADER";
@@ -136,8 +134,8 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
- if (getIntent().getBooleanExtra(EXTRA_CLEAR_UI_OPTIONS, false)) {
- getWindow().setUiOptions(0);
+ if (getIntent().hasExtra(EXTRA_UI_OPTIONS)) {
+ getWindow().setUiOptions(getIntent().getIntExtra(EXTRA_UI_OPTIONS, 0));
}
mAuthenticatorHelper = new AuthenticatorHelper();
@@ -379,26 +377,14 @@
Intent intent = super.onBuildStartFragmentIntent(fragmentName, args,
titleRes, shortTitleRes);
- // some fragments want to avoid split actionbar
- if (DataUsageSummary.class.getName().equals(fragmentName) ||
- PowerUsageSummary.class.getName().equals(fragmentName) ||
- AccountSyncSettings.class.getName().equals(fragmentName) ||
- UserDictionarySettings.class.getName().equals(fragmentName) ||
- Memory.class.getName().equals(fragmentName) ||
- ManageApplications.class.getName().equals(fragmentName) ||
- WirelessSettings.class.getName().equals(fragmentName) ||
- SoundSettings.class.getName().equals(fragmentName) ||
- PrivacySettings.class.getName().equals(fragmentName) ||
- ManageAccountsSettings.class.getName().equals(fragmentName) ||
- VpnSettings.class.getName().equals(fragmentName) ||
- SecuritySettings.class.getName().equals(fragmentName) ||
- InstalledAppDetails.class.getName().equals(fragmentName) ||
- ChooseLockGenericFragment.class.getName().equals(fragmentName) ||
- TetherSettings.class.getName().equals(fragmentName) ||
- ApnSettings.class.getName().equals(fragmentName) ||
- LocationSettings.class.getName().equals(fragmentName) ||
- ZonePicker.class.getName().equals(fragmentName)) {
- intent.putExtra(EXTRA_CLEAR_UI_OPTIONS, true);
+ // Some fragments want split ActionBar; these should stay in sync with
+ // uiOptions for fragments also defined as activities in manifest.
+ if (WifiSettings.class.getName().equals(fragmentName) ||
+ WifiP2pSettings.class.getName().equals(fragmentName) ||
+ BluetoothSettings.class.getName().equals(fragmentName) ||
+ DreamSettings.class.getName().equals(fragmentName) ||
+ ToggleAccessibilityServicePreferenceFragment.class.getName().equals(fragmentName)) {
+ intent.putExtra(EXTRA_UI_OPTIONS, ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW);
}
intent.setClass(this, SubSettings.class);
@@ -819,6 +805,7 @@
public static class DeviceInfoSettingsActivity extends Settings { /* empty */ }
public static class ApplicationSettingsActivity extends Settings { /* empty */ }
public static class ManageApplicationsActivity extends Settings { /* empty */ }
+ public static class AppOpsSummaryActivity extends Settings { /* empty */ }
public static class StorageUseActivity extends Settings { /* empty */ }
public static class DevelopmentSettingsActivity extends Settings { /* empty */ }
public static class AccessibilitySettingsActivity extends Settings { /* empty */ }
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 8829825..f031f0a 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -449,7 +449,7 @@
com.android.internal.R.dimen.preference_fragment_padding_bottom);
final int effectivePaddingSide = ignoreSidePadding ? 0 : paddingSide;
- list.setPadding(effectivePaddingSide, 0, effectivePaddingSide, paddingBottom);
+ list.setPaddingRelative(effectivePaddingSide, 0, effectivePaddingSide, paddingBottom);
}
}
diff --git a/src/com/android/settings/applications/AppOpsCategory.java b/src/com/android/settings/applications/AppOpsCategory.java
new file mode 100644
index 0000000..1eafbbf
--- /dev/null
+++ b/src/com/android/settings/applications/AppOpsCategory.java
@@ -0,0 +1,330 @@
+/**
+ * Copyright (C) 2013 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.applications;
+
+import android.app.ListFragment;
+import android.app.LoaderManager;
+import android.content.AsyncTaskLoader;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.Loader;
+import android.content.pm.ActivityInfo;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import java.util.List;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppOpsState.AppOpEntry;
+
+public class AppOpsCategory extends ListFragment implements
+ LoaderManager.LoaderCallbacks<List<AppOpEntry>> {
+
+ // This is the Adapter being used to display the list's data.
+ AppListAdapter mAdapter;
+
+ public AppOpsCategory() {
+ }
+
+ public AppOpsCategory(AppOpsState.OpsTemplate template) {
+ Bundle args = new Bundle();
+ args.putParcelable("template", template);
+ setArguments(args);
+ }
+
+ /**
+ * Helper for determining if the configuration has changed in an interesting
+ * way so we need to rebuild the app list.
+ */
+ public static class InterestingConfigChanges {
+ final Configuration mLastConfiguration = new Configuration();
+ int mLastDensity;
+
+ boolean applyNewConfig(Resources res) {
+ int configChanges = mLastConfiguration.updateFrom(res.getConfiguration());
+ boolean densityChanged = mLastDensity != res.getDisplayMetrics().densityDpi;
+ if (densityChanged || (configChanges&(ActivityInfo.CONFIG_LOCALE
+ |ActivityInfo.CONFIG_UI_MODE|ActivityInfo.CONFIG_SCREEN_LAYOUT)) != 0) {
+ mLastDensity = res.getDisplayMetrics().densityDpi;
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Helper class to look for interesting changes to the installed apps
+ * so that the loader can be updated.
+ */
+ public static class PackageIntentReceiver extends BroadcastReceiver {
+ final AppListLoader mLoader;
+
+ public PackageIntentReceiver(AppListLoader loader) {
+ mLoader = loader;
+ IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
+ filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
+ filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
+ filter.addDataScheme("package");
+ mLoader.getContext().registerReceiver(this, filter);
+ // Register for events related to sdcard installation.
+ IntentFilter sdFilter = new IntentFilter();
+ sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
+ sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE);
+ mLoader.getContext().registerReceiver(this, sdFilter);
+ }
+
+ @Override public void onReceive(Context context, Intent intent) {
+ // Tell the loader about the change.
+ mLoader.onContentChanged();
+ }
+ }
+
+ /**
+ * A custom Loader that loads all of the installed applications.
+ */
+ public static class AppListLoader extends AsyncTaskLoader<List<AppOpEntry>> {
+ final InterestingConfigChanges mLastConfig = new InterestingConfigChanges();
+ final AppOpsState mState;
+ final AppOpsState.OpsTemplate mTemplate;
+
+ List<AppOpEntry> mApps;
+ PackageIntentReceiver mPackageObserver;
+
+ public AppListLoader(Context context, AppOpsState.OpsTemplate template) {
+ super(context);
+ mState = new AppOpsState(context);
+ mTemplate = template;
+ }
+
+ @Override public List<AppOpEntry> loadInBackground() {
+ return mState.buildState(mTemplate);
+ }
+
+ /**
+ * Called when there is new data to deliver to the client. The
+ * super class will take care of delivering it; the implementation
+ * here just adds a little more logic.
+ */
+ @Override public void deliverResult(List<AppOpEntry> apps) {
+ if (isReset()) {
+ // An async query came in while the loader is stopped. We
+ // don't need the result.
+ if (apps != null) {
+ onReleaseResources(apps);
+ }
+ }
+ List<AppOpEntry> oldApps = apps;
+ mApps = apps;
+
+ if (isStarted()) {
+ // If the Loader is currently started, we can immediately
+ // deliver its results.
+ super.deliverResult(apps);
+ }
+
+ // At this point we can release the resources associated with
+ // 'oldApps' if needed; now that the new result is delivered we
+ // know that it is no longer in use.
+ if (oldApps != null) {
+ onReleaseResources(oldApps);
+ }
+ }
+
+ /**
+ * Handles a request to start the Loader.
+ */
+ @Override protected void onStartLoading() {
+ if (mApps != null) {
+ // If we currently have a result available, deliver it
+ // immediately.
+ deliverResult(mApps);
+ }
+
+ // Start watching for changes in the app data.
+ if (mPackageObserver == null) {
+ mPackageObserver = new PackageIntentReceiver(this);
+ }
+
+ // Has something interesting in the configuration changed since we
+ // last built the app list?
+ boolean configChange = mLastConfig.applyNewConfig(getContext().getResources());
+
+ if (takeContentChanged() || mApps == null || configChange) {
+ // If the data has changed since the last time it was loaded
+ // or is not currently available, start a load.
+ forceLoad();
+ }
+ }
+
+ /**
+ * Handles a request to stop the Loader.
+ */
+ @Override protected void onStopLoading() {
+ // Attempt to cancel the current load task if possible.
+ cancelLoad();
+ }
+
+ /**
+ * Handles a request to cancel a load.
+ */
+ @Override public void onCanceled(List<AppOpEntry> apps) {
+ super.onCanceled(apps);
+
+ // At this point we can release the resources associated with 'apps'
+ // if needed.
+ onReleaseResources(apps);
+ }
+
+ /**
+ * Handles a request to completely reset the Loader.
+ */
+ @Override protected void onReset() {
+ super.onReset();
+
+ // Ensure the loader is stopped
+ onStopLoading();
+
+ // At this point we can release the resources associated with 'apps'
+ // if needed.
+ if (mApps != null) {
+ onReleaseResources(mApps);
+ mApps = null;
+ }
+
+ // Stop monitoring for changes.
+ if (mPackageObserver != null) {
+ getContext().unregisterReceiver(mPackageObserver);
+ mPackageObserver = null;
+ }
+ }
+
+ /**
+ * Helper function to take care of releasing resources associated
+ * with an actively loaded data set.
+ */
+ protected void onReleaseResources(List<AppOpEntry> apps) {
+ // For a simple List<> there is nothing to do. For something
+ // like a Cursor, we would close it here.
+ }
+ }
+
+ public static class AppListAdapter extends ArrayAdapter<AppOpEntry> {
+ private final Resources mResources;
+ private final LayoutInflater mInflater;
+ private final CharSequence[] mOpNames;
+
+ public AppListAdapter(Context context) {
+ super(context, android.R.layout.simple_list_item_2);
+ mResources = context.getResources();
+ mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ mOpNames = mResources.getTextArray(R.array.app_ops_names);
+ }
+
+ public void setData(List<AppOpEntry> data) {
+ clear();
+ if (data != null) {
+ addAll(data);
+ }
+ }
+
+ /**
+ * Populate new items in the list.
+ */
+ @Override public View getView(int position, View convertView, ViewGroup parent) {
+ View view;
+
+ if (convertView == null) {
+ view = mInflater.inflate(R.layout.app_ops_item, parent, false);
+ } else {
+ view = convertView;
+ }
+
+ AppOpEntry item = getItem(position);
+ ((ImageView)view.findViewById(R.id.app_icon)).setImageDrawable(
+ item.getAppEntry().getIcon());
+ ((TextView)view.findViewById(R.id.app_name)).setText(item.getAppEntry().getLabel());
+ ((TextView)view.findViewById(R.id.op_name)).setText(item.getLabelText(mOpNames));
+ ((TextView)view.findViewById(R.id.op_time)).setText(item.getTimeText(mResources));
+
+ return view;
+ }
+ }
+
+ @Override public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+
+ // Give some text to display if there is no data. In a real
+ // application this would come from a resource.
+ setEmptyText("No applications");
+
+ // We have a menu item to show in action bar.
+ setHasOptionsMenu(true);
+
+ // Create an empty adapter we will use to display the loaded data.
+ mAdapter = new AppListAdapter(getActivity());
+ setListAdapter(mAdapter);
+
+ // Start out with a progress indicator.
+ setListShown(false);
+
+ // Prepare the loader. Either re-connect with an existing one,
+ // or start a new one.
+ getLoaderManager().initLoader(0, null, this);
+ }
+
+ @Override public void onListItemClick(ListView l, View v, int position, long id) {
+ // Insert desired behavior here.
+ Log.i("LoaderCustom", "Item clicked: " + id);
+ }
+
+ @Override public Loader<List<AppOpEntry>> onCreateLoader(int id, Bundle args) {
+ Bundle fargs = getArguments();
+ AppOpsState.OpsTemplate template = null;
+ if (fargs != null) {
+ template = (AppOpsState.OpsTemplate)fargs.getParcelable("template");
+ }
+ return new AppListLoader(getActivity(), template);
+ }
+
+ @Override public void onLoadFinished(Loader<List<AppOpEntry>> loader, List<AppOpEntry> data) {
+ // Set the new data in the adapter.
+ mAdapter.setData(data);
+
+ // The list should now be shown.
+ if (isResumed()) {
+ setListShown(true);
+ } else {
+ setListShownNoAnimation(true);
+ }
+ }
+
+ @Override public void onLoaderReset(Loader<List<AppOpEntry>> loader) {
+ // Clear the data in the adapter.
+ mAdapter.setData(null);
+ }
+}
diff --git a/src/com/android/settings/applications/AppOpsDetails.java b/src/com/android/settings/applications/AppOpsDetails.java
new file mode 100644
index 0000000..2a071f2
--- /dev/null
+++ b/src/com/android/settings/applications/AppOpsDetails.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright (C) 2013 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.applications;
+
+import android.app.Fragment;
+
+public class AppOpsDetails extends Fragment {
+
+}
diff --git a/src/com/android/settings/applications/AppOpsState.java b/src/com/android/settings/applications/AppOpsState.java
new file mode 100644
index 0000000..2bd724b
--- /dev/null
+++ b/src/com/android/settings/applications/AppOpsState.java
@@ -0,0 +1,404 @@
+/**
+ * Copyright (C) 2013 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.applications;
+
+import android.app.AppOpsManager;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.text.format.DateUtils;
+
+import com.android.settings.R;
+
+import java.io.File;
+import java.text.Collator;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+
+public class AppOpsState {
+ final Context mContext;
+ final AppOpsManager mAppOps;
+ final PackageManager mPm;
+
+ List<AppOpEntry> mApps;
+
+ public AppOpsState(Context context) {
+ mContext = context;
+ mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
+ mPm = context.getPackageManager();
+ }
+
+ public static class OpsTemplate implements Parcelable {
+ public final int[] ops;
+ public final String[] perms;
+ public final int[] permOps;
+
+ public OpsTemplate(int[] _ops, String[] _perms, int[] _permOps) {
+ ops = _ops;
+ perms = _perms;
+ permOps = _permOps;
+ }
+
+ OpsTemplate(Parcel src) {
+ ops = src.createIntArray();
+ perms = src.createStringArray();
+ permOps = src.createIntArray();
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeIntArray(ops);
+ dest.writeStringArray(perms);
+ dest.writeIntArray(permOps);
+ }
+
+ public static final Creator<OpsTemplate> CREATOR = new Creator<OpsTemplate>() {
+ @Override public OpsTemplate createFromParcel(Parcel source) {
+ return new OpsTemplate(source);
+ }
+
+ @Override public OpsTemplate[] newArray(int size) {
+ return new OpsTemplate[size];
+ }
+ };
+ }
+
+ public static final OpsTemplate LOCATION_TEMPLATE = new OpsTemplate(
+ new int[] { AppOpsManager.OP_COARSE_LOCATION,
+ AppOpsManager.OP_FINE_LOCATION,
+ AppOpsManager.OP_GPS },
+ new String[] { android.Manifest.permission.ACCESS_COARSE_LOCATION,
+ android.Manifest.permission.ACCESS_FINE_LOCATION },
+ new int[] { AppOpsManager.OP_COARSE_LOCATION,
+ AppOpsManager.OP_FINE_LOCATION }
+ );
+
+ public static final OpsTemplate PERSONAL_TEMPLATE = new OpsTemplate(
+ new int[] { AppOpsManager.OP_READ_CONTACTS,
+ AppOpsManager.OP_WRITE_CONTACTS,
+ AppOpsManager.OP_READ_CALL_LOG,
+ AppOpsManager.OP_WRITE_CALL_LOG },
+ new String[] { android.Manifest.permission.READ_CONTACTS,
+ android.Manifest.permission.WRITE_CONTACTS,
+ android.Manifest.permission.READ_CALL_LOG,
+ android.Manifest.permission.WRITE_CALL_LOG },
+ new int[] { AppOpsManager.OP_READ_CONTACTS,
+ AppOpsManager.OP_WRITE_CONTACTS,
+ AppOpsManager.OP_READ_CALL_LOG,
+ AppOpsManager.OP_WRITE_CALL_LOG }
+ );
+
+ public static final OpsTemplate DEVICE_TEMPLATE = new OpsTemplate(
+ new int[] { AppOpsManager.OP_VIBRATE },
+ new String[] { android.Manifest.permission.VIBRATE },
+ new int[] { AppOpsManager.OP_VIBRATE }
+ );
+
+ /**
+ * This class holds the per-item data in our Loader.
+ */
+ public static class AppEntry {
+ private final AppOpsState mState;
+ private final ApplicationInfo mInfo;
+ private final File mApkFile;
+ private String mLabel;
+ private Drawable mIcon;
+ private boolean mMounted;
+
+ public AppEntry(AppOpsState state, ApplicationInfo info) {
+ mState = state;
+ mInfo = info;
+ mApkFile = new File(info.sourceDir);
+ }
+
+ public ApplicationInfo getApplicationInfo() {
+ return mInfo;
+ }
+
+ public String getLabel() {
+ return mLabel;
+ }
+
+ public Drawable getIcon() {
+ if (mIcon == null) {
+ if (mApkFile.exists()) {
+ mIcon = mInfo.loadIcon(mState.mPm);
+ return mIcon;
+ } else {
+ mMounted = false;
+ }
+ } else if (!mMounted) {
+ // If the app wasn't mounted but is now mounted, reload
+ // its icon.
+ if (mApkFile.exists()) {
+ mMounted = true;
+ mIcon = mInfo.loadIcon(mState.mPm);
+ return mIcon;
+ }
+ } else {
+ return mIcon;
+ }
+
+ return mState.mContext.getResources().getDrawable(
+ android.R.drawable.sym_def_app_icon);
+ }
+
+ @Override public String toString() {
+ return mLabel;
+ }
+
+ void loadLabel(Context context) {
+ if (mLabel == null || !mMounted) {
+ if (!mApkFile.exists()) {
+ mMounted = false;
+ mLabel = mInfo.packageName;
+ } else {
+ mMounted = true;
+ CharSequence label = mInfo.loadLabel(context.getPackageManager());
+ mLabel = label != null ? label.toString() : mInfo.packageName;
+ }
+ }
+ }
+ }
+
+ /**
+ * This class holds the per-item data in our Loader.
+ */
+ public static class AppOpEntry {
+ private final AppOpsManager.PackageOps mPkgOps;
+ private final ArrayList<AppOpsManager.OpEntry> mOps
+ = new ArrayList<AppOpsManager.OpEntry>();
+ private final AppEntry mApp;
+
+ public AppOpEntry(AppOpsManager.PackageOps pkg, AppOpsManager.OpEntry op, AppEntry app) {
+ mPkgOps = pkg;
+ mOps.add(op);
+ mApp = app;
+ }
+
+ public void addOp(AppOpsManager.OpEntry op) {
+ for (int i=0; i<mOps.size(); i++) {
+ AppOpsManager.OpEntry pos = mOps.get(i);
+ if (pos.isRunning() != op.isRunning()) {
+ if (op.isRunning()) {
+ mOps.add(i, op);
+ return;
+ }
+ }
+ if (pos.getTime() > op.getTime()) {
+ mOps.add(i, op);
+ return;
+ }
+ }
+ mOps.add(op);
+ }
+
+ public AppEntry getAppEntry() {
+ return mApp;
+ }
+
+ public AppOpsManager.PackageOps getPackageOps() {
+ return mPkgOps;
+ }
+
+ public int getNumOpEntry() {
+ return mOps.size();
+ }
+
+ public AppOpsManager.OpEntry getOpEntry(int pos) {
+ return mOps.get(pos);
+ }
+
+ public CharSequence getLabelText(CharSequence opNames[]) {
+ if (getNumOpEntry() == 1) {
+ return opNames[getOpEntry(0).getOp()];
+ } else {
+ StringBuilder builder = new StringBuilder();
+ for (int i=0; i<getNumOpEntry(); i++) {
+ if (i > 0) {
+ builder.append(", ");
+ }
+ builder.append(opNames[getOpEntry(i).getOp()]);
+ }
+ return builder.toString();
+ }
+ }
+
+ public CharSequence getTimeText(Resources res) {
+ if (isRunning()) {
+ return res.getText(R.string.app_ops_running);
+ }
+ if (getTime() > 0) {
+ return DateUtils.getRelativeTimeSpanString(getTime(),
+ System.currentTimeMillis(),
+ DateUtils.MINUTE_IN_MILLIS,
+ DateUtils.FORMAT_ABBREV_RELATIVE);
+ }
+ return "";
+ }
+
+ public boolean isRunning() {
+ return mOps.get(0).isRunning();
+ }
+
+ public long getTime() {
+ return mOps.get(0).getTime();
+ }
+
+ @Override public String toString() {
+ return mApp.getLabel();
+ }
+ }
+
+ /**
+ * Perform alphabetical comparison of application entry objects.
+ */
+ public static final Comparator<AppOpEntry> APP_OP_COMPARATOR = new Comparator<AppOpEntry>() {
+ private final Collator sCollator = Collator.getInstance();
+ @Override
+ public int compare(AppOpEntry object1, AppOpEntry object2) {
+ if (object1.isRunning() != object2.isRunning()) {
+ // Currently running ops go first.
+ return object1.isRunning() ? -1 : 1;
+ }
+ if (object1.getTime() != object2.getTime()) {
+ // More recent times go first.
+ return object1.getTime() > object2.getTime() ? -1 : 1;
+ }
+ return sCollator.compare(object1.getAppEntry().getLabel(),
+ object2.getAppEntry().getLabel());
+ }
+ };
+
+ private void addOp(List<AppOpEntry> entries, AppOpsManager.PackageOps pkgOps,
+ AppEntry appEntry, AppOpsManager.OpEntry opEntry) {
+ if (entries.size() > 0) {
+ AppOpEntry last = entries.get(entries.size()-1);
+ if (last.getAppEntry() == appEntry) {
+ boolean lastExe = last.getTime() != 0;
+ boolean entryExe = opEntry.getTime() != 0;
+ if (lastExe == entryExe) {
+ last.addOp(opEntry);
+ return;
+ }
+ }
+ }
+ AppOpEntry entry = new AppOpEntry(pkgOps, opEntry, appEntry);
+ entries.add(entry);
+ }
+
+ public List<AppOpEntry> buildState(OpsTemplate tpl) {
+ return buildState(tpl, 0, null);
+ }
+
+ public List<AppOpEntry> buildState(OpsTemplate tpl, int uid, String packageName) {
+ final Context context = mContext;
+
+ final HashMap<String, AppEntry> appEntries = new HashMap<String, AppEntry>();
+
+ List<AppOpsManager.PackageOps> pkgs;
+ if (packageName != null) {
+ pkgs = mAppOps.getOpsForPackage(uid, packageName, tpl.ops);
+ } else {
+ pkgs = mAppOps.getPackagesForOps(tpl.ops);
+ }
+ List<AppOpEntry> entries = new ArrayList<AppOpEntry>(pkgs.size());
+ for (int i=0; i<pkgs.size(); i++) {
+ AppOpsManager.PackageOps pkgOps = pkgs.get(i);
+ AppEntry appEntry = appEntries.get(pkgOps.getPackageName());
+ if (appEntry == null) {
+ ApplicationInfo appInfo = null;
+ try {
+ appInfo = mPm.getApplicationInfo(pkgOps.getPackageName(),
+ PackageManager.GET_DISABLED_COMPONENTS
+ | PackageManager.GET_UNINSTALLED_PACKAGES);
+ } catch (PackageManager.NameNotFoundException e) {
+ }
+ appEntry = new AppEntry(this, appInfo);
+ appEntry.loadLabel(context);
+ appEntries.put(pkgOps.getPackageName(), appEntry);
+ }
+ for (int j=0; j<pkgOps.getOps().size(); j++) {
+ AppOpsManager.OpEntry opEntry = pkgOps.getOps().get(j);
+ addOp(entries, pkgOps, appEntry, opEntry);
+ }
+ }
+
+ if (tpl.perms != null) {
+ List<PackageInfo> apps;
+ if (packageName != null) {
+ apps = new ArrayList<PackageInfo>();
+ try {
+ PackageInfo pi = mPm.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS);
+ apps.add(pi);
+ } catch (NameNotFoundException e) {
+ }
+ } else {
+ apps = mPm.getPackagesHoldingPermissions(tpl.perms, 0);
+ }
+ for (int i=0; i<apps.size(); i++) {
+ PackageInfo appInfo = apps.get(i);
+ AppEntry appEntry = appEntries.get(appInfo.packageName);
+ if (appEntry == null) {
+ appEntry = new AppEntry(this, appInfo.applicationInfo);
+ appEntry.loadLabel(context);
+ appEntries.put(appInfo.packageName, appEntry);
+ List<AppOpsManager.OpEntry> dummyOps
+ = new ArrayList<AppOpsManager.OpEntry>();
+ AppOpsManager.PackageOps pkgOps = new AppOpsManager.PackageOps(
+ appInfo.packageName, appInfo.applicationInfo.uid, dummyOps);
+ for (int j=0; j<appInfo.requestedPermissions.length; j++) {
+ if (appInfo.requestedPermissionsFlags != null) {
+ if ((appInfo.requestedPermissionsFlags[j]
+ & PackageInfo.REQUESTED_PERMISSION_GRANTED) == 0) {
+ break;
+ }
+ }
+ for (int k=0; k<tpl.perms.length; k++) {
+ if (tpl.perms[k].equals(appInfo.requestedPermissions[j])) {
+ AppOpsManager.OpEntry opEntry = new AppOpsManager.OpEntry(
+ tpl.permOps[k], 0, 0);
+ dummyOps.add(opEntry);
+ addOp(entries, pkgOps, appEntry, opEntry);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Sort the list.
+ Collections.sort(entries, APP_OP_COMPARATOR);
+
+ // Done!
+ return entries;
+ }
+}
diff --git a/src/com/android/settings/applications/AppOpsSummary.java b/src/com/android/settings/applications/AppOpsSummary.java
new file mode 100644
index 0000000..1e0cd41
--- /dev/null
+++ b/src/com/android/settings/applications/AppOpsSummary.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (C) 2013 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.applications;
+
+import android.app.AppOpsManager;
+import android.app.Fragment;
+import android.app.FragmentManager;
+import android.os.Bundle;
+import android.preference.PreferenceFrameLayout;
+import android.support.v13.app.FragmentPagerAdapter;
+import android.support.v4.view.PagerTabStrip;
+import android.support.v4.view.ViewPager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.settings.R;
+
+public class AppOpsSummary extends Fragment {
+ // layout inflater object used to inflate views
+ private LayoutInflater mInflater;
+
+ private ViewGroup mContentContainer;
+ private View mRootView;
+ private ViewPager mViewPager;
+
+ CharSequence[] mPageNames;
+ static AppOpsState.OpsTemplate[] sPageTemplates = new AppOpsState.OpsTemplate[] {
+ AppOpsState.LOCATION_TEMPLATE,
+ AppOpsState.PERSONAL_TEMPLATE,
+ AppOpsState.DEVICE_TEMPLATE
+ };
+
+ int mCurPos;
+
+ class MyPagerAdapter extends FragmentPagerAdapter implements ViewPager.OnPageChangeListener {
+
+ public MyPagerAdapter(FragmentManager fm) {
+ super(fm);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ return new AppOpsCategory(sPageTemplates[position]);
+ }
+
+ @Override
+ public int getCount() {
+ return sPageTemplates.length;
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ return mPageNames[position];
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ mCurPos = position;
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ if (state == ViewPager.SCROLL_STATE_IDLE) {
+ //updateCurrentTab(mCurPos);
+ }
+ }
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ // initialize the inflater
+ mInflater = inflater;
+
+ View rootView = mInflater.inflate(R.layout.app_ops_summary,
+ container, false);
+ mContentContainer = container;
+ mRootView = rootView;
+
+ mPageNames = getResources().getTextArray(R.array.app_ops_categories);
+
+ mViewPager = (ViewPager) rootView.findViewById(R.id.pager);
+ MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager());
+ mViewPager.setAdapter(adapter);
+ mViewPager.setOnPageChangeListener(adapter);
+ PagerTabStrip tabs = (PagerTabStrip) rootView.findViewById(R.id.tabs);
+ tabs.setTabIndicatorColorResource(android.R.color.holo_blue_light);
+
+ // We have to do this now because PreferenceFrameLayout looks at it
+ // only when the view is added.
+ if (container instanceof PreferenceFrameLayout) {
+ ((PreferenceFrameLayout.LayoutParams) rootView.getLayoutParams()).removeBorders = true;
+ }
+
+ return rootView;
+ }
+}
diff --git a/src/com/android/settings/applications/ApplicationsState.java b/src/com/android/settings/applications/ApplicationsState.java
index e87d7cf..94a0aa3 100644
--- a/src/com/android/settings/applications/ApplicationsState.java
+++ b/src/com/android/settings/applications/ApplicationsState.java
@@ -237,12 +237,39 @@
}
};
+ public static final AppFilter DISABLED_FILTER = new AppFilter() {
+ public void init() {
+ }
+
+ @Override
+ public boolean filterApp(ApplicationInfo info) {
+ if (!info.enabled) {
+ return true;
+ }
+ return false;
+ }
+ };
+
+ public static final AppFilter ALL_ENABLED_FILTER = new AppFilter() {
+ public void init() {
+ }
+
+ @Override
+ public boolean filterApp(ApplicationInfo info) {
+ if (info.enabled) {
+ return true;
+ }
+ return false;
+ }
+ };
+
final Context mContext;
final PackageManager mPm;
final int mRetrieveFlags;
PackageIntentReceiver mPackageIntentReceiver;
boolean mResumed;
+ boolean mHaveDisabledApps;
// Information about all applications. Synchronize on mEntriesMap
// to protect access to these.
@@ -617,15 +644,18 @@
}
}
+ mHaveDisabledApps = false;
for (int i=0; i<mApplications.size(); i++) {
final ApplicationInfo info = mApplications.get(i);
// Need to trim out any applications that are disabled by
// something different than the user.
- if (!info.enabled && info.enabledSetting
- != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
- mApplications.remove(i);
- i--;
- continue;
+ if (!info.enabled) {
+ if (info.enabledSetting != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
+ mApplications.remove(i);
+ i--;
+ continue;
+ }
+ mHaveDisabledApps = true;
}
final AppEntry entry = mEntriesMap.get(info.packageName);
if (entry != null) {
@@ -638,6 +668,10 @@
}
}
+ public boolean haveDisabledApps() {
+ return mHaveDisabledApps;
+ }
+
void doPauseIfNeededLocked() {
if (!mResumed) {
return;
@@ -732,6 +766,13 @@
return;
}
ApplicationInfo info = mPm.getApplicationInfo(pkgName, mRetrieveFlags);
+ if (!info.enabled) {
+ if (info.enabledSetting
+ != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
+ return;
+ }
+ mHaveDisabledApps = true;
+ }
mApplications.add(info);
if (!mBackgroundHandler.hasMessages(BackgroundHandler.MSG_LOAD_ENTRIES)) {
mBackgroundHandler.sendEmptyMessage(BackgroundHandler.MSG_LOAD_ENTRIES);
@@ -757,7 +798,17 @@
mEntriesMap.remove(pkgName);
mAppEntries.remove(entry);
}
+ ApplicationInfo info = mApplications.get(idx);
mApplications.remove(idx);
+ if (!info.enabled) {
+ mHaveDisabledApps = false;
+ for (int i=0; i<mApplications.size(); i++) {
+ if (!mApplications.get(i).enabled) {
+ mHaveDisabledApps = true;
+ break;
+ }
+ }
+ }
if (!mMainHandler.hasMessages(MainHandler.MSG_PACKAGE_LIST_CHANGED)) {
mMainHandler.sendEmptyMessage(MainHandler.MSG_PACKAGE_LIST_CHANGED);
}
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 75c9485..565c585 100644
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -540,7 +540,7 @@
// Utility method to set applicaiton label and icon.
private void setAppLabelAndIcon(PackageInfo pkgInfo) {
final View appSnippet = mRootView.findViewById(R.id.app_snippet);
- appSnippet.setPadding(0, appSnippet.getPaddingTop(), 0, appSnippet.getPaddingBottom());
+ appSnippet.setPaddingRelative(0, appSnippet.getPaddingTop(), 0, appSnippet.getPaddingBottom());
ImageView icon = (ImageView) appSnippet.findViewById(R.id.app_icon);
mState.ensureIcon(mAppEntry);
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index d4df397..c6a9792 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -161,6 +161,7 @@
public static final int FILTER_APPS_ALL = MENU_OPTIONS_BASE + 0;
public static final int FILTER_APPS_THIRD_PARTY = MENU_OPTIONS_BASE + 1;
public static final int FILTER_APPS_SDCARD = MENU_OPTIONS_BASE + 2;
+ public static final int FILTER_APPS_DISABLED = MENU_OPTIONS_BASE + 3;
public static final int SORT_ORDER_ALPHA = MENU_OPTIONS_BASE + 4;
public static final int SORT_ORDER_SIZE = MENU_OPTIONS_BASE + 5;
@@ -221,6 +222,7 @@
switch (listType) {
case LIST_TYPE_DOWNLOADED: mFilter = FILTER_APPS_THIRD_PARTY; break;
case LIST_TYPE_SDCARD: mFilter = FILTER_APPS_SDCARD; break;
+ case LIST_TYPE_DISABLED: mFilter = FILTER_APPS_DISABLED; break;
default: mFilter = FILTER_APPS_ALL; break;
}
mClickListener = clickListener;
@@ -427,6 +429,7 @@
}
}
private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
+ private int mNumTabs;
TabInfo mCurTab = null;
// Size resource used for packages whose size computation failed for some reason
@@ -447,6 +450,7 @@
static final int LIST_TYPE_RUNNING = 1;
static final int LIST_TYPE_SDCARD = 2;
static final int LIST_TYPE_ALL = 3;
+ static final int LIST_TYPE_DISABLED = 4;
private boolean mShowBackground = false;
@@ -464,7 +468,7 @@
@Override
public int getCount() {
- return mTabs.size();
+ return mNumTabs;
}
@Override
@@ -472,6 +476,7 @@
TabInfo tab = mTabs.get(position);
View root = tab.build(mInflater, mContentContainer, mRootView);
container.addView(root);
+ root.setTag(R.id.name, tab);
return root;
}
@@ -486,6 +491,12 @@
}
@Override
+ public int getItemPosition(Object object) {
+ return super.getItemPosition(object);
+ //return ((TabInfo)((View)object).getTag(R.id.name)).mListType;
+ }
+
+ @Override
public CharSequence getPageTitle(int position) {
return mTabs.get(position).mLabel;
}
@@ -607,8 +618,11 @@
mWhichSize = SIZE_EXTERNAL;
}
break;
+ case FILTER_APPS_DISABLED:
+ filterObj = ApplicationsState.DISABLED_FILTER;
+ break;
default:
- filterObj = null;
+ filterObj = ApplicationsState.ALL_ENABLED_FILTER;
break;
}
switch (mLastSortMode) {
@@ -869,6 +883,13 @@
getActivity().getString(R.string.filter_apps_all),
LIST_TYPE_ALL, this, savedInstanceState);
mTabs.add(tab);
+
+ tab = new TabInfo(this, mApplicationsState,
+ getActivity().getString(R.string.filter_apps_disabled),
+ LIST_TYPE_DISABLED, this, savedInstanceState);
+ mTabs.add(tab);
+
+ mNumTabs = mTabs.size();
}
@@ -922,6 +943,7 @@
public void onResume() {
super.onResume();
mActivityResumed = true;
+ updateNumTabs();
updateCurrentTab(mViewPager.getCurrentItem());
updateOptionsMenu();
}
@@ -975,6 +997,16 @@
}
}
+ private void updateNumTabs() {
+ int newNum = mApplicationsState.haveDisabledApps() ? mTabs.size() : (mTabs.size()-1);
+ if (newNum != mNumTabs) {
+ mNumTabs = newNum;
+ if (mViewPager != null) {
+ mViewPager.getAdapter().notifyDataSetChanged();
+ }
+ }
+ }
+
TabInfo tabForType(int type) {
for (int i = 0; i < mTabs.size(); i++) {
TabInfo tab = mTabs.get(i);
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index e9ba39d..c0bfd32 100755
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -119,7 +119,7 @@
if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
- actionBarSwitch.setPadding(0, 0, padding, 0);
+ actionBarSwitch.setPaddingRelative(0, 0, padding, 0);
activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(actionBarSwitch, new ActionBar.LayoutParams(
diff --git a/src/com/android/settings/deviceinfo/StorageMeasurement.java b/src/com/android/settings/deviceinfo/StorageMeasurement.java
index a22ba77..e39dd20 100644
--- a/src/com/android/settings/deviceinfo/StorageMeasurement.java
+++ b/src/com/android/settings/deviceinfo/StorageMeasurement.java
@@ -338,8 +338,8 @@
sendMessage(obtainMessage(MSG_CONNECTED, mDefaultContainer));
} else {
Intent service = new Intent().setComponent(DEFAULT_CONTAINER_COMPONENT);
- context.bindService(service, mDefContainerConn, Context.BIND_AUTO_CREATE,
- UserHandle.USER_OWNER);
+ context.bindServiceAsUser(service, mDefContainerConn, Context.BIND_AUTO_CREATE,
+ UserHandle.OWNER);
}
}
break;
diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
index bf02c13..0641613 100644
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ b/src/com/android/settings/nfc/AndroidBeam.java
@@ -52,7 +52,7 @@
if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
- mActionBarSwitch.setPadding(0, 0, padding, 0);
+ mActionBarSwitch.setPaddingRelative(0, 0, padding, 0);
activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(mActionBarSwitch, new ActionBar.LayoutParams(
diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java
index f1d0e70..60dd119 100755
--- a/src/com/android/settings/wfd/WifiDisplaySettings.java
+++ b/src/com/android/settings/wfd/WifiDisplaySettings.java
@@ -93,24 +93,19 @@
Activity activity = getActivity();
mActionBarSwitch = new Switch(activity);
- if (activity instanceof PreferenceActivity) {
- PreferenceActivity preferenceActivity = (PreferenceActivity) activity;
- if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
- final int padding = activity.getResources().getDimensionPixelSize(
- R.dimen.action_bar_switch_padding);
- mActionBarSwitch.setPadding(0, 0, padding, 0);
- activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
- ActionBar.DISPLAY_SHOW_CUSTOM);
- activity.getActionBar().setCustomView(mActionBarSwitch,
- new ActionBar.LayoutParams(
- ActionBar.LayoutParams.WRAP_CONTENT,
- ActionBar.LayoutParams.WRAP_CONTENT,
- Gravity.CENTER_VERTICAL | Gravity.END));
- }
- }
-
mActionBarSwitch.setOnCheckedChangeListener(mSwitchOnCheckedChangedListener);
+ final int padding = activity.getResources().getDimensionPixelSize(
+ R.dimen.action_bar_switch_padding);
+ mActionBarSwitch.setPaddingRelative(0, 0, padding, 0);
+ activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
+ ActionBar.DISPLAY_SHOW_CUSTOM);
+ activity.getActionBar().setCustomView(mActionBarSwitch,
+ new ActionBar.LayoutParams(
+ ActionBar.LayoutParams.WRAP_CONTENT,
+ ActionBar.LayoutParams.WRAP_CONTENT,
+ Gravity.CENTER_VERTICAL | Gravity.END));
+
mEmptyView = (TextView) getView().findViewById(android.R.id.empty);
getListView().setEmptyView(mEmptyView);
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 8007866..60f89b7 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -379,7 +379,7 @@
if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
- actionBarSwitch.setPadding(0, 0, padding, 0);
+ actionBarSwitch.setPaddingRelative(0, 0, padding, 0);
activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(actionBarSwitch, new ActionBar.LayoutParams(