Merge "Add background image for work challenge"
diff --git a/Android.mk b/Android.mk
index 2adad1f..72db1ab 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,7 +1,7 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
-LOCAL_JAVA_LIBRARIES := bouncycastle conscrypt telephony-common ims-common
+LOCAL_JAVA_LIBRARIES := bouncycastle core-oj telephony-common ims-common
LOCAL_STATIC_JAVA_LIBRARIES := \
android-support-v4 \
android-support-v13 \
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 186ddf7..ad783d3 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -567,7 +567,7 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.LocalePicker" />
+ android:value="com.android.settings.localepicker.LocaleListEditor" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
@@ -2226,7 +2226,7 @@
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.wireless" />
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.DataUsageSummary" />
+ android:value="com.android.settings.datausage.DataUsageSummary" />
</activity>
<activity android:name="Settings$DreamSettingsActivity"
diff --git a/res/drawable/data_sweep_limit.xml b/res/drawable/data_sweep_limit.xml
index eba023f..b0f5fda 100644
--- a/res/drawable/data_sweep_limit.xml
+++ b/res/drawable/data_sweep_limit.xml
@@ -14,6 +14,12 @@
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/data_sweep_limit_activated" />
-</selector>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="2dp"
+ android:height="14.5dp"
+ android:viewportWidth="2"
+ android:viewportHeight="56">
+ <path
+ android:fillColor="#ffffffff"
+ android:pathData="M0,48l2,0l0,8l-2,0l0,-8z" />
+</vector>
diff --git a/res/drawable/data_sweep_warning.xml b/res/drawable/data_sweep_warning.xml
index 5c0a1e9..b0f5fda 100644
--- a/res/drawable/data_sweep_warning.xml
+++ b/res/drawable/data_sweep_warning.xml
@@ -14,6 +14,12 @@
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/data_sweep_warning_activated" />
-</selector>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="2dp"
+ android:height="14.5dp"
+ android:viewportWidth="2"
+ android:viewportHeight="56">
+ <path
+ android:fillColor="#ffffffff"
+ android:pathData="M0,48l2,0l0,8l-2,0l0,-8z" />
+</vector>
diff --git a/res/drawable/drag_handle.xml b/res/drawable/drag_handle.xml
new file mode 100644
index 0000000..c01ee1c
--- /dev/null
+++ b/res/drawable/drag_handle.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="50dp"
+ android:width="50dp"
+ android:viewportHeight="100"
+ android:viewportWidth="100"
+ android:tint="#757575" >
+
+ <path android:fillColor="@android:color/white"
+ android:pathData="M29,48 l 0,-4 42,0 0,4 z" />
+ <path android:fillColor="@android:color/white"
+ android:pathData="M29,56 l 0,-4 42,0 0,4 z" />
+
+</vector>
diff --git a/res/drawable/ic_signal_workmode_enable.xml b/res/drawable/ic_signal_workmode_enable.xml
new file mode 100644
index 0000000..49af897
--- /dev/null
+++ b/res/drawable/ic_signal_workmode_enable.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:name="root"
+ android:height="42dp"
+ android:width="42dp"
+ android:viewportHeight="42"
+ android:viewportWidth="42" >
+ <group
+ android:name="ic_signal_briefcase"
+ android:translateX="21.9995"
+ android:translateY="25.73401" >
+ <group
+ android:name="ic_signal_briefcase_pivot"
+ android:translateX="-23.21545"
+ android:translateY="-18.86649" >
+ <clip-path
+ android:name="mask"
+ android:pathData="M 37.8337860107,-40.3974914551 c 0.0,0.0 -35.8077850342,31.5523681641 -35.8077850342,31.5523681641 c 0.0,0.0 40.9884796143,40.9278411865 40.9884796143,40.9278411865 c 0.0,0.0 -2.61700439453,2.0938873291 -2.61700439453,2.0938873291 c 0.0,0.0 -41.1884460449,-40.9392852783 -41.1884460449,-40.9392852783 c 0.0,0.0 -34.6200408936,25.4699249268 -34.6200408936,25.4699249268 c 0.0,0.0 55.9664764404,69.742401123 55.9664764404,69.742401123 c 0.0,0.0 73.2448120117,-59.1047973633 73.2448120117,-59.1047973633 c 0.0,0.0 -55.9664916992,-69.7423400879 -55.9664916992,-69.7423400879 Z" />
+ <group
+ android:name="cross" >
+ <path
+ android:name="cross_1"
+ android:pathData="M 7.54049682617,3.9430847168 c 0.0,0.0 31.5749816895,31.4499664307 31.5749816895,31.4499664307 "
+ android:strokeColor="#FFFFFFFF"
+ android:strokeAlpha="1"
+ android:strokeWidth="3.5"
+ android:fillColor="#00000000" />
+ </group>
+ <group
+ android:name="briefcase"
+ android:translateX="23.481"
+ android:translateY="18.71151" >
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:fillAlpha="1"
+ android:pathData="M-4.83333,-14.3333 L-7.16667,-11.8333 L-7.16667,-9.5 L-4.83333,-9.5 L-4.83333,-11.8333 L4.83333,-11.8333 L4.83333,-9.5 L7.16667,-9.5 L7.16667,-11.8333 L4.83333,-14.3333 Z" />
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:fillAlpha="1"
+ android:pathData="M13.1667,-9.5 L-13.1667,-9.5 C-14.5,-9.5,-15.5,-8.5,-15.5,-7.16666 L-15.5,0.00000286102 C-15.5,1.33334,-14.5,2.33334,-13.1667,2.33334 L-3.66667,2.33334 L-3.66667,0.00000286102 L3.5,0.00000286102 L3.5,2.33334 L13,2.33334 C14.3333,2.33334,15.3333,1.33334,15.3333,0 L15.3333,-7.16666 C15.5,-8.5,14.3333,-9.5,13.1667,-9.5 Z" />
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:fillAlpha="1"
+ android:pathData="M-3.5,7.16667 L-3.5,4.83334 L-14.3333,4.83334 L-14.3333,10.8333 C-14.3333,12.1667,-13.3333,13.1667,-12,13.1667 L11.8333,13.1667 C13.1667,13.1667,14.1667,12.1667,14.1667,10.8333 L14.1667,4.83334 L3.5,4.83334 L3.5,7.16667 L-3.5,7.16667 Z" />
+ </group>
+ </group>
+ </group>
+</vector>
diff --git a/res/layout/app_header.xml b/res/layout/app_header.xml
index ffc6829..6c13ae8 100644
--- a/res/layout/app_header.xml
+++ b/res/layout/app_header.xml
@@ -53,11 +53,5 @@
android:src="@drawable/ic_info"
style="?android:attr/borderlessButtonStyle" />
- <View
- android:id="@+id/row_divider"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="?android:attr/listDivider" />
-
</RelativeLayout>
diff --git a/res/layout/apps_filter_spinner.xml b/res/layout/apps_filter_spinner.xml
index 45e64c4..b8b5c90 100644
--- a/res/layout/apps_filter_spinner.xml
+++ b/res/layout/apps_filter_spinner.xml
@@ -20,22 +20,34 @@
android:layout_height="?android:attr/actionBarSize"
android:background="@drawable/switchbar_background"
android:gravity="center_vertical"
+ android:paddingEnd="@dimen/switchbar_subsettings_margin_end"
android:theme="?attr/switchBarTheme" >
<Spinner
android:id="@+id/filter_spinner"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
+ android:layout_alignParentStart="true"
android:layout_marginStart="64dp"
+ android:layout_marginEnd="70dp"
android:layout_alignWithParentIfMissing="true"
android:layout_centerVertical="true"
android:textAlignment="viewStart" />
- <View
- android:id="@+id/row_divider"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="?android:attr/listDivider" />
+ <ImageView
+ android:id="@+id/filter_settings"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:minHeight="0dp"
+ android:minWidth="0dp"
+ android:contentDescription="@string/configure"
+ android:scaleType="center"
+ android:src="@drawable/ic_settings_24dp"
+ style="?android:attr/borderlessButtonStyle"
+ android:visibility="gone" />
+
</RelativeLayout>
diff --git a/res/layout/data_usage_app_header.xml b/res/layout/data_usage_app_header.xml
new file mode 100644
index 0000000..8ca391a
--- /dev/null
+++ b/res/layout/data_usage_app_header.xml
@@ -0,0 +1,31 @@
+<!--
+ Copyright (C) 2016 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="wrap_content"
+ android:orientation="vertical">
+
+ <include layout="@layout/app_header" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height=".5dp"
+ android:background="@android:color/white" />
+
+ <include layout="@layout/apps_filter_spinner" />
+
+</LinearLayout>
diff --git a/res/layout/data_usage_chart.xml b/res/layout/data_usage_chart.xml
index 648c7f8..3a2ee09 100644
--- a/res/layout/data_usage_chart.xml
+++ b/res/layout/data_usage_chart.xml
@@ -22,8 +22,8 @@
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="@dimen/data_usage_chart_height"
- android:paddingLeft="?android:attr/listPreferredItemPaddingStart"
- android:paddingRight="40dp"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingTop="16dp"
android:paddingBottom="24dp">
diff --git a/res/layout/data_usage_cycles.xml b/res/layout/data_usage_cycles.xml
index 45143ec..5267e26 100644
--- a/res/layout/data_usage_cycles.xml
+++ b/res/layout/data_usage_cycles.xml
@@ -31,14 +31,4 @@
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
- <TextView
- android:id="@+id/cycle_summary"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:layout_gravity="center_vertical"
- android:textAppearance="@android:style/TextAppearance.Material.Subhead"
- android:textColor="?android:attr/textColorPrimary"
- android:textAlignment="viewEnd" />
-
</LinearLayout>
diff --git a/res/layout/locale_drag_cell.xml b/res/layout/locale_drag_cell.xml
new file mode 100644
index 0000000..978e0ad
--- /dev/null
+++ b/res/layout/locale_drag_cell.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<com.android.settings.localepicker.LocaleDragCell
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:baselineAligned="false"
+ android:layoutDirection="locale"
+ android:textDirection="locale">
+
+ <TextView
+ android:id="@+id/miniLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_marginLeft="12dp"
+ android:layout_marginRight="12dp"
+ tools:text="22"
+ android:textColor="?android:attr/colorAccent"
+ android:minWidth="20sp"
+ android:textAlignment="textEnd"
+ android:gravity="center_vertical|end"
+ android:background="?android:colorBackground"/>
+
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="20sp"
+ android:layout_marginLeft="6dp"
+ android:layout_marginRight="6dp"
+ android:visibility="gone"
+ android:background="?android:colorBackground"/>
+
+ <TextView
+ android:id="@+id/label"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:padding="12dp"
+ tools:text="France"
+ android:textAppearance="?android:attr/textAppearanceListItem"
+ android:background="?android:colorBackground"/>
+
+ <ImageView
+ android:id="@+id/l10nWarn"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:src="@android:drawable/stat_sys_warning"
+ android:focusableInTouchMode="false"
+ android:focusable="false"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
+ android:tint="?android:attr/colorAccent"/>
+
+ <ImageView
+ android:id="@+id/dragHandle"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="center_vertical"
+ android:src="@drawable/drag_handle"/>
+
+</com.android.settings.localepicker.LocaleDragCell>
diff --git a/res/layout/locale_order_list.xml b/res/layout/locale_order_list.xml
new file mode 100644
index 0000000..97ba9a3
--- /dev/null
+++ b/res/layout/locale_order_list.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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:layoutDirection="locale"
+ android:orientation="vertical"
+ android:textDirection="locale">
+
+ <com.android.settings.localepicker.LocaleRecyclerView
+ android:id="@+id/dragList"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"/>
+
+ <TextView
+ android:id="@+id/add_language"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:clickable="true"
+ android:contextClickable="true"
+ android:drawableStart="@drawable/ic_add_24dp"
+ android:drawablePadding="12dp"
+ android:gravity="center_vertical"
+ android:measureWithLargestChild="false"
+ android:padding="16dp"
+ android:text="@string/add_a_language"
+ android:textAppearance="?android:attr/textAppearanceListItem"/>
+
+</LinearLayout>
diff --git a/res/layout/memory_key.xml b/res/layout/memory_key.xml
deleted file mode 100644
index 62db2fc..0000000
--- a/res/layout/memory_key.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical|end"
- android:layout_marginBottom="5dp" >
-
- <ImageView
- android:layout_width="16dp"
- android:layout_height="16dp"
- android:scaleType="centerInside"
- android:src="@color/memory_avg_use"
- android:contentDescription="@null" />
-
- <TextView
- android:id="@+id/memory_avg"
- android:text="@string/memory_avg_use"
- android:textAppearance="@android:style/TextAppearance.Material.Body1"
- android:textColor="?android:attr/textColorSecondary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="16dp" />
-
- <ImageView
- android:layout_width="16dp"
- android:layout_height="16dp"
- android:scaleType="centerInside"
- android:src="@color/memory_max_use"
- android:contentDescription="@null" />
-
- <TextView
- android:id="@+id/memory_max"
- android:text="@string/memory_max_use"
- android:textAppearance="@android:style/TextAppearance.Material.Body1"
- android:textColor="?android:attr/textColorSecondary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="16dp" />
-
-</LinearLayout>
diff --git a/res/layout/preference_category_no_label.xml b/res/layout/preference_category_no_label.xml
new file mode 100644
index 0000000..dafabb2
--- /dev/null
+++ b/res/layout/preference_category_no_label.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 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.
+-->
+<Space xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="0dp" />
+
diff --git a/res/layout/preference_category_short.xml b/res/layout/preference_category_short.xml
new file mode 100644
index 0000000..452d0bc
--- /dev/null
+++ b/res/layout/preference_category_short.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<!-- Layout used for PreferenceCategory in a PreferenceActivity. -->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="0dp"
+ android:textAppearance="@android:style/TextAppearance.Material.Body2"
+ android:textColor="?android:attr/colorAccent"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:paddingTop="16dip" />
diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml
index 99e764f..f8badcf 100644
--- a/res/layout/preference_list_fragment.xml
+++ b/res/layout/preference_list_fragment.xml
@@ -18,95 +18,95 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/container_material"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@android:color/transparent">
+ android:id="@+id/container_material"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/transparent">
<FrameLayout android:id="@+id/pinned_header"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:visibility="gone" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
- <FrameLayout
- android:id="@android:id/list_container"
- android:layout_height="0px"
- android:layout_weight="1"
- android:layout_width="match_parent">
+ <FrameLayout
+ android:id="@android:id/list_container"
+ android:layout_height="0px"
+ android:layout_weight="1"
+ android:layout_width="match_parent">
<ListView android:id="@+id/backup_list"
- style="@style/PreferenceFragmentListSinglePane"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingStart="@dimen/settings_side_margin"
- android:paddingEnd="@dimen/settings_side_margin"
- android:paddingTop="@dimen/dashboard_padding_top"
- android:paddingBottom="@dimen/dashboard_padding_bottom"
- android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle"
- android:clipToPadding="false"
- android:drawSelectorOnTop="false"
- android:elevation="@dimen/dashboard_category_elevation"
- android:visibility="gone"
- android:scrollbarAlwaysDrawVerticalTrack="true" />
+ style="@style/PreferenceFragmentListSinglePane"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingStart="@dimen/settings_side_margin"
+ android:paddingEnd="@dimen/settings_side_margin"
+ android:paddingTop="@dimen/dashboard_padding_top"
+ android:paddingBottom="@dimen/dashboard_padding_bottom"
+ android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle"
+ android:clipToPadding="false"
+ android:drawSelectorOnTop="false"
+ android:elevation="@dimen/dashboard_category_elevation"
+ android:visibility="gone"
+ android:scrollbarAlwaysDrawVerticalTrack="true" />
<include layout="@layout/loading_container" />
<com.android.settings.widget.FloatingActionButton
- android:id="@+id/fab"
- android:visibility="gone"
- android:clickable="true"
- android:layout_width="@dimen/fab_size"
- android:layout_height="@dimen/fab_size"
- android:layout_gravity="bottom|end"
- android:layout_marginEnd="@dimen/fab_margin"
- android:layout_marginBottom="@dimen/fab_margin"
- android:elevation="@dimen/fab_elevation"
- android:background="@drawable/fab_background" />
+ android:id="@+id/fab"
+ android:visibility="gone"
+ android:clickable="true"
+ android:layout_width="@dimen/fab_size"
+ android:layout_height="@dimen/fab_size"
+ android:layout_gravity="bottom|end"
+ android:layout_marginEnd="@dimen/fab_margin"
+ android:layout_marginBottom="@dimen/fab_margin"
+ android:elevation="@dimen/fab_elevation"
+ android:background="@drawable/fab_background" />
</FrameLayout>
<TextView android:id="@android:id/empty"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:padding="@*android:dimen/preference_fragment_padding_side"
- android:gravity="center"
- android:visibility="gone" />
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="@*android:dimen/preference_fragment_padding_side"
+ android:gravity="center"
+ android:visibility="gone" />
<RelativeLayout android:id="@+id/button_bar"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:layout_weight="0"
- android:visibility="gone">
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_weight="0"
+ android:visibility="gone">
<Button android:id="@+id/back_button"
+ android:layout_width="150dip"
+ android:layout_height="wrap_content"
+ android:layout_margin="5dip"
+ android:layout_alignParentStart="true"
+ android:text="@*android:string/back_button_label"
+ />
+
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true">
+
+ <Button android:id="@+id/skip_button"
android:layout_width="150dip"
android:layout_height="wrap_content"
android:layout_margin="5dip"
- android:layout_alignParentStart="true"
- android:text="@*android:string/back_button_label"
+ android:text="@*android:string/skip_button_label"
+ android:visibility="gone"
/>
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentEnd="true">
-
- <Button android:id="@+id/skip_button"
- android:layout_width="150dip"
- android:layout_height="wrap_content"
- android:layout_margin="5dip"
- android:text="@*android:string/skip_button_label"
- android:visibility="gone"
- />
-
<Button android:id="@+id/next_button"
- android:layout_width="150dip"
- android:layout_height="wrap_content"
- android:layout_margin="5dip"
- android:text="@*android:string/next_button_label"
- />
+ android:layout_width="150dip"
+ android:layout_height="wrap_content"
+ android:layout_margin="5dip"
+ android:text="@*android:string/next_button_label"
+ />
</LinearLayout>
diff --git a/res/layout/proc_stats_ui.xml b/res/layout/proc_stats_ui.xml
deleted file mode 100644
index 9d0a22d..0000000
--- a/res/layout/proc_stats_ui.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2015 The Android Open Source Project
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at"+
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/all_details"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingStart="?android:attr/listPreferredItemPaddingStart"
- android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/memory_state"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="5dp"
- android:layout_marginBottom="5dp"
- android:textColor="?android:attr/colorAccent"
- android:textAppearance="@android:style/TextAppearance.Material.Display1"
- />
-
- <com.android.settings.applications.LinearColorBar
- android:id="@+id/color_bar"
- android:layout_width="match_parent"
- android:layout_height="28dp"
- android:layout_marginBottom="15dp"
- />
-
-</LinearLayout>
-
diff --git a/res/layout/process_stats_details.xml b/res/layout/process_stats_details.xml
deleted file mode 100644
index aa402f6..0000000
--- a/res/layout/process_stats_details.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/all_details"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:paddingStart="?android:attr/listPreferredItemPaddingStart"
- android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
-
- <com.android.settings.applications.LinearColorBar
- android:id="@+id/color_bar"
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:layout_marginTop="12dp"
- android:layout_marginBottom="10dp"
- />
-
- <include layout="@layout/memory_key" />
-
- <!-- Force stop and report buttons -->
- <LinearLayout
- android:id="@+id/two_buttons_panel"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingBottom="6dip"
- android:orientation="vertical">
-
- <include layout="@layout/two_buttons_panel"/>
- </LinearLayout>
-
-</LinearLayout>
diff --git a/res/layout/redaction_interstitial.xml b/res/layout/redaction_interstitial.xml
index 14e57f8..e80b399 100644
--- a/res/layout/redaction_interstitial.xml
+++ b/res/layout/redaction_interstitial.xml
@@ -24,7 +24,7 @@
android:paddingEnd="?attr/side_margin">
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/redaction_vertical_margins"
android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
@@ -41,14 +41,14 @@
android:layout_marginEnd="?android:attr/listPreferredItemPaddingEnd"
android:checkedButton="@+id/redact_sensitive">
- <RadioButton
+ <com.android.settings.RestrictedRadioButton
android:id="@+id/show_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/redaction_vertical_margins"
android:text="@string/lock_screen_notifications_summary_show" />
- <RadioButton
+ <com.android.settings.RestrictedRadioButton
android:id="@+id/redact_sensitive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/res/layout/settings_summary_preference.xml b/res/layout/settings_summary_preference.xml
new file mode 100644
index 0000000..7614fca
--- /dev/null
+++ b/res/layout/settings_summary_preference.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 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="wrap_content"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@android:id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="0dp"
+ android:layout_marginTop="0dp"
+ android:layout_marginBottom="5dp"
+ android:textColor="?android:attr/colorAccent"
+ android:textAppearance="@android:style/TextAppearance.Material.Display1"
+ />
+
+ <TextView android:id="@android:id/summary"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:attr/textColorSecondary"
+ android:paddingBottom="5dp"
+ android:maxLines="10" />
+
+ <com.android.settings.applications.LinearColorBar
+ android:id="@+id/color_bar"
+ android:layout_width="match_parent"
+ android:layout_height="28dp"
+ />
+
+ <LinearLayout
+ android:id="@+id/label_bar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="2dp"
+ android:orientation="horizontal">
+
+ <TextView android:id="@android:id/text1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:attr/textColorSecondary" />
+
+ <Space
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" />
+
+ <TextView android:id="@android:id/text2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:attr/textColorSecondary" />
+
+ </LinearLayout>
+
+</LinearLayout>
+
diff --git a/res/layout/setup_redaction_interstitial.xml b/res/layout/setup_redaction_interstitial.xml
index f5954a1..6eef9ce 100644
--- a/res/layout/setup_redaction_interstitial.xml
+++ b/res/layout/setup_redaction_interstitial.xml
@@ -36,7 +36,7 @@
<TextView
style="@style/SuwDescription"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
android:layout_marginEnd="?android:attr/listPreferredItemPaddingEnd"
diff --git a/res/menu/data_usage.xml b/res/menu/data_usage.xml
index 749eb16..9fe6b60 100644
--- a/res/menu/data_usage.xml
+++ b/res/menu/data_usage.xml
@@ -16,24 +16,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
- android:id="@+id/data_usage_menu_restrict_background"
- android:title="@string/data_usage_menu_restrict_background" />
- <item
- android:id="@+id/data_usage_menu_show_wifi"
- android:title="@string/data_usage_menu_show_wifi" />
- <item
- android:id="@+id/data_usage_menu_show_ethernet"
- android:title="@string/data_usage_menu_show_ethernet" />
- <item
- android:id="@+id/data_usage_menu_metered"
- android:title="@string/data_usage_menu_metered" />
- <item
- android:id="@+id/data_usage_menu_sim_cards"
- android:title="@string/data_usage_menu_sim_cards" />
- <item
android:id="@+id/data_usage_menu_cellular_networks"
android:title="@string/data_usage_menu_cellular_networks" />
- <item
- android:id="@+id/data_usage_menu_help"
- android:title="@string/help_label" />
</menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index bfb68fc..ecc49f8 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Verbind aan datadienste wanneer swerf"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Jy het dataverbinding verloor omdat jy wegbeweeg het van jou tuisnetwerk af sonder om dataswerwing weer aan te skakel."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Skakel dit aan"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"As jy dataswerwing toelaat, kan dit moontlik heelwat swerfkoste veroorsaak!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"Dit kan baie duur wees."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"As jy dataswerwing toelaat, kan hoë swerwingskoste jou in die gesig staar! \n\nHierdie instelling beïnvloed alle gebruikers op hierdie tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"As jy dataswerwing toelaat, kan hoë swerwingskoste jou in die gesig staar! \n\nHierdie instelling beïnvloed alle gebruikers op hierdie foon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Laat dataswerwing toe?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sinkronisering ondervind tans probleme. Dit sal binnekort terug wees."</string>
<string name="add_account_label" msgid="7811707265834013767">"Voeg rekening by"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Werkprofiel is nog nie beskikbaar nie"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Werkmodus"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Stel werkprofiel in staat om te werk, insluitend programme, agtergrondsinkronisering en verwante kenmerke"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Verwyder werkprofiel"</string>
<string name="background_data" msgid="5779592891375473817">"Agtergronddata"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Programme kan te enige tyd data sinkroniseer, stuur en ontvang"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is net deur Wi-Fi beskikbaar"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Agtergronddata is af"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Agtergronddata is net deur Wi-Fi beskikbaar. Dit kan sommige programme of dienste beïnvloed wanneer Wi-Fi nie beskikbaar is nie."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Werkprofiel is af"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Programme, agtergrondsinkronisering en ander kenmerke wat met jou werkprofiel verband hou, is afgeskakel."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Voorstelle (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Verwyder"</string>
<string name="color_temperature" msgid="2501579996151717270">"Skerm se kleurtemperatuur"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Aktiveer koel temperatuur"</string>
+ <string name="usage" msgid="2977875522080448986">"Gebruik"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Sellulêre datagebruik"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi-datagebruik"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet-datagebruik"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> se sellulêre data"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> se Wi-Fi-data"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> se ethernet-data"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g>-datawaarskuwing"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g>-datawaarskuwing / <xliff:g id="ID_2">%2$s</xliff:g>-datalimiet"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Faktureringsiklus"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Maandelikse siklus begin op die <xliff:g id="ID_1">%1$s</xliff:g> van elke maand"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Maandeliks vanaf <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Netwerkbeperkinge"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"Operateur se datarekeninge kan van jou toestel verskil."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> gebruik"</string>
+ <string name="data_warning" msgid="209133958008062117">"Datawaarskuwing"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Stel datalimiet"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Datalimiet"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> gebruik tussen <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Stel op"</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ac2b2b7..17e5631 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD ካርድ ንቀል"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB ማከማቻ አጥፋ"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"የSD ካርድ አጥፋ"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"በማያ ገጽ ላይ ያለ ጽሑፍን ያሳንሱ ወይም ያተልቁ።"</string>
<string name="small_font" msgid="2295331917424072635">"አነስተኛ"</string>
<string name="medium_font" msgid="2068475425515133701">"መካከለኛ"</string>
<string name="large_font" msgid="599055175160971446">"ትልቅ"</string>
@@ -265,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"በእንቅስቃሴ ላይ ሲሆን ወደ ውሂብ አገልግሎቶች ተያያዝ"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"የውሂብዎ ተያያዥነት ጠፍቷል ምክንያቱም የቤትዎን አውታረመረብ በእንቅስቃሴ ላይ አጥፋተው በመተዎ ነው።"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"አብራው"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"የውሂብ ዝውውር በምትፈቅድበት ጊዜ፤ ላቅ ያለ የዝውውር ክፍያዎች ልትከፍልትችላለህ!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"ቀላል የማይባል ክፍያ ሊጠየቁ ይችሉ ይሆናል።"</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"የውሂብ ዝውውር ሲፈቅዱ ጉልህ የሆኑ የውሂብ ዝውውር ክፍያዎች ሊደርስብዎት ይችላል!\n\nይህ ቅንብር እዚህ ጡባዊ ላይ ያሉት ሁሉም ተጠቃሚዎች ይመለከታቸዋል።"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"የውሂብ ዝውውር ሲፈቅዱ ጉልህ የሆኑ የውሂብ ዝውውር ክፍያዎች ሊደርስብዎት ይችላል!\n\nይህ ቅንብር እዚህ ስልክ ላይ ያሉት ሁሉም ተጠቃሚዎች ይመለከታቸዋል።"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"የውሂብ ዝውውር ፍቀድ?"</string>
@@ -1277,7 +1276,7 @@
<string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"ተመሳሳዩን የማያ ገጽ መቆለፊያን ተጠቀም"</string>
<string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"ከሥራ መገለጫ ጋር እንዲዛመድ ዋና መገለጫን ይለውጡ"</string>
<string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"ተመሳሳዩን የማያ ገጽ መቆለፊያ ይጠቀሙ?"</string>
- <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"ይህን መቆለፊያ ለእርስዎ መሣሪያ ሊጠቀሙበት ይችላሉ፣ ነገር ግን የእርስዎ የአይቲ አስተዳዳሪ በሥራ መገለጫው ላይ ያቀናበሯቸውን ሁሉም ከማያ ገጽ መቆለፊያ ጋር የተዛመዱ መመሪያዎችን ያካትታል።\nተመሳሳዩን መቆለፊያ ለእርስዎ መሣሪያ መጠቀም ይፈልጋሉ?"</string>
+ <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"ይህን መቆለፊያ ለእርስዎ መሣሪያ ሊጠቀሙበት ይችላሉ፣ ነገር ግን የእርስዎ የአይቲ አስተዳዳሪ በሥራ መገለጫው ላይ ያቀናበሯቸውን ሁሉንም ከማያ ገጽ መቆለፊያ ጋር የተዛመዱ መመሪያዎችን ያካትታል።\nተመሳሳዩን መቆለፊያ ለእርስዎ መሣሪያ መጠቀም ይፈልጋሉ?"</string>
<string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"ከእርስዎ መሣሪያ መቆለፊያ ጋር ተመሳሳይ ነው"</string>
<string name="manageapplications_settings_title" msgid="7041951105633616745">"መተግበሪያዎች አስተዳድር"</string>
<string name="manageapplications_settings_summary" msgid="1794401500935451259">"የተጫኑ መተግበራያዎች አስተዳድር እና አስወግድ"</string>
@@ -1937,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"አስምር በአሁኑጊዜ ችግር እየገጠመው ነው። ከአፍታ ቆይታ በኋላ ይመለሳል።"</string>
<string name="add_account_label" msgid="7811707265834013767">"መለያ አክል"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"የስራ መገለጫ ገና አይገኝም"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"የሥራ ሁነታ"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"የሥራ መገለጫ፣ መተግበሪያዎችን፣ የበስተጀርባ ሥምረት እና ተዛማጅ ባህሪዎችን ጨምሮ ይፍቀዱ"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"የስራ መገለጫ አስወግድ"</string>
<string name="background_data" msgid="5779592891375473817">"ዳራ ውሂብ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"መተግበሪያዎች በማንኛውም ሰዓት ማመሳሰል፣ መላክ፣ እና ውሂብ መቀበል ይችላሉ።"</string>
@@ -2754,8 +2755,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"የእርስዎን ማያ ገጽ ሳይከፍቱ ካሜራን በፍጥነት ይክፈቱ"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"የማያ ገጽ አጉላ/አሳንስ"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"የማሳያ ትፍገት፣ ማያ ገጽ ማጉያ፣ ልኬት፣ ማመጣጠን"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"በማያ ገጽ ላይ ያሉ ሁሉንም ንጥሎች ያሳንሱ ወይም ያተልቁ። ይህ ቅንብር ከተለወጠ በኋላ በእርስዎ መነሻ ገጽ ላይ ያሉ አንዳንድ መተግበሪያዎች አቀማመጣቸውን ሊለውጡ ይችሉ ይሆናል።"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"ቅድመ-እይታ"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"አነስ አድርግ"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"ተለቅ አድርግ"</string>
@@ -2799,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"በይነመረብ በWi-Fi በኩል ብቻ ነው የሚገኘው"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"የጀርባ ውሂብ ጠፍቷል"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"የጀርባ ውሂብ በWi-Fi በኩል ብቻ ነው የሚገኘው። ይሄ Wi-Fi በማይገኝበት ጊዜ በአንዳንድ መተግበሪያዎች ወይም አገልግሎቶች ላይ ተጽዕኖ ሊፈጥር ይችላል።"</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"የሥራ መገለጫ ጠፍቷል"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"መተግበሪያዎች፣ የበስተጀርባ ሥምረት፣ እና ሌሎች ከእርስዎ የሥራ መገለጫ ጋር የተገናኙ ባህሪዎች ጠፍተዋል።"</string>
<string name="suggestions_title" msgid="8758376306825920705">"የአስተያየት ጥቆማዎች (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"አስወግድ"</string>
<string name="color_temperature" msgid="2501579996151717270">"የቀለም ሙቀትን አሳይ"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"ቀዝቃዛ ሙቀትን አንቃ"</string>
+ <string name="usage" msgid="2977875522080448986">"አጠቃቀም"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"የተንቀሳቃሽ ውሂብ አጠቃቀም"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi ውሂብ አጠቃቀም"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"የኤተርኔት ውሂብ አጠቃቀም"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"ኤተርኔት"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> የተንቀሳቃሽ ስልክ ውሂብ"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi ውሂብ"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ኤተርኔት ውሂብ"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> የውሂብ ማስጠንቀቂያ"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> የውሂብ ማስጠንቀቂያ / <xliff:g id="ID_2">%2$s</xliff:g> የውሂብ ገደብ"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"የክፍያ አከፋፈል ዑደት"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"ወርሃዊ ዑደት በየወሩ በ<xliff:g id="ID_1">%1$s</xliff:g> ላይ ይጀምራል"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"ከ<xliff:g id="ID_1">%1$s</xliff:g> ጀምሮ በየወሩ"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"የአውታረ መረብ ገደቦች"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"የአገልግሎት አቅራቢ ውሂብ አቆጣጠር ከእርስዎ መሣሪያ ሊለይ ይችላል።"</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> ጥቅም ላይ ውሏል"</string>
+ <string name="data_warning" msgid="209133958008062117">"የውሂብ ማስጠንቀቂያ"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"የውሂብ ገደብ ያዘጋጁ"</string>
+ <string name="data_limit" msgid="1885406964934590552">"የውሂብ ገደብ"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> ከ<xliff:g id="ID_2">%2$s</xliff:g> መሃል ጥቅም ላይ ውሏል"</string>
+ <string name="configure" msgid="1029654422228677273">"አዋቅር"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index f6b547c..5a02b13 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -268,7 +268,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"اتصال بخدمات البيانات عند التجوال"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تشغيل تجوال البيانات بشبكتك الرئيسية."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"تشغيل"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الجهاز اللوحي."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الهاتف."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"السماح بتجوال البيانات؟"</string>
@@ -2000,6 +2001,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"تواجه المزامنة حاليًا بعض المشاكل. وسوف تكون متاحة خلال وقت قصير."</string>
<string name="add_account_label" msgid="7811707265834013767">"إضافة حساب"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"لا يتوفر الملف الشخصي للعمل حتى الآن"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"إزالة الملف الشخصي للعمل"</string>
<string name="background_data" msgid="5779592891375473817">"بيانات الخلفية"</string>
<string name="background_data_summary" msgid="8328521479872763452">"يمكن للتطبيقات مزامنة وإرسال وتلقي البيانات في أي وقت"</string>
@@ -2897,8 +2902,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"لا تتوفر خدمة الإنترنت إلا عبر Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"تم تعطيل بيانات الخلفية"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"لا تتوفر بيانات الخلفية إلا عبر Wi-Fi. وقد يؤثر هذا في أداء بعض التطبيقات أو الخدمات عند عدم توفر خدمة Wi-Fi."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"الاقتراحات (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"إزالة"</string>
<string name="color_temperature" msgid="2501579996151717270">"عرض درجة حرارة الألوان"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"تمكين درجة الحرارة الباردة"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 8690c5c..3f7920b 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Rouminq zamanı data xidmətlərinə qoşulun"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Siz data rominq yanılı olmadan ana şəbəkəni tərk etdiyiniz üçün data bağlantını itirdiniz."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktiv edin"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Data rouminqinə icazə versəniz, buna görə Sizdən əlavə rüsumlar tutula bilər."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Data rouminqinə icazə verdiyiniz zaman sizdən əlavə rüsumlar tutula bilər!\n\nBu ayar bu planşetin bütün istifadəçilərinə təsir edir."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Data rominqinə icazə verməyiniz əhəmiyyətli rominq sərfiyyatına səbəb ola bilər!\n\nBu parametr bu telefondakı bütün istifadəçilərə təsir edir."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Data rominqə icazə verilsin?"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Hazırda sinxronizasiyada problemlər var. Bir azdan sonra düzələcək."</string>
<string name="add_account_label" msgid="7811707265834013767">"Hesab əlavə edin"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"İş profili hələ əlçatan deyil"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"İş profilini silin"</string>
<string name="background_data" msgid="5779592891375473817">"Fon datası"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Tətbiqlər istənilən vaxt datanı sinxronlaşdıra, göndərə və qəbul edə bilər"</string>
@@ -2797,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"İnternet yalnız Wi-Fi vasitəsilə əlçatandır"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Arxa fon datası deaktivdir"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Arxa fon datası yalnız Wi-Fi vasitəsilə əlçatandır. Wi-Fi əlçatan olmadıqda, bəzi tətbiq və ya xidmətlərə təsir edə bilər."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Təkliflər (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Silin"</string>
<string name="color_temperature" msgid="2501579996151717270">"Rəng tempraturunu göstərin"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Sərin temperaturu aktiv edin"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 6c39a65..66a16b7 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -75,8 +75,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Oslobađanje SD kartice"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Brisanje USB memorije"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Izbriši SD karticu"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Omogućava da tekst na ekranu bude manji ili veći."</string>
<string name="small_font" msgid="2295331917424072635">"Mala"</string>
<string name="medium_font" msgid="2068475425515133701">"Srednja"</string>
<string name="large_font" msgid="599055175160971446">"Velika"</string>
@@ -266,7 +265,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Povezivanje sa uslugom za podatke tokom rominga"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Veza za prenos podataka je prekinuta zato što ste napustili matičnu mrežu sa isključenim prenosom podataka u romingu."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Uključi"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Kada omogućite prenos podataka u romingu, mogu da nastanu veliki troškovi rominga!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kada omogućite prenos podataka u romingu, možete da napravite velike troškove u romingu!\n\nOvo podešavanje utiče na sve korisnike ovog tableta."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kada omogućite prenos podataka u romingu, možete da napravite velike troškove u romingu!\n\nOvo podešavanje utiče na sve korisnike ovog telefona."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Dozvolite prenos podataka u romingu?"</string>
@@ -1953,6 +1953,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sinhronizacija trenutno ima problema. Uskoro će se vratiti."</string>
<string name="add_account_label" msgid="7811707265834013767">"Dodaj nalog"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Poslovni profil još uvek nije dostupan"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Ukloni profil za posao"</string>
<string name="background_data" msgid="5779592891375473817">"Podaci o pozadini"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikacije uvek mogu da sinhronizuju, šalju i primaju podatke"</string>
@@ -2779,8 +2783,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Brzo otvorite kameru bez otključavanja ekrana"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Nivo zumiranja ekrana"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"gustina ekrana, zumiranje ekrana, razmera, prilagođavanje"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Omogućava da sve stavke na ekranu budu manje ili veće. Položaj nekih aplikacija na početnom ekranu može da se promeni nakon promene ovog podešavanja."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pregled"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Umanji"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Uvećaj"</string>
@@ -2824,8 +2827,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je dostupan samo preko Wi-Fi-ja"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Pozadinski podaci su isključeni"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Pozadinski podaci su dostupni samo preko Wi-Fi-ja. To može da utiče na neke aplikacije ili usluge kada Wi-Fi nije dostupan."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Predlozi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Ukloni"</string>
<string name="color_temperature" msgid="2501579996151717270">"Prikaži temperaturu boje"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Omogućava hladnu temperaturu"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 66d083c..eddac3f 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Деактивиране на SD карта"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Изтриване на USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Изтриване на SD картата"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Намаляване или уголемяване на текста на екрана."</string>
<string name="small_font" msgid="2295331917424072635">"Малък"</string>
<string name="medium_font" msgid="2068475425515133701">"Среден"</string>
<string name="large_font" msgid="599055175160971446">"Голям"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Свързване с услуги за данни при роуминг"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Изгубихте връзката за данни, защото сте оставили домашната си мрежа с изключен роуминг на данни."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Включване"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Разрешаването на роуминг на данни може да доведе до висока такса за роуминг!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Разрешаването на роуминг на данни може да доведе до високи такси!\n\nНастройката засяга всички потребители на този таблет."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Разрешаването на роуминг на данни може да доведе до високи такси!\n\nНастройката засяга всички потребители на този телефон."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Да се разреши ли роуминг на данни?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Синхронизирането понастоящем среща проблеми. Ще продължи скоро."</string>
<string name="add_account_label" msgid="7811707265834013767">"Добавяне на профил"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Служебният потребителски профил още не е налице"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Премахв. на служебния потр. профил"</string>
<string name="background_data" msgid="5779592891375473817">"Данни на заден план"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Приложенията да синхр., пращат и получават данни винаги"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Бързо отваряйте камерата, без да отключвате екрана си"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Промяна на мащаба на екрана"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"плътност на дисплея, промяна на мащаба на екрана, мащаб, мащабиране"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Намаляване или уголемяване на всички елементи на екрана. Позицията на някои приложения на началния екран може да се промени, след като коригирате тази настройка."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Визуализация"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Намаляване на размера"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Увеличаване на размера"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Достъпът до интернет е възможен само през Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Данните на заден план са изкл."</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Данните на заден план са налице само през Wi-Fi. Липсата на такава мрежа може да засегне някои приложения или услуги."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Предложения (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Премахване"</string>
<string name="color_temperature" msgid="2501579996151717270">"Цветна температура на екрана"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Активиране на студената цветова гама"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index cee320c..6fac94f 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD কার্ড আনমাউন্ট করুন"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB সঞ্চয়স্থান মুছে ফেলুন"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD কার্ড মুছে ফেলুন"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"স্ক্রীনে পাঠ্য ছোট বা বড় করুন।"</string>
<string name="small_font" msgid="2295331917424072635">"ক্ষুদ্র"</string>
<string name="medium_font" msgid="2068475425515133701">"মাঝারি"</string>
<string name="large_font" msgid="599055175160971446">"বৃহত্"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"রোমিংয়ে থাকাকালীন ডেটা পরিষেবাগুলি সংযোগ করুন"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"আপনি আপনার হোম নেটওয়ার্ক থেকে ডেটা রোমিং বন্ধ করে দেওয়ার কারণে আপনি ডেটা সংযোগ হারিয়েছেন।"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"এটি চালু করুন"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!\n\nএই সেটিংস এই ট্যাবলেটের সমস্ত ব্যবহারকারীর উপর প্রভাব ফেলবে।"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!\n\nএই সেটিংস এই ফোনের সমস্ত ব্যবহারকারীর উপর প্রভাব ফেলবে।"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ডেটা রোমিংয়ের অনুমতি দেবেন?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"সমন্বয় বর্তমানে সমস্যার সম্মুখীন হচ্ছে। এটি খুব শীঘ্রই ফিরে আসবে।"</string>
<string name="add_account_label" msgid="7811707265834013767">"অ্যাকাউন্ট যোগ করুন"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"কর্মস্থলের প্রোফাইল এখনো উপলব্ধ নয়"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"কর্মস্থলের প্রোফাইল সরান"</string>
<string name="background_data" msgid="5779592891375473817">"পশ্চাদপট ডেটা"</string>
<string name="background_data_summary" msgid="8328521479872763452">"অ্যাপ্লিকেশানগুলি যে কোনো সময়ে ডেটা সমন্বয়, পাঠাতে ও গ্রহণ করতে পারে"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"আপনার স্ক্রীন আনলক না করেই দ্রুত ক্যামেরা খুলুন"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"স্ক্রীনের জুম"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ঘনত্ব হিসাবে প্রদর্শন, স্ক্রীন জুম করা, স্কেল, স্কেলের মাপ"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"স্ক্রীনে সব আইটেম ছোট বা বড় করুন। এই সেটিংটি পরিবর্তন করার পরে আপনার হোম স্ক্রীনের কিছু অ্যাপ্লিকেশান অবস্থান পরিবর্তন করতে পারে।"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"পূর্বরূপ দেখুন"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"আরো ছোট করুন"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"আরো বড় করুন"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"শুধুমাত্র Wi-Fi এর মাধ্যমে ইন্টারনেট উপলব্ধ"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"পশ্চাদপট ডেটা বন্ধ আছে"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"পশ্চাদপট ডেটা শুধুমাত্র Wi-Fi এর মাধ্যমে উপলব্ধ হয়৷ Wi-Fi উপলব্ধ না থাকলে এটি কিছু অ্যাপ্লিকেশান এবং পরিষেবায় প্রভাব ফেলতে পারে৷"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"প্রস্তাবনাগুলি (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"সরান"</string>
<string name="color_temperature" msgid="2501579996151717270">"কালার টেম্পারেচার প্রদর্শন করুন"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"শীতল টেম্পারেচার সক্ষম করুন"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 4c4d7d9..de8dbf1 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desactiva la targeta SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Esborra l\'emmagatzematge USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Esborra la targeta SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Amplia o redueix el text de la pantalla."</string>
<string name="small_font" msgid="2295331917424072635">"Petita"</string>
<string name="medium_font" msgid="2068475425515133701">"Mitjana"</string>
<string name="large_font" msgid="599055175160971446">"Gran"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Estableix connexió amb serveis de dades en itinerància"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Has perdut la connectivitat de dades, perquè has abandonat la xarxa domèstica i la itinerància de dades està desactivada."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activa-la"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats.\n\nAquesta configuració afecta tots els usuaris de la tauleta."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats.\n\nAquesta configuració afecta tots els usuaris del telèfon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Permetre la itinerància de dades?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"La sincronització té problemes. Es tornarà a activar aviat."</string>
<string name="add_account_label" msgid="7811707265834013767">"Afegeix compte"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"El perfil professional encara no està disponible."</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Suprimeix el perfil professional"</string>
<string name="background_data" msgid="5779592891375473817">"Dades en segon pla"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Les aplicacions poden sincronitzar, enviar i rebre dades en qualsevol moment"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Obre ràpidament la càmera sense haver de desbloquejar la pantalla"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de la pantalla"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densitat de pantalla, zoom de pantalla, escala, mida"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Amplia o redueix tots els elements de la pantalla. És possible que algunes aplicacions de la pantalla d\'inici canviïn de posició després de canviar aquesta opció de configuració."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Previsualització"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Redueix"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Amplia"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet només està disponible per Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Dades en segon pla desactivades"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Les dades en segon pla només estan disponibles mitjançant una Wi-Fi. Això pot afectar aplicacions o serveis determinats quan no n\'hi hagi cap de disponible."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Suggeriments (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Suprimeix"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura del color de la pantalla"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Activa la temperatura freda"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 4737b7b..4477eb7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -76,8 +76,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odpojit kartu SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Smazat úložiště USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Smazat kartu SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Umožňuje zvětšit nebo zmenšit text na obrazovce."</string>
<string name="small_font" msgid="2295331917424072635">"Malá"</string>
<string name="medium_font" msgid="2068475425515133701">"Střední"</string>
<string name="large_font" msgid="599055175160971446">"Velká"</string>
@@ -267,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Používat datové služby při roamingu"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Připojení datových služeb bylo přerušeno, protože jste opustili domovskou síť a máte vypnutý datový roaming."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Zapnout"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Pokud povolíte datový roaming, mohou vám být účtovány vysoké poplatky."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Pokud aktivujete datový roaming, mohou vám být za roaming účtovány nemalé poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto tabletu."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Pokud aktivujete datový roaming, mohou vám být za roaming účtovány nemalé poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto telefonu."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Povolit datový roaming?"</string>
@@ -1969,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Nastaly potíže se synchronizací. Služba bude brzy obnovena."</string>
<string name="add_account_label" msgid="7811707265834013767">"Přidat účet"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Pracovní profil zatím není k dispozici"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Odstranit pracovní profil"</string>
<string name="background_data" msgid="5779592891375473817">"Data na pozadí"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikace mohou kdykoli synchronizovat, odesílat a přijímat data."</string>
@@ -2804,8 +2808,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Rychle otevře fotoaparát bez odemknutí obrazovky"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Přiblížení obrazovky"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"displej, hustota, přiblížení obrazovky, měřítko, zvětšení"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Umožňuje zvětšit nebo zmenšit všechny položky na obrazovce. Po změně tohoto nastavení se ikony některých aplikací na ploše mohou přemístit."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Náhled"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Zmenšit"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Zvětšit"</string>
@@ -2849,8 +2852,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je dostupný pouze prostřednictvím Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Data na pozadí jsou vypnuta"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Data na pozadí jsou dostupná pouze prostřednictvím Wi-Fi. Tato skutečnost může mít vliv na některé aplikace a služby, pokud síť Wi-Fi není k dispozici."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Návrhy (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Odstranit"</string>
<string name="color_temperature" msgid="2501579996151717270">"Teplota barev displeje"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Nastaví studené barvy"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index f65e9ef..f98116b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Demonter SD-kort"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Slet USB-lager"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Formatér SD-kort"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Gør teksten på skærmen mindre eller større."</string>
<string name="small_font" msgid="2295331917424072635">"Lille"</string>
<string name="medium_font" msgid="2068475425515133701">"Normal"</string>
<string name="large_font" msgid="599055175160971446">"Stor"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Opret forbindelse til datatjenester ved roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Du har mistet dataforbindelsen, fordi du har forladt dit hjemmenetværk med dataroaming slået fra."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Slå det til"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Når du tillader dataroaming, risikerer du at skulle betale høje gebyrer for roaming."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Når du tillader dataroaming, kan du blive udsat for væsentlige roamingudgifter.\n\nDenne indstilling påvirker alle brugere på denne tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Når du tillader dataroaming, kan du blive udsat for væsentlige roamingudgifter.\n\nDenne indstilling påvirker alle brugere på denne telefon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Vil du tillade dataroaming?"</string>
@@ -1278,7 +1278,7 @@
<string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"Skift primær profil, så den svarer til arbejdsprofilen"</string>
<string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Vil du bruge den samme skærmlås?"</string>
<string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Du kan bruge denne lås til din enhed, men den vil være underlagt alle politikker vedrørende skærmlås, som din it-administrator har angivet for arbejdsprofilen.\nVil du bruge den samme skærmlås til din enhed?"</string>
- <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"Det samme som din enhedslås"</string>
+ <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"Den samme som din enhedslås"</string>
<string name="manageapplications_settings_title" msgid="7041951105633616745">"Administrer apps"</string>
<string name="manageapplications_settings_summary" msgid="1794401500935451259">"Administrer og fjern installerede apps"</string>
<string name="applications_settings" msgid="1721442176406964682">"Apps"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Der er i øjeblikket problemer med synkroniseringen. Den etableres igen om lidt."</string>
<string name="add_account_label" msgid="7811707265834013767">"Tilføj konto"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbejdsprofilen er endnu ikke tilgængelig"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Fjern arbejdsprofil"</string>
<string name="background_data" msgid="5779592891375473817">"Baggrundsdata"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Apps kan altid synkronisere, sende og modtage data"</string>
@@ -2362,7 +2366,7 @@
<string name="keywords_default_apps" msgid="223872637509160136">"apps, standard"</string>
<string name="keywords_ignore_optimizations" msgid="6102579291119055029">"ignorer optimeringer, hvil, app-standby"</string>
<string name="keywords_color_mode" msgid="6362744316886077510">"farverig, RGB, sRGB, farve, naturlig, standard"</string>
- <string name="keywords_color_temperature" msgid="2688947724153266364">"farvetemperatur D65 D73 hvid gul blå varm køligt"</string>
+ <string name="keywords_color_temperature" msgid="2688947724153266364">"farvetemperatur D65 D73 hvid gul blå varm kølig"</string>
<string name="keywords_lockscreen" msgid="5746561909668570047">"stryg for at låse op, adgangskode, mønster, pinkode"</string>
<string name="keywords_profile_challenge" msgid="789611397846512845">"arbejdsudfordring, arbejde, profil"</string>
<string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Konfigurer NFC-tag for Wi-Fi"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Åbn hurtigt kameraet uden at låse skærmen op"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom på skærmen"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"visningstæthed, zoom på skærmen, skala, skalering"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Gør alle elementer på skærmen mindre eller større. Visse apps på din startskærm vil muligvis ændre placering, hvis denne indstilling ændres."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Eksempelvisning"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Formindsk"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Forstør"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Der er kun internetforbindelse via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Baggrundsdata er slået fra"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Baggrundsdata er kun tilgængelig via Wi-Fi. Dette kan påvirke nogle apps eller tjenester, når Wi-Fi er ikke tilgængelig."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Forslag (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Fjern"</string>
<string name="color_temperature" msgid="2501579996151717270">"Skærmens farvetemperatur"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Aktivér kølig farvetemperatur"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index ddc0a60..8f31f3d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD-Karte entnehmen"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB-Speicher löschen"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD-Karte löschen"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Text auf dem Display verkleinern oder vergrößern."</string>
<string name="small_font" msgid="2295331917424072635">"Klein"</string>
<string name="medium_font" msgid="2068475425515133701">"Mittel"</string>
<string name="large_font" msgid="599055175160971446">"Groß"</string>
@@ -123,15 +122,15 @@
<string name="device_picker" msgid="4978696506172252813">"Bluetooth-Gerät auswählen"</string>
<string name="bluetooth_permission_request" msgid="1523129741266262748">"Bluetooth-Berechtigungsanfrage"</string>
<string name="bluetooth_ask_enablement" msgid="1712443355224737143">"Eine App fordert die Berechtigung zum Aktivieren von Bluetooth für dieses Gerät an."</string>
- <string name="bluetooth_ask_discovery" product="tablet" msgid="786921566047356213">"Eine App versucht, Ihr Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
- <string name="bluetooth_ask_discovery" product="default" msgid="5510358858113713272">"Eine App versucht, Ihr Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
+ <string name="bluetooth_ask_discovery" product="tablet" msgid="786921566047356213">"Eine App versucht, dein Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
+ <string name="bluetooth_ask_discovery" product="default" msgid="5510358858113713272">"Eine App versucht, dein Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
<string name="bluetooth_ask_lasting_discovery" product="tablet" msgid="8863617309580598607">"Eine App versucht, dein Tablet für andere Bluetooth-Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
<string name="bluetooth_ask_lasting_discovery" product="default" msgid="6487606808683607975">"Eine App versucht, dein Telefon für andere Bluetooth-Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
<string name="bluetooth_ask_start_broadcast" product="default" msgid="3535628155254187911">"Für <xliff:g id="APP_NAME">%1$s</xliff:g> soll die Bluetooth-Übertragung aktiviert werden, um mit anderen Geräten in der Nähe zu kommunizieren. Du kannst dies später in den Bluetooth-Einstellungen ändern."</string>
<string name="bluetooth_ask_enablement_and_start_broadcast" product="default" msgid="8810858601242763295">"Für <xliff:g id="APP_NAME">%1$s</xliff:g> sollen Bluetooth und die Bluetooth-Übertragung aktiviert werden, um mit anderen Geräten in der Nähe zu kommunizieren. Du kannst dies später in den Bluetooth-Einstellungen ändern."</string>
- <string name="bluetooth_broadcasting_explaination" product="default" msgid="4249322115655011799">"Wenn diese Funktion aktiviert ist, kann Ihr Telefon mit anderen Geräten in der Nähe kommunizieren.\n\nFür die Übertragung werden stromsparende Bluetooth-Signale verwendet."</string>
- <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="3346529092809011149">"Eine App versucht, Bluetooth zu aktivieren und Ihr Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
- <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="4724094889807196118">"Eine App versucht, Bluetooth zu aktivieren und Ihr Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
+ <string name="bluetooth_broadcasting_explaination" product="default" msgid="4249322115655011799">"Wenn diese Funktion aktiviert ist, kann dein Telefon mit anderen Geräten in der Nähe kommunizieren.\n\nFür die Übertragung werden stromsparende Bluetooth-Signale verwendet."</string>
+ <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="3346529092809011149">"Eine App versucht, Bluetooth zu aktivieren und dein Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
+ <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="4724094889807196118">"Eine App versucht, Bluetooth zu aktivieren und dein Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
<string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="989613204829097159">"Eine App versucht, Bluetooth zu aktivieren und dein Tablet für andere Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
<string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="6671615712909139801">"Eine App versucht, Bluetooth zu aktivieren und dein Telefon für andere Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
<string name="bluetooth_turning_on" msgid="4850574877288036646">"Bluetooth wird aktiviert..."</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Bei Roaming mit Datendienst verbinden"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Die Datenkonnektivität wurde unterbrochen, weil du dein Heimnetzwerk verlassen hast und Daten-Roaming nicht aktiviert ist."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktivieren"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Wenn du Daten-Roaming zulässt, können hohe Roaming-Gebühren anfallen!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Wenn du Daten-Roaming zulässt, können erhebliche Roaming-Gebühren entstehen.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Wenn du Daten-Roaming zulässt, können erhebliche Roaming-Gebühren entstehen.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Telefon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Daten-Roaming zulassen?"</string>
@@ -330,7 +330,7 @@
<string name="security_settings_fingerprint_enroll_onboard_message_2" msgid="4158160658182631304">"Füge deinen Fingerabdruck hinzu."</string>
<string name="security_settings_fingerprint_enroll_introduction_title" msgid="3201556857492526098">"Mit Fingerabdruck entsperren"</string>
<string name="security_settings_fingerprint_enroll_introduction_message" msgid="9193978734907066950">"Tippe einfach auf den Fingerabdrucksensor, um dein Smartphone zu entsperren, Käufe zu autorisieren oder dich in Apps anzumelden. Überlege genau, welche Fingerabdrücke du hinzufügen möchtest, da diese Aktionen mit allen Fingerabdrücken ausgeführt werden können, die du zu deinem Smartphone hinzufügst."</string>
- <string name="security_settings_fingerprint_enroll_introduction_message_warning" msgid="7173290350577831813">"Hinweis: Ihr Fingerabdruck ist möglicherweise nicht so sicher wie ein komplexes Muster oder eine PIN."</string>
+ <string name="security_settings_fingerprint_enroll_introduction_message_warning" msgid="7173290350577831813">"Hinweis: Dein Fingerabdruck ist möglicherweise nicht so sicher wie ein komplexes Muster oder eine PIN."</string>
<string name="security_settings_fingerprint_enroll_introduction_risk_link_text" msgid="9129531466157620977">"Weitere Informationen"</string>
<string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="3199351118385606526">"Abbrechen"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue" msgid="7472492858148162530">"Weiter"</string>
@@ -368,7 +368,7 @@
<string name="fingerprint_last_delete_title" msgid="6410310101247028988">"Alle Fingerabdrücke entfernen?"</string>
<string name="fingerprint_last_delete_message" msgid="8318926239554839722">"Du kannst dann deine Fingerabdrücke nicht verwenden, um dein Smartphone zu entsperren, Käufe zu autorisieren oder dich in Apps anzumelden."</string>
<string name="fingerprint_last_delete_confirm" msgid="2634726361059274289">"Ja, entfernen"</string>
- <string name="confirm_fingerprint_icon_content_description" msgid="5255544532157079096">"Mithilfe Ihres Fingerabdrucks fortfahren"</string>
+ <string name="confirm_fingerprint_icon_content_description" msgid="5255544532157079096">"Mithilfe deines Fingerabdrucks fortfahren"</string>
<string name="crypt_keeper_settings_title" msgid="4219233835490520414">"Verschlüsselung"</string>
<string name="crypt_keeper_encrypt_title" product="tablet" msgid="1060273569887301457">"Tablet verschlüsseln"</string>
<string name="crypt_keeper_encrypt_title" product="default" msgid="1878996487755806122">"Telefon verschlüsseln"</string>
@@ -427,19 +427,19 @@
<string name="unlock_setup_wizard_fingerprint_details" msgid="7893457665921363009">"Sobald du eine Displaysperre eingerichtet hast, kannst du unter \"Einstellungen\" > \"Sicherheit\" auch deinen Fingerabdruck einrichten."</string>
<string name="unlock_disable_lock_title" msgid="1427036227416979120">"Displaysperre deaktivieren"</string>
<string name="unlock_disable_frp_warning_title" msgid="264008934468492550">"Geräteschutz entfernen?"</string>
- <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"Die Geräteschutzeinstellungen funktionieren ohne Ihr Muster nicht."</string>
+ <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"Die Geräteschutzeinstellungen funktionieren ohne dein Muster nicht."</string>
<string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8212242533942400457">"Die Geräteschutzeinstellungen funktionieren ohne dein Muster nicht.<xliff:g id="EMPTY_LINE">
</xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
- <string name="unlock_disable_frp_warning_content_pin" msgid="586996206210265131">"Die Geräteschutzeinstellungen funktionieren ohne Ihre PIN nicht."</string>
+ <string name="unlock_disable_frp_warning_content_pin" msgid="586996206210265131">"Die Geräteschutzeinstellungen funktionieren ohne deine PIN nicht."</string>
<string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="875669051899437197">"Die Geräteschutzeinstellungen funktionieren ohne deine PIN nicht.<xliff:g id="EMPTY_LINE">
</xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
- <string name="unlock_disable_frp_warning_content_password" msgid="5420612686852555537">"Die Geräteschutzeinstellungen funktionieren ohne Ihr Passwort nicht."</string>
+ <string name="unlock_disable_frp_warning_content_password" msgid="5420612686852555537">"Die Geräteschutzeinstellungen funktionieren ohne dein Passwort nicht."</string>
<string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="2228159168587170445">"Die Geräteschutzeinstellungen funktionieren ohne dein Passwort nicht.<xliff:g id="EMPTY_LINE">
</xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
- <string name="unlock_disable_frp_warning_content_unknown" msgid="1550718040483548220">"Die Geräteschutzeinstellungen funktionieren ohne Ihre Displaysperre nicht."</string>
+ <string name="unlock_disable_frp_warning_content_unknown" msgid="1550718040483548220">"Die Geräteschutzeinstellungen funktionieren ohne deine Displaysperre nicht."</string>
<string name="unlock_disable_frp_warning_content_unknown_fingerprint" msgid="6363091330281670692">"Die Geräteschutzeinstellungen funktionieren ohne deine Displaysperre nicht.<xliff:g id="EMPTY_LINE">
</xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
@@ -513,7 +513,7 @@
) -->
<string name="bluetooth_incoming_pairing_msg" msgid="1615930853859551491">"Von:<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Pairing mit diesem Gerät durchführen?"</string>
<string name="bluetooth_display_passkey_pin_msg" msgid="2796550001376088433">"Gib zum Pairing mit <xliff:g id="BOLD1_0"><br><b></xliff:g><xliff:g id="DEVICE_NAME">%1$s</xliff:g><xliff:g id="END_BOLD1"></b><br><br></xliff:g> <xliff:g id="BOLD2_1"><br><b></xliff:g><xliff:g id="PASSKEY">%2$s</xliff:g><xliff:g id="END_BOLD2"></b></xliff:g> ein und drücke anschließend die Eingabetaste."</string>
- <string name="bluetooth_pairing_shares_phonebook" msgid="2277931851483023208">"Zulassen, dass <xliff:g id="DEVICE_NAME">%1$s</xliff:g> auf Ihre Kontakte und Ihre Anrufliste zugreifen kann"</string>
+ <string name="bluetooth_pairing_shares_phonebook" msgid="2277931851483023208">"Zulassen, dass <xliff:g id="DEVICE_NAME">%1$s</xliff:g> auf deine Kontakte und deine Anrufliste zugreifen kann"</string>
<string name="bluetooth_error_title" msgid="6850384073923533096"></string>
<string name="bluetooth_connecting_error_message" msgid="1397388344342081090">"Keine Verbindung zu <xliff:g id="DEVICE_NAME">%1$s</xliff:g> möglich"</string>
<string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"Scan nach Geräten"</string>
@@ -527,8 +527,8 @@
<string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakte und Anrufliste"</string>
<string name="bluetooth_pairing_dialog_title" msgid="1417255032435317301">"Pairing mit diesem Gerät durchführen?"</string>
<string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Telefonbuch teilen?"</string>
- <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> fordert Zugriff auf Ihre Kontakte und Ihre Anrufliste an."</string>
- <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> möchte ein Bluetooth-Pairing durchführen und hat dann Zugriff auf Ihre Kontakte und Ihre Anrufliste."</string>
+ <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> fordert Zugriff auf deine Kontakte und deine Anrufliste an."</string>
+ <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> möchte ein Bluetooth-Pairing durchführen und hat dann Zugriff auf deine Kontakte und deine Anrufliste."</string>
<string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Pairing-Geräte"</string>
<string name="bluetooth_preference_found_devices" msgid="1647983835063249680">"Verfügbar"</string>
<string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Keine Geräte verfügbar"</string>
@@ -540,7 +540,7 @@
<string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Optionen..."</string>
<string name="bluetooth_menu_advanced" msgid="8572178316357220524">"Erweitert"</string>
<string name="bluetooth_advanced_titlebar" msgid="2142159726881547669">"Bluetooth - Erweitert"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="6351930724051893423">"Bei aktiviertem Bluetooth kann Ihr Gerät mit Bluetooth-Geräten in der Nähe kommunizieren."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="6351930724051893423">"Bei aktiviertem Bluetooth kann dein Gerät mit Bluetooth-Geräten in der Nähe kommunizieren."</string>
<string name="ble_scan_notify_text" msgid="1295915006005700650">"Zur Erhöhung der Standortgenauigkeit können System-Apps und -dienste Bluetooth-Geräte weiterhin erkennen. Du kannst dies unter <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>Sucheinstellungen<xliff:g id="LINK_END_1">LINK_END</xliff:g> ändern."</string>
<string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"Verbinden mit..."</string>
<string name="bluetooth_disconnect_a2dp_profile" msgid="3524648279150937177">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wird vom Medien-Audiosystem getrennt."</string>
@@ -685,7 +685,7 @@
<string name="wifi_scan_always_confirm_allow" msgid="5355973075896817232">"Zulassen"</string>
<string name="wifi_scan_always_confirm_deny" msgid="4463982053823520710">"Ablehnen"</string>
<string name="wifi_hotspot_title" msgid="7726205804813286950">"Zum Verbinden anmelden?"</string>
- <string name="wifi_hotspot_message" msgid="3673833421453455747">"<xliff:g id="APP_NAME">%1$s</xliff:g> erfordert vor dem Verbinden mit dem Netzwerk Ihre Onlineameldung."</string>
+ <string name="wifi_hotspot_message" msgid="3673833421453455747">"<xliff:g id="APP_NAME">%1$s</xliff:g> erfordert vor dem Verbinden mit dem Netzwerk deine Onlineanmeldung."</string>
<string name="wifi_hotspot_connect" msgid="5065506390164939225">"Verbinden"</string>
<string name="no_internet_access_text" msgid="7133561752896706392">"Dieses Netzwerk hat keinen Internetzugriff. Verbindung beibehalten?"</string>
<string name="no_internet_access_remember" msgid="4697314331614625075">"Für dieses Netzwerk nicht mehr fragen"</string>
@@ -991,7 +991,7 @@
<string name="usb_ptp_title" msgid="3852760810622389620">"Kamera (PTP)"</string>
<string name="usb_ptp_summary" msgid="7406889433172511530">"Ermöglicht die Übertragung von Fotos mithilfe der Kamera-Software sowie die Übertragung von Dateien auf Computer, die MTP nicht unterstützen"</string>
<string name="usb_midi_title" msgid="3069990264258413994">"MIDI"</string>
- <string name="usb_midi_summary" msgid="539169474810956358">"Lässt MIDI-kompatible Apps über USB mit MIDI-Software auf Ihrem Computer arbeiten"</string>
+ <string name="usb_midi_summary" msgid="539169474810956358">"Lässt MIDI-kompatible Apps über USB mit MIDI-Software auf deinem Computer arbeiten"</string>
<string name="storage_other_users" msgid="808708845102611856">"Andere Nutzer"</string>
<string name="storage_internal_title" msgid="690771193137801021">"Gerätespeicher"</string>
<string name="storage_external_title" msgid="3433462910096848696">"Mobiler Speicher"</string>
@@ -1027,7 +1027,7 @@
<string name="storage_wizard_init_external_title" msgid="4867326438945303598">"Als tragbaren Speicher verwenden"</string>
<string name="storage_wizard_init_external_summary" msgid="7476105886344565074">"Zum Übertragen von Fotos und anderen Medien zwischen Geräten"</string>
<string name="storage_wizard_init_internal_title" msgid="9100613534261408519">"Als internen Speicher verwenden"</string>
- <string name="storage_wizard_init_internal_summary" msgid="6240417501036216410">"Zum Speichern Ihrer Daten wie Apps und Fotos nur auf diesem Gerät. Eine Formatierung ist erforderlich. Dadurch kann das Speichermedium nicht mit anderen Geräten verwendet werden."</string>
+ <string name="storage_wizard_init_internal_summary" msgid="6240417501036216410">"Zum Speichern deiner Daten wie Apps und Fotos nur auf diesem Gerät. Eine Formatierung ist erforderlich. Dadurch kann das Speichermedium nicht mit anderen Geräten verwendet werden."</string>
<string name="storage_wizard_format_confirm_title" msgid="2814021794538252546">"Als internen Speicher formatieren"</string>
<string name="storage_wizard_format_confirm_body" msgid="4401758710076806509">"Um die Sicherheit zu gewährleisten, muss die <xliff:g id="NAME_0">^1</xliff:g> zuerst formatiert werden. \n\nDanach ist die <xliff:g id="NAME_1">^1</xliff:g> ausschließlich für dieses Gerät formatiert und funktioniert nicht mit anderen Geräten. \n\n"<b>"Durch die Formatierung werden alle derzeit auf der <xliff:g id="NAME_2">^1</xliff:g> gespeicherten Daten gelöscht."</b>" Um den Verlust von Daten zu verhindern, sichere sie vor der Formatierung."</string>
<string name="storage_wizard_format_confirm_public_title" msgid="4905690038882041566">"Als tragbaren Speicher formatieren"</string>
@@ -1106,8 +1106,8 @@
<string name="reset_network_complete_toast" msgid="787829973559541880">"Die Netzwerkeinstellungen wurden zurückgesetzt."</string>
<string name="device_reset_title" msgid="2384019005638768076">"Gerät zurücksetzen"</string>
<string name="master_clear_title" msgid="5907939616087039756">"Auf Werkszustand zurück"</string>
- <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" Ihres Tablets gelöscht, u. a.\n\n"<li>"Ihr Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"Heruntergeladene Apps"</li></string>
- <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" Ihres Telefons gelöscht, u. a.\n\n"<li>"Ihr Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"Heruntergeladene Apps"</li></string>
+ <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" deines Tablets gelöscht, u. a.\n\n"<li>"dein Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"heruntergeladene Apps"</li></string>
+ <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" deines Telefons gelöscht, u. a.\n\n"<li>"dein Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"heruntergeladene Apps"</li></string>
<string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Du bist zurzeit in folgenden Konten angemeldet:\n"</string>
<string name="master_clear_other_users_present" product="default" msgid="5161423070702470742">\n\n"Auf diesem Gerät sind andere Nutzer vorhanden.\n"</string>
<string name="master_clear_desc_also_erases_external" msgid="1903185203791274237"><li>"Musik"</li>\n<li>"Fotos"</li>\n<li>"Sonstige Nutzerdaten"</li></string>
@@ -1255,7 +1255,7 @@
<string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"Verbinde mindestens <xliff:g id="NUMBER">%d</xliff:g> Punkte. Bitte versuche es erneut."</string>
<string name="lockpattern_pattern_entered_header" msgid="4316818983675591604">"Muster wurde aufgezeichnet."</string>
<string name="lockpattern_need_to_confirm" msgid="8054853451639221265">"Zeichne das Muster zur Bestätigung erneut."</string>
- <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"Ihr neues Entsperrungsmuster:"</string>
+ <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"Dein neues Entsperrungsmuster:"</string>
<string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"Bestätigen"</string>
<string name="lockpattern_restart_button_text" msgid="3337574403350953926">"Neu aufzeichnen"</string>
<string name="lockpattern_retry_button_text" msgid="3480423193273588166">"Löschen"</string>
@@ -1367,10 +1367,10 @@
<string name="app_factory_reset_dlg_text" msgid="6371247225487725860">"Alle Updates für diese Android-System-App werden deinstalliert."</string>
<string name="clear_failed_dlg_title" msgid="2387060805294783175">"Daten löschen"</string>
<string name="clear_failed_dlg_text" msgid="5464475937929941008">"Daten können nicht für App gelöscht werden."</string>
- <string name="security_settings_desc" product="tablet" msgid="1292421279262430109">"Diese App kann auf die folgenden Funktionen Ihres Tablets zugreifen:"</string>
- <string name="security_settings_desc" product="default" msgid="61749028818785244">"Diese App kann auf die folgenden Funktionen Ihres Telefons zugreifen:"</string>
- <string name="security_settings_desc_multi" product="tablet" msgid="7300932212437084403">"Diese App kann auf Folgendes auf Ihrem Tablet zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
- <string name="security_settings_desc_multi" product="default" msgid="6610268420793984752">"Diese App kann auf Folgendes auf Ihrem Telefon zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
+ <string name="security_settings_desc" product="tablet" msgid="1292421279262430109">"Diese App kann auf die folgenden Funktionen deines Tablets zugreifen:"</string>
+ <string name="security_settings_desc" product="default" msgid="61749028818785244">"Diese App kann auf die folgenden Funktionen deines Telefons zugreifen:"</string>
+ <string name="security_settings_desc_multi" product="tablet" msgid="7300932212437084403">"Diese App kann auf Folgendes auf deinem Tablet zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
+ <string name="security_settings_desc_multi" product="default" msgid="6610268420793984752">"Diese App kann auf Folgendes auf deinem Telefon zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
<string name="join_two_items" msgid="1336880355987539064">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> und <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
<string name="join_many_items_last" msgid="5925635036718502724">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> und <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
<string name="join_many_items_first" msgid="4333907712038448660">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
@@ -1589,7 +1589,7 @@
<string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Einstellungen"</string>
<string name="accessibility_feature_state_on" msgid="2864292320042673806">"An"</string>
<string name="accessibility_feature_state_off" msgid="4172584906487070211">"Aus"</string>
- <string name="accessibility_feature_or_input_method_not_allowed" msgid="5950315477009501647">"Von Ihrem Unternehmen nicht zugelassen"</string>
+ <string name="accessibility_feature_or_input_method_not_allowed" msgid="5950315477009501647">"Von deinem Unternehmen nicht zugelassen"</string>
<string name="captioning_preview_title" msgid="1234015253497016890">"Vorschau"</string>
<string name="captioning_standard_options_title" msgid="3284211791180335844">"Standardoptionen"</string>
<string name="captioning_locale" msgid="4559155661018823503">"Sprache"</string>
@@ -1622,13 +1622,13 @@
<string name="color_magenta" msgid="5059212823607815549">"Magenta"</string>
<string name="enable_service_title" msgid="3061307612673835592">"<xliff:g id="SERVICE">%1$s</xliff:g> verwenden?"</string>
<string name="capabilities_list_title" msgid="86713361724771971">"<xliff:g id="SERVICE">%1$s</xliff:g> muss:"</string>
- <string name="touch_filtered_warning" msgid="8644034725268915030">"Ihre Eingabe wird von \"Einstellungen\" nicht erkannt, weil eine App die Berechtigungsanfrage verdeckt."</string>
+ <string name="touch_filtered_warning" msgid="8644034725268915030">"Deine Eingabe wird von \"Einstellungen\" nicht erkannt, weil eine App die Berechtigungsanfrage verdeckt."</string>
<string name="enable_service_encryption_warning" msgid="3064686622453974606">"Wenn du <xliff:g id="SERVICE">%1$s</xliff:g> aktivierst, verwendet dein Gerät nicht die Displaysperre, um die Datenverschlüsselung zu verbessern."</string>
<string name="secure_lock_encryption_warning" msgid="460911459695077779">"Da du eine Bedienungshilfe aktiviert hast, verwendet dein Gerät nicht die Displaysperre, um die Datenverschlüsselung zu verbessern."</string>
<string name="enable_service_pattern_reason" msgid="777577618063306751">"Da die Aktivierung von <xliff:g id="SERVICE">%1$s</xliff:g> Auswirkungen auf die Datenverschlüsselung hat, musst du dein Muster bestätigen."</string>
<string name="enable_service_pin_reason" msgid="7882035264853248228">"Da die Aktivierung von <xliff:g id="SERVICE">%1$s</xliff:g> Auswirkungen auf die Datenverschlüsselung hat, musst du deine PIN bestätigen."</string>
<string name="enable_service_password_reason" msgid="1224075277603097951">"Da die Aktivierung von <xliff:g id="SERVICE">%1$s</xliff:g> Auswirkungen auf die Datenverschlüsselung hat, musst du dein Passwort bestätigen."</string>
- <string name="capability_title_receiveAccessibilityEvents" msgid="1869032063969970755">"Ihre Aktionen beobachten"</string>
+ <string name="capability_title_receiveAccessibilityEvents" msgid="1869032063969970755">"Deine Aktionen beobachten"</string>
<string name="capability_desc_receiveAccessibilityEvents" msgid="6640333613848713883">"Erhalte Benachrichtigungen, wenn du mit der App interagierst."</string>
<string name="disable_service_title" msgid="3624005212728512896">"<xliff:g id="SERVICE">%1$s</xliff:g> beenden?"</string>
<string name="disable_service_message" msgid="2012273739481042318">"Durch Berühren von \"OK\" wird <xliff:g id="SERVICE">%1$s</xliff:g> beendet."</string>
@@ -1877,7 +1877,7 @@
<string name="backup_inactive_title" msgid="5355557151569037197">"Der Sicherungsdienst ist inaktiv."</string>
<string name="backup_configure_account_default_summary" msgid="2436933224764745553">"Zurzeit werden in keinem Konto gesicherte Daten gespeichert."</string>
<string name="backup_erase_dialog_title" msgid="1027640829482174106"></string>
- <string name="backup_erase_dialog_message" msgid="5221011285568343155">"Sicherung Ihrer WLAN-Passwörter, Lesezeichen, anderer Einstellungen und App-Daten beenden und alle Kopien auf Google-Servern löschen?"</string>
+ <string name="backup_erase_dialog_message" msgid="5221011285568343155">"Sicherung deiner WLAN-Passwörter, Lesezeichen, anderer Einstellungen und App-Daten beenden und alle Kopien auf Google-Servern löschen?"</string>
<string name="fullbackup_erase_dialog_message" msgid="694766389396659626">"Soll das Sichern von Gerätedaten, wie z. B WLAN-Passwörtern und Anrufliste, sowie App-Daten, wie z. B. Einstellungen und von Apps gespeicherten Dateien, beendet werden und sollen alle Kopien auf Remote-Servern gelöscht werden?"</string>
<string name="fullbackup_data_summary" msgid="960850365007767734">"Automatische Remote-Sicherung von Gerätedaten wie WLAN-Passwörtern und Anrufverlauf und App-Daten, z. B. Einstellungen und von Apps gespeicherte Dateien\n\nWenn du die automatische Sicherung aktivierst, werden Geräte- und App-Daten regelmäßig an einem Remote-Speicherort gespeichert. Bei App-Daten kann es sich um alle Daten handeln, die von einer App entsprechend den Entwicklereinstellungen gespeichert wurden, einschließlich potenziell sensibler Daten wie Kontakten, Nachrichten und Fotos."</string>
<string name="device_admin_settings_title" msgid="1335557832906433309">"Einstellungen für die Geräteverwaltung"</string>
@@ -1938,6 +1938,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Bei der Synchronisierung treten momentan Probleme auf. Sie wird in Kürze fortgesetzt."</string>
<string name="add_account_label" msgid="7811707265834013767">"Konto hinzufügen"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbeitsprofil ist noch nicht verfügbar."</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Arbeitsprofil entfernen"</string>
<string name="background_data" msgid="5779592891375473817">"Hintergrunddaten"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Daten können jederzeit synchronisiert, gesendet und empfangen werden."</string>
@@ -1969,7 +1973,7 @@
<string name="really_remove_account_title" msgid="8800653398717172460">"Konto entfernen?"</string>
<string name="really_remove_account_message" product="tablet" msgid="1936147502815641161">"Durch das Entfernen dieses Kontos werden alle zugehörigen Nachrichten, Kontakte und andere Daten vom Tablet gelöscht!"</string>
<string name="really_remove_account_message" product="default" msgid="3483528757922948356">"Durch das Entfernen dieses Kontos werden alle seine Nachrichten, Kontakte und andere Daten vom Telefon gelöscht!"</string>
- <string name="remove_account_failed" msgid="6980737964448187854">"Ihr Administrator lässt diese Änderung nicht zu."</string>
+ <string name="remove_account_failed" msgid="6980737964448187854">"Dein Administrator lässt diese Änderung nicht zu."</string>
<string name="provider_label" msgid="7724593781904508866">"Push-Abos"</string>
<!-- no translation found for sync_item_title (4782834606909853006) -->
<skip />
@@ -1992,7 +1996,7 @@
<string name="select_all" msgid="1562774643280376715">"Alles auswählen"</string>
<string name="data_usage_summary_title" msgid="3804110657238092929">"Datenverbrauch"</string>
<string name="data_usage_app_summary_title" msgid="4147258989837459172">"Datennutzung durch Apps"</string>
- <string name="data_usage_accounting" msgid="7170028915873577387">"Ihr Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
+ <string name="data_usage_accounting" msgid="7170028915873577387">"Dein Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
<string name="data_usage_app" msgid="4970478397515423303">"App-Nutzung"</string>
<string name="data_usage_app_info_label" msgid="3409931235687866706">"Informationen zur App"</string>
<string name="data_usage_cellular_data" msgid="4859424346276043677">"Mobilfunkdaten"</string>
@@ -2075,7 +2079,7 @@
<string name="data_usage_metered_mobile" msgid="2326986339431119372">"Mobilfunknetze"</string>
<string name="data_usage_metered_wifi" msgid="1761738002328299714">"Kostenpflichtige WLANs"</string>
<string name="data_usage_metered_wifi_disabled" msgid="727808462375941567">"Um kostenpflichtige Netzwerke auszuwählen, aktiviere WLAN."</string>
- <string name="data_usage_disclaimer" msgid="6887858149980673444">"Ihr Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
+ <string name="data_usage_disclaimer" msgid="6887858149980673444">"Dein Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
<string name="cryptkeeper_emergency_call" msgid="198578731586097145">"Notruf"</string>
<string name="cryptkeeper_return_to_call" msgid="5613717339452772491">"Zurück zum Anruf"</string>
<string name="vpn_name" msgid="4689699885361002297">"Name"</string>
@@ -2145,7 +2149,7 @@
<string name="done_button" msgid="1991471253042622230">"Fertig"</string>
<string name="ssl_ca_cert_dialog_title" msgid="5339377665264149395">"Netzwerküberwachung"</string>
<string name="ssl_ca_cert_info_message" msgid="4583879256548819713">"Dieses Gerät wird verwaltet von:\n<xliff:g id="MANAGING_DOMAIN">%s</xliff:g>\n\nDein Administrator kann deine Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nWende sich für weitere Informationen an deinen Administrator."</string>
- <string name="ssl_ca_cert_warning_message" msgid="8216218659139190498">"Dritte können Ihre Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nDies wird durch vertrauenswürdige Anmeldedaten ermöglicht, die auf Ihrem Gerät installiert sind."</string>
+ <string name="ssl_ca_cert_warning_message" msgid="8216218659139190498">"Dritte können deine Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nDies wird durch vertrauenswürdige Anmeldedaten ermöglicht, die auf deinem Gerät installiert sind."</string>
<string name="ssl_ca_cert_settings_button" msgid="8760495070836213605">"Vertrauenswürdige Anmeldedaten überprüfen"</string>
<string name="user_settings_title" msgid="6151874007858148344">"Nutzer"</string>
<string name="user_list_title" msgid="7937158411137563543">"Nutzer & Profile"</string>
@@ -2170,7 +2174,7 @@
<string name="user_add_user_message_long" msgid="8562152293752222985">"Du kannst dieses Gerät für andere Nutzer freigeben, indem du weitere Nutzer erstellst. Jeder Nutzer erhält einen eigenen Bereich, in dem er Apps, den Hintergrund usw. personalisieren kann. Jeder Nutzer kann zudem Geräteeinstellungen wie WLAN ändern, die sich auf alle Nutzer auswirken.\n\nWenn du einen neuen Nutzer hinzufügst, muss dieser seinen Bereich einrichten.\n\nJeder Nutzer kann Apps für alle anderen Nutzer aktualisieren."</string>
<string name="user_add_user_message_short" msgid="1511354412249044381">"Wenn du einen neuen Nutzer hinzufügst, muss dieser seinen Bereich einrichten.\n\nJeder Nutzer kann Apps für alle anderen Nutzer aktualisieren."</string>
<string name="user_setup_dialog_title" msgid="1765794166801864563">"Nutzer jetzt einrichten?"</string>
- <string name="user_setup_dialog_message" msgid="1004068621380867148">"Die Person muss Zugang zu dem Gerät haben und ihren Speicherplatz einrichten."</string>
+ <string name="user_setup_dialog_message" msgid="1004068621380867148">"Die Person muss Zugang zu dem Gerät haben und deinen Speicherplatz einrichten."</string>
<string name="user_setup_profile_dialog_message" msgid="3896568553327558731">"Profil jetzt einrichten?"</string>
<string name="user_setup_button_setup_now" msgid="3391388430158437629">"Jetzt einrichten"</string>
<string name="user_setup_button_setup_later" msgid="3068729597269172401">"Nicht jetzt"</string>
@@ -2217,7 +2221,7 @@
<string name="global_locale_change_title" msgid="5956281361384221451">"Sprache ändern"</string>
<string name="nfc_payment_settings_title" msgid="1807298287380821613">"Mobil bezahlen"</string>
<string name="nfc_payment_how_it_works" msgid="3028822263837896720">"Funktionsweise"</string>
- <string name="nfc_payment_no_apps" msgid="5477904979148086424">"Mit Ihrem Smartphone in Geschäften bezahlen"</string>
+ <string name="nfc_payment_no_apps" msgid="5477904979148086424">"Mit deinem Smartphone in Geschäften bezahlen"</string>
<string name="nfc_payment_default" msgid="8648420259219150395">"Standard-App für Zahlungen"</string>
<string name="nfc_payment_default_not_set" msgid="7485060884228447765">"Nicht festgelegt"</string>
<string name="nfc_payment_app_and_desc" msgid="7942415346564794258">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
@@ -2263,8 +2267,8 @@
<string name="user_rename" msgid="8523499513614655279">"Umbenennen"</string>
<string name="app_restrictions_custom_label" msgid="6160672982086584261">"App-Beschränkungen festlegen"</string>
<string name="user_restrictions_controlled_by" msgid="3164078767438313899">"Von <xliff:g id="APP">%1$s</xliff:g> festgelegt"</string>
- <string name="app_sees_restricted_accounts" msgid="7503264525057246240">"Diese App darf auf Ihre Konten zugreifen."</string>
- <string name="app_sees_restricted_accounts_and_controlled_by" msgid="6968697624437267294">"Diese App darf auf Ihre Konten zugreifen. Von <xliff:g id="APP">%1$s</xliff:g> festgelegt"</string>
+ <string name="app_sees_restricted_accounts" msgid="7503264525057246240">"Diese App darf auf deine Konten zugreifen."</string>
+ <string name="app_sees_restricted_accounts_and_controlled_by" msgid="6968697624437267294">"Diese App darf auf deine Konten zugreifen. Von <xliff:g id="APP">%1$s</xliff:g> festgelegt"</string>
<string name="restriction_wifi_config_title" msgid="8889556384136994814">"WLAN und mobile Nutzung"</string>
<string name="restriction_wifi_config_summary" msgid="70888791513065244">"Änderungen an Einstellungen für WLAN und mobile Nutzung zulassen"</string>
<string name="restriction_bluetooth_config_title" msgid="8871681580962503671">"Bluetooth"</string>
@@ -2274,7 +2278,7 @@
<string name="restriction_nfc_enable_summary" product="tablet" msgid="3891097373396149915">"Datenaustausch bei Kontakt mit anderen Geräten zulassen"</string>
<string name="restriction_nfc_enable_summary" product="default" msgid="825331120501418592">"Datenaustausch bei Kontakt mit anderen Geräten zulassen"</string>
<string name="restriction_location_enable_title" msgid="5020268888245775164">"Standort"</string>
- <string name="restriction_location_enable_summary" msgid="3489765572281788755">"Apps die Verwendung Ihrer Standortinformationen gestatten"</string>
+ <string name="restriction_location_enable_summary" msgid="3489765572281788755">"Apps die Verwendung deiner Standortinformationen gestatten"</string>
<string name="wizard_back" msgid="5567007959434765743">"Zurück"</string>
<string name="wizard_next" msgid="3606212602795100640">"Weiter"</string>
<string name="wizard_finish" msgid="3286109692700083252">"Fertig"</string>
@@ -2312,7 +2316,7 @@
<string name="sim_other_call_settings" msgid="8247802316114482477">"Sonstige Anrufeinstellungen"</string>
<string name="preferred_network_offload_title" msgid="1605829724169550275">"Bevorzugtes Netzwerk entlasten"</string>
<string name="preferred_network_offload_header" msgid="2321173571529106767">"Netzwerknamenübertr. deaktivieren"</string>
- <string name="preferred_network_offload_footer" msgid="5857279426054744020">"Bei deaktivierter Netzwerknamenübertragung können Dritte nicht auf Ihre Netzwerkinformationen zugreifen."</string>
+ <string name="preferred_network_offload_footer" msgid="5857279426054744020">"Bei deaktivierter Netzwerknamenübertragung können Dritte nicht auf deine Netzwerkinformationen zugreifen."</string>
<string name="preferred_network_offload_popup" msgid="2252915199889604600">"Bei deaktivierter Netzwerknamenübertragung ist keine autom. Verbindung zu verborgenen Netzwerken möglich."</string>
<string name="sim_signal_strength" msgid="9144010043784767984">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
<string name="sim_notification_title" msgid="6272913297433198340">"SIM-Karten wurden geändert"</string>
@@ -2412,7 +2416,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Gesamten Nachrichteninhalt anzeigen"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7891552853357258782">"Vertrauliche Benachrichtigungsinhalte ausblenden"</string>
<string name="lock_screen_notifications_summary_disable" msgid="859628910427886715">"Keine Benachrichtigungen anzeigen"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="6164532459432182244">"Wie sollen Benachrichtigungen angezeigt werden, wenn Ihr Gerät gesperrt ist?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6164532459432182244">"Wie sollen Benachrichtigungen angezeigt werden, wenn dein Gerät gesperrt ist?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1416589393106326972">"Benachrichtigungen"</string>
<string name="app_notifications_title" msgid="139788604658984593">"Benachrichtigungen"</string>
<string name="topic_notifications_title" msgid="7243623930984080881">"Benachrichtigungen zu Themen"</string>
@@ -2432,7 +2436,7 @@
</plurals>
<string name="no_notification_listeners" msgid="3487091564454192821">"Keine installierte App hat Benachrichtigungszugriff angefordert."</string>
<string name="notification_listener_security_warning_title" msgid="5522924135145843279">"Benachrichtigungszugriff für <xliff:g id="SERVICE">%1$s</xliff:g> zulassen?"</string>
- <string name="notification_listener_security_warning_summary" msgid="548925084229440829">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> darf alle Benachrichtigungen lesen. Darin können persönliche Daten wie Kontaktnamen oder Inhalte Ihrer erhaltenen Nachrichten enthalten sein. Der Listener kann diese Benachrichtigungen außerdem schließen oder Schaltflächen in den Benachrichtigungen betätigen."</string>
+ <string name="notification_listener_security_warning_summary" msgid="548925084229440829">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> darf alle Benachrichtigungen lesen. Darin können persönliche Daten wie Kontaktnamen oder Inhalte deiner erhaltenen Nachrichten enthalten sein. Der Listener kann diese Benachrichtigungen außerdem schließen oder Schaltflächen in den Benachrichtigungen betätigen."</string>
<string name="manage_zen_access_title" msgid="2611116122628520522">"Zugriff während \"Nicht stören\""</string>
<string name="zen_access_empty_text" msgid="8772967285742259540">"Keine installierte App hat während \"Nicht stören\" Zugriff angefordert."</string>
<string name="loading_notification_apps" msgid="5031818677010335895">"Apps werden geladen..."</string>
@@ -2660,7 +2664,7 @@
<string name="high_power_on" msgid="6216293998227583810">"Nicht optimiert"</string>
<string name="high_power_off" msgid="3393904131961263278">"Akkuverbrauch optimiert"</string>
<string name="high_power_system" msgid="7362862974428225301">"Akku-Leistungsoptimierung nicht verfügbar"</string>
- <string name="high_power_desc" msgid="6283926163708585760">"Keine Optimierung bezüglich der Akkuleistung anwenden. Ihr Akku entleert sich hierdurch möglicherweise schneller."</string>
+ <string name="high_power_desc" msgid="6283926163708585760">"Keine Optimierung bezüglich der Akkuleistung anwenden. Dein Akku entleert sich hierdurch möglicherweise schneller."</string>
<plurals name="high_power_count" formatted="false" msgid="2464701722383894640">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> Apps wurde die Optimierung bezüglich der Akkuleistung gestattet.</item>
<item quantity="one">1 App wurde die Optimierung bezüglich der Akkuleistung gestattet.</item>
@@ -2720,11 +2724,11 @@
<string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Alle von dieser App erstellten \"Bitte nicht stören\"-Regeln werden entfernt."</string>
<string name="ignore_optimizations_on" msgid="6915689518016285116">"Nicht optimieren"</string>
<string name="ignore_optimizations_off" msgid="6153196256410296835">"Optimieren"</string>
- <string name="ignore_optimizations_on_desc" msgid="2321398930330555815">"Ihr Akku entleert sich hierdurch möglicherweise schneller."</string>
+ <string name="ignore_optimizations_on_desc" msgid="2321398930330555815">"Dein Akku entleert sich hierdurch möglicherweise schneller."</string>
<string name="ignore_optimizations_off_desc" msgid="5255731062045426544">"Zur Verlängerung der Akkulaufzeit empfohlen"</string>
<string name="ignore_optimizations_title" msgid="2829637961185027768">"<xliff:g id="APP">%s</xliff:g> das Ignorieren von Akku-Leistungsoptimierungen gestatten?"</string>
<string name="app_list_preference_none" msgid="108006867520327904">"Keine"</string>
- <string name="work_profile_usage_access_warning" msgid="8870622842216566692">"Das Deaktivieren des Zugriffs auf Nutzungsdaten für diese App hindert Ihren Administrator nicht am Erfassen der Datennutzung für Apps in Ihrem Arbeitsprofil."</string>
+ <string name="work_profile_usage_access_warning" msgid="8870622842216566692">"Das Deaktivieren des Zugriffs auf Nutzungsdaten für diese App hindert deinen Administrator nicht am Erfassen der Datennutzung für Apps in deinem Arbeitsprofil."</string>
<string name="accessibility_lock_screen_progress" msgid="2408292742980383166">"<xliff:g id="COUNT_0">%1$d</xliff:g> von <xliff:g id="COUNT_1">%2$d</xliff:g> Zeichen verwendet"</string>
<string name="draw_overlay_title" msgid="4003905926278954971">"Apps, die über anderen Apps einblendbar sind"</string>
<string name="draw_overlay" msgid="9078696044299199938">"Über anderen Apps einblenden"</string>
@@ -2757,8 +2761,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Kamera ohne Entsperren des Displays schnell öffnen"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Displayzoom"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"kompaktheitsgrad, bildschirm zoom, display zoom, maßstab, skalierung, skalieren"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Alle Elemente auf dem Display verkleinern oder vergrößern. Wenn du diese Einstellungen änderst, verschieben sich unter Umständen einige Apps auf deinem Startbildschirm."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vorschau"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Verkleinern"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Vergrößern"</string>
@@ -2802,8 +2805,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Eine Internetverbindung kann nur über WLAN hergestellt werden."</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Hintergrunddaten deaktiviert"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Hintergrunddaten sind nur über WLAN verfügbar. Diese Einstellung kann sich auf einige Apps oder Dienste auswirken, wenn kein WLAN verfügbar ist."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Vorschläge (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Entfernen"</string>
<string name="color_temperature" msgid="2501579996151717270">"Display-Farbtemperatur"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Kalte Farben aktivieren"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"WLAN"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 1a282e8..410f004 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Αφαίρεση κάρτας SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Διαγρ. αποθ. χώρου USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Διαγραφή κάρτας SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Κάντε το κείμενο στην οθόνη μικρότερο ή μεγαλύτερο."</string>
<string name="small_font" msgid="2295331917424072635">"Μικρό"</string>
<string name="medium_font" msgid="2068475425515133701">"Μέτριο"</string>
<string name="large_font" msgid="599055175160971446">"Μεγάλο"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Χάσατε τη σύνδεση δεδομένων επειδή φύγατε από το οικείο δίκτυο έχοντας την περιαγωγή δεδομένων απενεργοποιημένη."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ενεργοποίηση"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να επιβαρυνθείτε με σημαντικές χρεώσεις περιαγωγής!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύσουν σημαντικές χρεώσεις περιαγωγής!\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες στο συγκεκριμένο tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύσουν σημαντικές χρεώσεις περιαγωγής!\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες στο συγκεκριμένο τηλέφωνο."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Να επιτρέπεται η περιαγωγή δεδομένων;"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Ο συγχρονισμός αντιμετωπίζει προβλήματα αυτήν τη στιγμή. Θα είναι διαθέσιμο ξανά σύντομα."</string>
<string name="add_account_label" msgid="7811707265834013767">"Προσθήκη λογαριασμού"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Το προφίλ εργασίας δεν είναι διαθέσιμο ακόμη"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Κατάργηση προφίλ εργασίας"</string>
<string name="background_data" msgid="5779592891375473817">"Δεδομένα παρασκηνίου"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Οι εφαρμογές συγχρονίζονται και αποστέλλουν/λαμβάνουν δεδομένα οποτεδήποτε"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Γρήγορο άνοιγμα κάμερας χωρίς ξεκλείδωμα οθόνης"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Εστίαση οθόνης"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"πυκνότητα προβολής, εστίαση οθόνης, κλίμακα, κλιμάκωση"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Κάντε όλα τα στοιχεία στην οθόνη μικρότερα ή μεγαλύτερα. Ορισμένες εφαρμογές στην αρχική σας οθόνη ενδέχεται να αλλάξουν θέση μετά την αλλαγή αυτής της ρύθμισης."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Προεπισκόπηση"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Να γίνουν μικρότερα"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Να γίνουν μεγαλύτερα"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Το διαδίκτυο είναι διαθέσιμο μόνο μέσω Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Ανενεργά δεδομένα παρασκηνίου"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Τα δεδομένα παρασκηνίου είναι διαθέσιμα μόνο μέσω Wi-Fi. Αυτό ενδέχεται να επηρεάσει ορισμένες εφαρμογές ή υπηρεσίες όταν δεν υπάρχει διαθέσιμο δίκτυο Wi-Fi."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Προτάσεις (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Κατάργηση"</string>
<string name="color_temperature" msgid="2501579996151717270">"Θερμοκρασία χρώματος οθόνης"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Ενεργοποίηση ψυχρής θερμοκρασίας"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index d101733..94a22e5 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Connect to data services when roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Turn it on"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"When you allow data roaming, you may incur significant roaming charges!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"You may incur significant charges."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Allow data roaming?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sync is currently experiencing problems. It will be back shortly."</string>
<string name="add_account_label" msgid="7811707265834013767">"Add account"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Work profile isn\'t available yet"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Work mode"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Allow work profile to function, including apps, background sync and related features"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Remove work profile"</string>
<string name="background_data" msgid="5779592891375473817">"Background data"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Apps can sync, send and receive data at any time"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is available only via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Background data is off"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Work profile is off"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Apps, background sync and other features related to your work profile are turned off."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Remove"</string>
<string name="color_temperature" msgid="2501579996151717270">"Display colour temperature"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Enable cool temperature"</string>
+ <string name="usage" msgid="2977875522080448986">"Usage"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Cellular data usage"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi data usage"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet data usage"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> cellular data"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi data"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet data"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning / <xliff:g id="ID_2">%2$s</xliff:g> Data limit"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Billing cycle"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Monthly cycle starts on the <xliff:g id="ID_1">%1$s</xliff:g> of every month"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Monthly starting <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Network restrictions"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"Operator data accounting may differ from your device."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
+ <string name="data_warning" msgid="209133958008062117">"Data warning"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Set data limit"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Data limit"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> used between <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Configure"</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index d101733..94a22e5 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Connect to data services when roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Turn it on"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"When you allow data roaming, you may incur significant roaming charges!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"You may incur significant charges."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Allow data roaming?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sync is currently experiencing problems. It will be back shortly."</string>
<string name="add_account_label" msgid="7811707265834013767">"Add account"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Work profile isn\'t available yet"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Work mode"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Allow work profile to function, including apps, background sync and related features"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Remove work profile"</string>
<string name="background_data" msgid="5779592891375473817">"Background data"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Apps can sync, send and receive data at any time"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is available only via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Background data is off"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Work profile is off"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Apps, background sync and other features related to your work profile are turned off."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Remove"</string>
<string name="color_temperature" msgid="2501579996151717270">"Display colour temperature"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Enable cool temperature"</string>
+ <string name="usage" msgid="2977875522080448986">"Usage"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Cellular data usage"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi data usage"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet data usage"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> cellular data"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi data"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet data"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning / <xliff:g id="ID_2">%2$s</xliff:g> Data limit"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Billing cycle"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Monthly cycle starts on the <xliff:g id="ID_1">%1$s</xliff:g> of every month"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Monthly starting <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Network restrictions"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"Operator data accounting may differ from your device."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
+ <string name="data_warning" msgid="209133958008062117">"Data warning"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Set data limit"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Data limit"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> used between <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Configure"</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index d101733..94a22e5 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Connect to data services when roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Turn it on"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"When you allow data roaming, you may incur significant roaming charges!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"You may incur significant charges."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Allow data roaming?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sync is currently experiencing problems. It will be back shortly."</string>
<string name="add_account_label" msgid="7811707265834013767">"Add account"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Work profile isn\'t available yet"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Work mode"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Allow work profile to function, including apps, background sync and related features"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Remove work profile"</string>
<string name="background_data" msgid="5779592891375473817">"Background data"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Apps can sync, send and receive data at any time"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is available only via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Background data is off"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Work profile is off"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Apps, background sync and other features related to your work profile are turned off."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Remove"</string>
<string name="color_temperature" msgid="2501579996151717270">"Display colour temperature"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Enable cool temperature"</string>
+ <string name="usage" msgid="2977875522080448986">"Usage"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Cellular data usage"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi data usage"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet data usage"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> cellular data"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi data"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet data"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning / <xliff:g id="ID_2">%2$s</xliff:g> Data limit"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Billing cycle"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Monthly cycle starts on the <xliff:g id="ID_1">%1$s</xliff:g> of every month"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Monthly starting <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Network restrictions"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"Operator data accounting may differ from your device."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
+ <string name="data_warning" msgid="209133958008062117">"Data warning"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Set data limit"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Data limit"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> used between <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Configure"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 9f44c78..3bc7311 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar la tarjeta SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Eliminar almacenamiento USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar tarjeta SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Aumenta o reduce el tamaño del texto en pantalla."</string>
<string name="small_font" msgid="2295331917424072635">"Pequeño"</string>
<string name="medium_font" msgid="2068475425515133701">"Mediano"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Conectar a servicios de datos en roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Has perdido la conectividad de los datos porque has dejado la red doméstica con roaming de datos desactivado."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Enciéndelo"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Al permitir el roaming de datos, puedes incurrir en gastos de roaming importantes."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Al permitir el roaming de datos, los costos de roaming que deberás asumir pueden ser altos.\n\nEsta configuración afecta a todos los usuarios de esta tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Al permitir el roaming de datos, los costos de roaming que deberás asumir pueden ser altos.\n\nEsta configuración afecta a todos los usuarios de este dispositivo."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"¿Permitir el roaming de datos?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"En este momento la sincronización experimenta problemas. Volverá en breve."</string>
<string name="add_account_label" msgid="7811707265834013767">"Agregar cuenta"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"El perfil de trabajo aún no está disponible."</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminar perfil de trabajo"</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>
@@ -2752,8 +2756,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abre la cámara de forma rápida sin desbloquear la pantalla"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de la pantalla"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densidad de la pantalla, zoom de la pantalla, escala"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Aumenta o reduce el tamaño de todos los elementos en pantalla. Luego de modificar esta configuración, es posible que cambie la posición de algunas apps en la pantalla principal."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vista previa"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Reducir el tamaño"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Aumentar el tamaño"</string>
@@ -2797,8 +2800,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet solo está disponible por medio de Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Segundo plano desactivado"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Los datos en segundo plano solo están disponibles por medio de Wi-Fi. Si no hay una conexión Wi-Fi disponible, podrían verse afectados algunos servicios o apps."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Sugerencias (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Quitar"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura del color de la pantalla"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Habilitar temperatura del color"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index f6864d3..731d4be 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desactivar tarjeta SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Borrar almacenamiento USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar tarjeta SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Aumenta o disminuye el tamaño del texto de la pantalla."</string>
<string name="small_font" msgid="2295331917424072635">"Pequeño"</string>
<string name="medium_font" msgid="2068475425515133701">"Mediano"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Conectarse a servicios de datos en itinerancia"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Has perdido la conectividad de datos porque has dejado desactivada la itinerancia de datos de tu red doméstica."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activarla"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Al permitir la itinerancia de datos, es posible que te facturen cargos adicionales elevados."</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"El coste de este servicio puede ser significativo."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Al permitir la itinerancia de datos, los costes de itinerancia que deberás asumir pueden ser significativos.\n\nEsta configuración afecta a todos los usuarios de este tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Al permitir la itinerancia de datos, los costes de itinerancia que deberás asumir pueden ser significativos.\n\nEsta configuración afecta a todos los usuarios de este teléfono."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"¿Permitir la itinerancia de datos?"</string>
@@ -1937,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"En este momento hay incidencias con la sincronización. Se restablecerá en breve."</string>
<string name="add_account_label" msgid="7811707265834013767">"Añadir cuenta"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"El perfil de trabajo aún no está disponible"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Modo de trabajo"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Permitir que se utilice el modo de trabajo, incluidas las aplicaciones, la sincronización en segundo plano y las funciones relacionadas"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminar perfil de trabajo"</string>
<string name="background_data" msgid="5779592891375473817">"Conexiones automáticas"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Las aplicaciones pueden sincronizar datos, enviarlos y recibirlos."</string>
@@ -2754,8 +2755,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abre la cámara rápidamente sin desbloquear la pantalla"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de la pantalla"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densidad de pantalla, zoom, escala"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Aumenta o disminuye todos los elementos de la pantalla. Es posible que cambie la posición de algunas aplicaciones de la pantalla de inicio después de cambiar esta opción."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vista previa"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Disminuir el tamaño"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Aumentar el tamaño"</string>
@@ -2799,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet solo está disponible a través de redes Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Conexiones automáticas desactivadas"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Las conexiones automáticas solo están disponibles a través de redes Wi-Fi. Si la conexión Wi-Fi no está disponible, algunas aplicaciones o algunos servicios pueden verse afectados."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Perfil de trabajo desactivado"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Las aplicaciones, la sincronización en segundo plano y otras funciones relacionadas con tu perfil de trabajo están desactivadas."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Sugerencias (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Quitar"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura del color de la pantalla"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Habilitar temperatura del color"</string>
+ <string name="usage" msgid="2977875522080448986">"Uso"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Uso de datos móviles"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Uso de datos Wi-Fi"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Uso de datos de Ethernet"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"Datos móviles: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"Datos Wi-Fi: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"Datos de Ethernet: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"Advertencia de datos: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"Advertencia de datos: <xliff:g id="ID_1">%1$s</xliff:g>/Límite de datos: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Ciclo de facturación"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Ciclo mensual a partir del <xliff:g id="ID_1">%1$s</xliff:g> de cada mes"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Mensualmente a partir del <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Restricciones de red"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"El uso de datos determinado por el operador puede variar del recuento del dispositivo."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"Datos utilizados: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="data_warning" msgid="209133958008062117">"Advertencia de datos"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Establecer límite de datos"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Límite de datos"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"Datos utilizados entre el <xliff:g id="ID_2">%2$s</xliff:g>: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Configurar"</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index baf3677..e796aa6 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD-kaardi lahutamine"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Kustuta USB-mäluseade"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Kustuta SD-kaart"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Muutke ekraanil ilmuv tekst suuremaks või väiksemaks."</string>
<string name="small_font" msgid="2295331917424072635">"Väike"</string>
<string name="medium_font" msgid="2068475425515133701">"Keskmine"</string>
<string name="large_font" msgid="599055175160971446">"Suur"</string>
@@ -265,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Ühenda rändluse ajal andmesideteenustega"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Kaotasite andmesideühenduse, kuna jätsite oma koduvõrgu andmerändluse väljalülitatuks."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Lülita sisse"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Kui lubate andmeside rändluse, siis võidakse teilt küsida suuri rändlustasusid."</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"Lisanduda võivad suured tasud."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kui lubate andmeside rändluse, siis võivad sellega kaasneda rändlustasud!\n\nSeade mõjutab tahvelarvuti kõiki kasutajaid."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kui lubate andmeside rändluse, siis võivad sellega kaasneda rändlustasud!\n\nSeade mõjutab telefoni kõiki kasutajaid."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Kas lubada andmeside rändlus?"</string>
@@ -1937,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sünkroonimisega on praegu probleeme. See on varsti tagasi."</string>
<string name="add_account_label" msgid="7811707265834013767">"Lisa konto"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Tööprofiil ei ole veel saadaval"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Töörežiim"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Lubatakse tööprofiili toimingud, sh rakendused, taustal sünkroonimine ja seotud funktsioonid"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Eemalda tööprofiil"</string>
<string name="background_data" msgid="5779592891375473817">"Taustaandmed"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Rakendused saavad andmeid sünkroonida, saata ja vastu võtta"</string>
@@ -2754,8 +2755,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Kaamera avatakse kiirelt ekraani avamata"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Ekraani suum"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ekraani tihedus, ekraani suum, skaala, skaleerimine"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Muutke kõik ekraanil olevad üksused suuremaks või väiksemaks. Pärast selle seade muutmist võib mõne avaekraanil oleva rakenduse asukoht muutuda."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Eelvaade"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Vähendamine"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Suurendamine"</string>
@@ -2799,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet on saadaval ainult WiFi kaudu"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Taustaandmed on väljas"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Taustaandmed on saadaval ainult WiFi kaudu. Kui WiFi pole saadaval, võib see mõjutada mõne rakenduse või teenuse tööd."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Tööprofiil on välja lülitatud"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Rakendused, taustal sünkroonimine ja muud tööprofiiliga seotud funktsioonid on välja lülitatud."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Soovitused (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Eemalda"</string>
<string name="color_temperature" msgid="2501579996151717270">"Värvitemperatuuri kuvamine"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Luba külm temperatuur"</string>
+ <string name="usage" msgid="2977875522080448986">"Kasutus"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Mobiilse andmeside kasutus"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"WiFi andmekasutus"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Etherneti andmekasutus"</string>
+ <string name="wifi" msgid="1081550856200013637">"WiFi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> mobiilset andmesidet"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> WiFi-andmeid"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Etherneti-andmeid"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> – andmemahu hoiatus"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> – andmemahu hoiatus / <xliff:g id="ID_2">%2$s</xliff:g> – andmemahu piirang"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Arveldustsükkel"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Kuupõhine tsükkel algab iga kuu <xliff:g id="ID_1">%1$s</xliff:g>. päeval"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Kuupõhine alates <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Võrgupiirangud"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"Operaatori andmemahuarvestus võib seadme omast erineda."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> on kasutatud"</string>
+ <string name="data_warning" msgid="209133958008062117">"Andmemahu hoiatus"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Andmemahupiirangu määramine"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Andmemahu piirang"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> on kasutatud vahemikus <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Seadistamine"</string>
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 7a9a9a7..4ea4a5f 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmuntatu SD txartela"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Ezabatu USB memoria"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Ezabatu SD txartela"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Handitu edo txikitu pantailako testua."</string>
<string name="small_font" msgid="2295331917424072635">"Txikia"</string>
<string name="medium_font" msgid="2068475425515133701">"Ertaina"</string>
<string name="large_font" msgid="599055175160971446">"Handia"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Konektatu datu-zerbitzuetara ibiltaritzan"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Datuen konexioa galdu duzu tokiko saretik irten zarelako ibiltaritza desaktibatuta duzula."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktibatu"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!\n\nEzarpenak tableta honen erabiltzaile guztiei eragiten die."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!\n\nEzarpenak telefono honen erabiltzaile guztiei eragiten die."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Ibiltaritzako datuak baimendu nahi dituzu?"</string>
@@ -1215,7 +1215,7 @@
<string name="copyright_title" msgid="865906688917260647">"Copyrighta"</string>
<string name="license_title" msgid="1990487604356037871">"Lizentzia"</string>
<string name="terms_title" msgid="7697580845616764642">"Zehaztapenak eta baldintzak"</string>
- <string name="webview_license_title" msgid="2813507464175738967">"Web-ikustailearen lizentzia"</string>
+ <string name="webview_license_title" msgid="2813507464175738967">"Sistemaren WebView lizentzia"</string>
<string name="wallpaper_attributions" msgid="3645880512943433928">"Horma-paperak"</string>
<string name="wallpaper_attributions_values" msgid="2996183537914690469">"Satelite-irudien hornitzaileak:\n©2014 CNES / Astrium, DigitalGlobe, Bluesky"</string>
<string name="settings_manual_activity_title" msgid="8133150693616006051">"Eskuliburua"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sinkronizazioak arazoak ditu. Laster egongo da berriro erabilgarri."</string>
<string name="add_account_label" msgid="7811707265834013767">"Gehitu kontua"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Laneko profila ez dago oraindik erabilgarri"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Kendu laneko profila"</string>
<string name="background_data" msgid="5779592891375473817">"Atzeko planoko datuak"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikazioek datuak edonoiz sinkroniza, bidal eta jaso ditzakete"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ireki kamera bizkor, pantaila desblokeatu beharrik gabe"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Pantailaren zooma"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"pantaila, dentsitate, zoom, eskala, tamaina, egokitu, doitu"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Handitu edo txikitu pantailako elementu guztiak. Ezarpena aldatu ondoren, baliteke hasierako pantailako aplikazio batzuen posizioa aldatzea."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Aurrebista"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Txikitu"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Handitu"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Wi-Fi bidez soilik erabil daiteke Internet"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Atzeko planoko datuak desaktib."</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Atzeko planoko datuak Wi-Fi bidez soilik erabil daitezke. Horrek eragina izango du aplikazio eta zerbitzu batzuetan, Wi-Fi konexiorik ez dagoenean."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Iradokizunak (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Kendu"</string>
<string name="color_temperature" msgid="2501579996151717270">"Pantailaren kolorearen tenperatura"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Gaitu tenperatura hotza"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index b6cfb2e..e813f9f 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"جدا کردن کارت SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"پاک کردن حافظهٔ USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"پاک کردن کارت SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"اندازه نوشتار روی صفحه را کوچکتر یا بزرگتر میکند."</string>
<string name="small_font" msgid="2295331917424072635">"کوچک"</string>
<string name="medium_font" msgid="2068475425515133701">"متوسط"</string>
<string name="large_font" msgid="599055175160971446">"بزرگ"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"اتصال به سرویسهای داده هنگام رومینگ"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"شما اتصال داده خود را از دست دادهاید زیرا رومینگ داده را در شبکه اصلی خود خاموش کردهاید."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"روشن کنید"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"هنگام انجام رومینگ داده، ممکن است هزینههای رومینگ قابل توجهی را متحمل شوید!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"وقتی به رومینگ داده اجازه میدهید، ممکن است رومینگ، هزینههای بسیار زیادی برای شما در پی داشته باشد!\n\nاین تنظیم روی همه کاربران موجود در این رایانه لوحی تأثیر میگذارد."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"وقتی به رومینگ داده اجازه میدهید، ممکن است هزینههای بسیار زیادی برای شما در پی داشته باشد!\n\nاین تنظیم روی همه کاربران موجود در این تلفن تأثیر میگذارد."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"رومینگ داده مجاز است؟"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"همگامسازی در حال حاضر دارای مشکلی است. در مدت کوتاهی تصحیح میشود."</string>
<string name="add_account_label" msgid="7811707265834013767">"افزودن حساب"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"نمایه کاری هنوز در دسترس نیست"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"حذف نمایه کار"</string>
<string name="background_data" msgid="5779592891375473817">"دادههای پسزمینه"</string>
<string name="background_data_summary" msgid="8328521479872763452">"برنامهها در هر زمان میتوانند دادهها را همگام کرده، ارسال و دریافت کنند"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"دوربین را سریع و بدون باز کردن قفل صفحه باز کنید"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"بزرگنمایی صفحه نمایش"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"تراکم نمایشگر، بزرگنمایی صفحه، مقیاس، مقیاسبندی"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"همه موارد روی صفحه را بزرگتر یا کوچکتر میکند. ممکن است بعد از تغییر این تنظیم، موقعیت بعضی از برنامهها در صفحه اصلی تغییر کند."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"پیشنمایش"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"کوچکتر ببینید"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"بزرگتر ببینید"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"اینترنت فقط از طریق Wi-Fi در دسترس است"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"داده پسزمینه خاموش است"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"داده پسزمینه فقط از طریق Wi-Fi در دسترس است. وقتی Wi-Fi در دسترس نباشد، این قابلیت میتواند بعضی از برنامهها یا خدمات را تحت تأثیر قرار دهد."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"پیشنهادات (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"حذف"</string>
<string name="color_temperature" msgid="2501579996151717270">"دمای رنگ نمایشگر"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"فعال کردن دمای سرد"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index bdcba68..ce55e5a 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Poista SD-kortti käytöstä"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Tyhjennä USB-tila"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Tyhjennä SD-kortti"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Suurenna tai pienennä näytöllä olevaa tekstiä."</string>
<string name="small_font" msgid="2295331917424072635">"Pieni"</string>
<string name="medium_font" msgid="2068475425515133701">"Keskikokoinen"</string>
<string name="large_font" msgid="599055175160971446">"Suuri"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Yhdistä verkkoon roaming-tilassa"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Verkkoyhteys katkesi, koska poistuit kotiverkkosi alueelta eikä roaming-tilaa ole otettu käyttöön."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ota käyttöön"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Jos sallit verkkoyhteyden roaming-tilassa, roaming-maksut saattavat kasvaa suuriksi!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Jos sallit tiedonsiirron roaming-tilassa, sinulle voi koitua suuria roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän tablet-laitteen käyttäjiin."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Jos sallit tiedonsiirron roaming-tilassa, sinulle voi koitua suuria roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän puhelimen käyttäjiin."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Sallitaanko tiedonsiirto roaming-tilassa?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Synkronoinnissa on tällä hetkellä ongelmia. Palvelu palaa käyttöön hetken kuluttua."</string>
<string name="add_account_label" msgid="7811707265834013767">"Lisää tili"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Työprofiili ei ole vielä käytettävissä"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Poista työprofiili"</string>
<string name="background_data" msgid="5779592891375473817">"Taustatiedot"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Sovell. voivat synkr., läh. & vast.ottaa tietoa milloin vain"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Avaa kamera nopeasti avaamatta näytön lukitusta"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Näytön lähennys"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"näytön tiheys, näytön zoomaus, skaala, skaalaus"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Suurenna tai pienennä kaikkia näytöllä olevia kohteita. Tämän asetuksen muuttaminen voi siirtää joitakin aloitusnäytöllä olevia sovelluksia."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Esikatselu"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Pienennä"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Suurenna"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Voit muodostaa yhteyden internetiin vain Wi-Fin kautta."</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Taustatiedot ovat pois päältä"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Taustatiedot ovat käytettävissä vain Wi-Fi-yhteyden kautta. Tämä voi vaikuttaa joidenkin sovellusten tai palvelujen toimintaan, kun et käytä Wi-Fi-yhteyttä."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Ehdotukset (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Poista"</string>
<string name="color_temperature" msgid="2501579996151717270">"Näytä värilämpötila"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Ota viileä värilämpötila käyttöön."</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 5b7d3c1..dcce61f 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Désinstaller la carte SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Effacer la mémoire de stockage USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Effacer la carte SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Agrandissez ou réduisez le texte affiché."</string>
<string name="small_font" msgid="2295331917424072635">"Petit"</string>
<string name="medium_font" msgid="2068475425515133701">"Moyen"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Se connecter aux services de données lors de l\'itinérance"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Vous avez été déconnecté, car vous avez quitté votre réseau domestique et l\'itinérance des données est désactivée."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activer"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Lorsque vous activez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer!\n\nCe paramètre affecte tous les utilisateurs de cette tablette."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer!\n\nCe paramètre affecte tous les utilisateurs de ce téléphone."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Autoriser l\'itinérance des données?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"La synchronisation rencontre actuellement des problèmes. Elle sera rétablie sous peu."</string>
<string name="add_account_label" msgid="7811707265834013767">"Ajouter un compte"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Le profil professionnel n\'est pas encore disponible"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Supprimer le profil professionnel"</string>
<string name="background_data" msgid="5779592891375473817">"Données en arrière-plan"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Synchronisation, envoi et réception de données à tout moment"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Lancez rapidement l\'appareil photo sans déverrouiller l\'écran"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de l\'écran"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densité d\'affichage, zoom de l\'écran, échelle, mise à l\'échelle"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Agrandissez ou réduisez tous les éléments affichés. Si vous modifiez ce paramètre, certaines applications de votre écran d\'accueil risquent de changer de position."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Aperçu"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Rapetisser"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Agrandir"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet est uniquement accessible par Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Données arrière-plan désactivées"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Les données en arrière-plan ne sont accessibles que par Wi-Fi. Cela peut nuire à certaines applications ou certains services lorsque le Wi-Fi n\'est pas accessible."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Supprimer"</string>
<string name="color_temperature" msgid="2501579996151717270">"Afficher la température des couleurs"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Activer les couleurs froides"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 116e3ca..7e9da67 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Désinstaller la carte SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Effacer la mémoire de stockage USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Formater la carte SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Agrandissez ou réduisez le texte affiché."</string>
<string name="small_font" msgid="2295331917424072635">"Petite"</string>
<string name="medium_font" msgid="2068475425515133701">"Moyenne"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Se connecter aux services de données lors de l\'itinérance"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Vous avez été déconnecté, car vous avez quitté votre réseau domestique et l\'itinérance des données est désactivée."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activer"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Lorsque vous activez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer !\n\nCe paramètre affecte tous les utilisateurs de cette tablette."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer !\n\nCe paramètre affecte tous les utilisateurs de ce téléphone."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Autoriser l\'itinérance des données ?"</string>
@@ -1276,7 +1276,7 @@
<string name="lock_settings_profile_screen_lock_title" msgid="3334747927367115256">"Verrouillage de l\'écran du profil professionnel"</string>
<string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"Utiliser le même verrouillage d\'écran"</string>
<string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"Modifier le profil principal afin qu\'il corresponde au profil professionnel"</string>
- <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Utilisez le même verrouillage d\'écran ?"</string>
+ <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Utiliser le même verrouillage d\'écran ?"</string>
<string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Vous pouvez utiliser ce verrouillage pour votre appareil, mais sachez qu\'il inclut toutes les règles liées au verrouillage de l\'écran définies par votre administrateur informatique sur le profil professionnel.\nVoulez-vous utiliser le même verrouillage d\'écran sur votre appareil ?"</string>
<string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"Identique au verrouillage de votre appareil"</string>
<string name="manageapplications_settings_title" msgid="7041951105633616745">"Gérer les applications"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"La synchronisation rencontre des problèmes et sera bientôt rétablie."</string>
<string name="add_account_label" msgid="7811707265834013767">"Ajouter un compte"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Le profil professionnel n\'est pas encore disponible."</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Supprimer le profil professionnel"</string>
<string name="background_data" msgid="5779592891375473817">"Données en arrière-plan"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Synchronisation, envoi et réception de données à tout moment"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Lancez rapidement la caméra sans déverrouiller l\'écran."</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom sur l\'écran"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densité d\'affichage, zoom sur l\'écran, échelle, mise à l\'échelle"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Agrandissez ou réduisez tous les éléments affichés. Si vous modifiez ce paramètre, certaines applications de votre écran d\'accueil risquent de changer de position."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Aperçu"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Réduire"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Agrandir"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet n\'est disponible que via le Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Données arrière-plan désactiv."</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Les données en arrière-plan ne sont disponibles que via le Wi-Fi. Cela peut affecter certaines applications ou certains services lorsque le Wi-Fi n\'est pas accessible."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Supprimer"</string>
<string name="color_temperature" msgid="2501579996151717270">"Afficher la température des couleurs"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Activer les couleurs froides"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 5b22bec..643bbd2 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -74,17 +74,16 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desactivar a tarxeta SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Borrar almacenamento USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar tarxeta SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Reduce ou amplía o texto da pantalla."</string>
<string name="small_font" msgid="2295331917424072635">"Pequeno"</string>
<string name="medium_font" msgid="2068475425515133701">"Medio"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
<string name="font_size_make_smaller_desc" msgid="7919995133365371569">"Reducir"</string>
<string name="font_size_make_larger_desc" msgid="4316986572233686061">"Ampliar"</string>
<string name="font_size_preview_text_headline" msgid="7955317408475392247">"Texto de mostra"</string>
- <string name="font_size_preview_text_title" msgid="4762429961714563135">"Vinte mil leguas baixo dos mares"</string>
- <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"Capítulo 23: O reino de coral"</string>
- <string name="font_size_preview_text_body" msgid="1608889593334414309">"Ao día seguinte espertei coa cabeza particularmente despexada. Para a miña sorpresa, estaba no meu camarote. Con certeza, os meus compañeiros debían ter sido reinstalados no seu sen darse conta, coma min. Coma min, tamén ignoraban o que tiña ocorrido esa noite. Para desvelar o misterio, só podía confiar no azar do porvir.\nDespois pensei en saír do meu camarote e pregunteime se estaría preso ou libre novamente. En total liberdade. Abrín a porta, percorrín os corredores e subín a escaleira central. Os zapóns, pechados na véspera, estaban abertos. Cheguei á plataforma.\nNed Land e Conseil estaban esperándome. Interrogueinos, pero non sabían nada. Estaban sorprendidos de atoparse nos seus camarotes ao despertar dun pesado sono que os deixara totalmente inconscientes."</string>
+ <string name="font_size_preview_text_title" msgid="4762429961714563135">"Memorias dun neno labrego"</string>
+ <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"Pachín"</string>
+ <string name="font_size_preview_text_body" msgid="1608889593334414309">"Nun tempo disque falaban os animais. Andrómenas. Está ben que se lle conte a nenos da teta, pero non a min que levo rillado catro codias. Todos os días estase a refacer a verdade. Fai unha chea de tempo que non oio falar seriamente do «Anxo da garda», nin dos Reis Magos. E quen sabe cantas cousas máis que hoxe teño por certas irán cambiando en min. Voume afastando do berce, coma quen di.\nBoa estaría que os animais falasen coma nós. Os paxaros, o gando, as lebres. ¡Que rebumbio! Talvez se entendan sen conversar, ou non precisarán entenderse. Hai moitos homes e mulleres que parolan na mesma linguaxe e tampouco se entenden.\nMiña nai tenme dito que lle gustaría ver, sequera por un intre, o río baldeiro, sen auga. A min, tamén."</string>
<string name="font_size_save" msgid="3450855718056759095">"Aceptar"</string>
<string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Almacenamento USB"</string>
<string name="sdcard_setting" product="default" msgid="5922637503871474866">"Tarxeta SD"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Conecta cos servizos de datos durante a itinerancia"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Perdiches a conectividade de datos porque deixaches a túa rede doméstica coa itinerancia de datos desactivada."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activala"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Se permites a itinerancia de datos, os custos poden ser elevados."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Se permites a itinerancia de datos, os custos poden ser elevados.\n\nEsta configuración afecta a todos os usuarios deste tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Se permites a itinerancia de datos, os custos poden ser elevados.\n\nEsta configuración afecta a todos os usuarios deste teléfono."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir a itinerancia de datos?"</string>
@@ -1277,7 +1277,7 @@
<string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"Usar o mesmo bloqueo da pantalla"</string>
<string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"Cambiar perfil principal para que coincida co perfil de traballo"</string>
<string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Queres usar o mesmo bloqueo da pantalla?"</string>
- <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Podes usar este bloqueo para o teu dispositivo, pero incluirá todos os bloqueos da pantalla relacionados coas políticas establecidas polo administrador de TI no perfil de traballo.\nQueres usar o mesmo bloqueo da pantalla para o teu dispositivo?"</string>
+ <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Podes usar este bloqueo para o teu dispositivo, pero incluirá todos os bloqueos da pantalla relacionados coas políticas establecidas polo teu administrador de TI no perfil de traballo.\nQueres usar o mesmo bloqueo da pantalla para o teu dispositivo?"</string>
<string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"O mesmo que o bloqueo do teu dispositivo"</string>
<string name="manageapplications_settings_title" msgid="7041951105633616745">"Xestionar aplicacións"</string>
<string name="manageapplications_settings_summary" msgid="1794401500935451259">"Xestiona e elimina as aplicacións instaladas"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"A sincronización experimenta problemas actualmente. Recuperarase en breve."</string>
<string name="add_account_label" msgid="7811707265834013767">"Engadir conta"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"O perfil de traballo aínda non está dispoñible"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminar perfil de traballo"</string>
<string name="background_data" msgid="5779592891375473817">"Datos en segundo plano"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplicacións poden sincronizar, enviar e recibir datos sempre"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abre a cámara rapidamente sen desbloquear a pantalla"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom da pantalla"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de visualización, zoom da pantalla, escala, escalado"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Reduce ou amplía todos os elementos da pantalla. É posible que algunhas aplicacións da pantalla de inicio cambien de posición despois de cambiar esta configuración."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vista previa"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Facer máis pequeno"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Facer máis grande"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Só hai Internet a través de wifi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Datos en seg. plano desactiv."</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Os datos en segundo plano só están dispoñibles a través de wifi. Esta opción pode afectar a algunhas aplicacións ou servizos cando non haxa wifi."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Suxestións (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Eliminar"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor da pantalla"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Activar temperatura fría"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index ce50ed7..b2e24a9 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"જ્યારે રોમિંગ હોય ત્યારે ડેટા સેવાઓથી કનેક્ટ કરો"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"તમે ડેટા કનેક્ટિવિટી ગુમાવી છે કારણ કે તમે તમારા હોમ નેટવર્કને બંધ ડેટા રોમિંગ સાથે છોડ્યું છે."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"તેને ચાલુ કરો"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને આંશિક રોમિંગ શુલ્ક લાગી શકે છે!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને નોંધપાત્ર રોમિંગ શુલ્ક લાગી શકે છે!\n\nઆ સેટિંગ્સ આ ટેબ્લેટ પરના બધા વપરાશકર્તાઓને પ્રભાવિત કરે છે."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને આંશિક રોમિંગ શુલ્ક લાગી શકે છે!\n\nઆ સેટિંગ્સ આ ફોનના બધા વપરાશકર્તાઓને પ્રભાવિત કરે છે."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ડેટા રોમિંગને મંજૂરી આપીએ?"</string>
@@ -1938,6 +1939,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"સમન્વયનમાં હાલમાં સમસ્યા આવી રહી છે. તે ટૂંક સમયમાં પાછું આવશે."</string>
<string name="add_account_label" msgid="7811707265834013767">"એકાઉન્ટ ઉમેરો"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"કાર્ય પ્રોફાઇલ હજી સુધી ઉપલબ્ધ નથી"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"કાર્ય પ્રોફાઇલ દૂર કરો"</string>
<string name="background_data" msgid="5779592891375473817">"પૃષ્ઠભૂમિ ડેટા"</string>
<string name="background_data_summary" msgid="8328521479872763452">"એપ્લિકેશનો કોઈપણ સમયે ડેટાને સમન્વયિત, મોકલી અને પ્રાપ્ત કરી શકે છે"</string>
@@ -2799,8 +2804,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"ઇન્ટરનેટ માત્ર Wi-Fi મારફતે ઉપલબ્ધ છે"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"પૃષ્ઠભૂમિ ડેટા બંધ છે"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"પૃષ્ઠભૂમિ ડેટા માત્ર Wi-Fi મારફતે ઉપલબ્ધ છે. જ્યારે Wi-Fi ઉપલબ્ધ ન હોય ત્યારે આ કેટલીક ઍપ્લિકેશનો અથવા સેવાઓને પ્રભાવિત કરી શકે છે."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"સૂચનો (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"દૂર કરો"</string>
<string name="color_temperature" msgid="2501579996151717270">"ડિસ્પ્લેનું રંગ તાપમાન"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"કૂલ તાપમાન સક્ષમ કરો"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 19cdfb0..b8b8bab 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"रोमिंग के समय डेटा सेवाएं कनेक्ट करें"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"आपने डेटा कनेक्टिविटी खो दी है क्योंकि आपने डेटा रोमिंग बंद रखकर अपना होम नेटवर्क छोड़ दिया."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"इसे चालू करें"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो परिणामस्वरूप आप पर रोमिंग शुल्क लग सकते हैं!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"आपको बहुत अधिक शुल्क देना पड़ सकता है."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो हो सकता है कि आपको अधिक रोमिंग शुल्क लगे!\n\nयह सेटिंग इस टेबलेट के सभी उपयोगकर्ताओं को प्रभावित करती है."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो हो सकता है कि आपको अधिक रोमिंग शुल्क लगे!\n\nयह सेटिंग इस फ़ोन के सभी उपयोगकर्ताओं को प्रभावित करती है."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"डेटा रोमिंग की अनुमति दें?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"किसी समस्या के कारण अभी समन्वयन नहीं हो पाया.यह शीघ्र ही उपलब्ध होगा."</string>
<string name="add_account_label" msgid="7811707265834013767">"खाता जोड़ें"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"कार्य प्रोफ़ाइल अभी तक उपलब्ध नहीं है"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"कार्य मोड"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"ऐप्स, पृष्ठभूमि समन्वयन और संबंधित सुविधाओं सहित कार्य प्रोफ़ाइल को काम करने की अनुमति दें"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"कार्य प्रोफ़ाइल निकालें"</string>
<string name="background_data" msgid="5779592891375473817">"पृष्ठभूमि डेटा"</string>
<string name="background_data_summary" msgid="8328521479872763452">"ऐप्स किसी भी समय डेटा समन्वयित, भेज और प्राप्त कर सकते हैं"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"इंटरनेट केवल वाई-फ़ाई के द्वारा उपलब्ध है"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"बैकग्राउंड डेटा बंद है"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"बैकग्राउंड डेटा केवल वाई-फ़ाई के द्वारा उपलब्ध है. इससे वाई-फ़ाई के उपलब्ध नहीं रहने पर कुछ ऐप्स या सेवाएं प्रभावित हो सकती हैं."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"कार्य प्रोफ़ाइल बंद है"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"आपकी कार्य प्रोफ़ाइल से संबंधित ऐप्स, पृष्ठभूमि समन्वयन और अन्य सुविधाएं बंद हैं."</string>
<string name="suggestions_title" msgid="8758376306825920705">"सुझाव (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"निकालें"</string>
<string name="color_temperature" msgid="2501579996151717270">"रंग तापमान दिखाएं"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"शीतल तापमान सक्षम करें"</string>
+ <string name="usage" msgid="2977875522080448986">"उपयोग"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"सेल्युलर डेटा उपयोग"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"वाई-फ़ाई डेटा उपयोग"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"ईथरनेट डेटा उपयोग"</string>
+ <string name="wifi" msgid="1081550856200013637">"वाई-फ़ाई"</string>
+ <string name="ethernet" msgid="6600095783781389720">"ईथरनेट"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> सेल्युलर डेटा"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> वाई-फ़ाई डेटा"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ईथरनेट डेटा"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> डेटा चेतावनी"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> डेटा चेतावनी / <xliff:g id="ID_2">%2$s</xliff:g> डेटा सीमा"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"बिलिंग चक्र"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"मासिक चक्र प्रत्येक माह के <xliff:g id="ID_1">%1$s</xliff:g> को शुरू होगा"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"<xliff:g id="ID_1">%1$s</xliff:g> से मासिक रूप से शुरू"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"नेटवर्क प्रतिबंध"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"ऑपरेटर की डेटा गणना आपके डिवाइस से भिन्न हो सकती है."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> का उपयोग किया गया"</string>
+ <string name="data_warning" msgid="209133958008062117">"डेटा चेतावनी"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"डेटा की सीमा सेट करें"</string>
+ <string name="data_limit" msgid="1885406964934590552">"डेटा सीमा"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_2">%2$s</xliff:g> के बीच <xliff:g id="ID_1">%1$s</xliff:g> का उपयोग किया गया"</string>
+ <string name="configure" msgid="1029654422228677273">"कॉन्फ़िगर करें"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 3dda7c7..a34c2f6 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -75,8 +75,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Isključi SD karticu"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Izbriši memoriju USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Izbriši SD karticu"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Smanjuje ili povećava tekst na zaslonu."</string>
<string name="small_font" msgid="2295331917424072635">"Mali"</string>
<string name="medium_font" msgid="2068475425515133701">"Srednji"</string>
<string name="large_font" msgid="599055175160971446">"Veliki"</string>
@@ -266,7 +265,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Poveži se s podatkovnim uslugama u roamingu"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Izgubili ste podatkovnu vezu jer ste isključili mrežni roaming podataka."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Uključi"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Ako omogućite roaming podataka, može doći do značajnih troškova roaminga!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kada dopustite podatkovni roaming, mogu nastati značajni troškovi roaminga!\n\nOva postavka utječe na sve korisnike na ovom tabletu."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kada dopustite podatkovni roaming, mogu nastati značajni troškovi roaminga!\n\nOva postavka utječe na sve korisnike na ovom telefonu."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Dopusti roaming podataka?"</string>
@@ -1953,6 +1953,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sinkronizacija trenutačno ima problema. Uskoro će nastaviti s radom."</string>
<string name="add_account_label" msgid="7811707265834013767">"Dodavanje računa"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Radni profil još nije dostupan"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Ukloni radni profil"</string>
<string name="background_data" msgid="5779592891375473817">"Pozadinski podaci"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikacije mogu sink., slati i primati podatke bilo kad"</string>
@@ -2779,8 +2783,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Brzo otvaranje fotoaparata bez otključavanja zaslona"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zumiranje zaslona"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"prikaz, gustoća, zumiranje zaslona, skalirati, skaliranje"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Smanjuje ili povećava sve stavke na zaslonu. Neke aplikacije na početnom zaslonu mogu promijeniti položaj nakon što promijenite tu postavku."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pregled"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Smanji"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Povećaj"</string>
@@ -2824,8 +2827,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je dostupan samo putem Wi-Fi-ja"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Pozadinski podaci isključeni"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Pozadinski podaci dostupni su samo putem Wi-Fi-ja. To može utjecati na neke aplikacije ili usluge kada Wi-Fi nije dostupan."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Prijedlozi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Ukloni"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura boje prikaza"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Omogući hladnu temperaturu"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 288532c..7b736ce 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Csatlakozás adatszolgáltatásokhoz barangolás során"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Megszakadt az adatkapcsolat, mert elhagyta az otthoni hálózatot, és az adatbarangolás nincs bekapcsolva."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Bekapcsolás"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Ha engedélyezi az adatbarangolást, akkor jelentős barangolási költség merülhet fel!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"Lehet, hogy jelentős összeget számítanak fel érte."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Az adatbarangolás engedélyezése jelentős díjnövekedéssel járhat.\n\nEz a beállítás minden felhasználót érint ezen a táblagépen."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Az adatbarangolás engedélyezése jelentős díjnövekedéssel járhat.\n\nEz a beállítás minden felhasználót érint ezen a telefonon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Engedélyezi az adatbarangolást?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"A szinkronizálással problémák vannak. Hamarosan helyreáll."</string>
<string name="add_account_label" msgid="7811707265834013767">"Fiók hozzáadása"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"A munkaprofil még nem érhető el"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Munka mód"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Munkaprofil használatának engedélyezése, beleértve az alkalmazásokat, a háttérben való szinkronizálást és a kapcsolódó funkciókat"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Munkaprofil eltávolítása"</string>
<string name="background_data" msgid="5779592891375473817">"Háttéradatok"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Szinkronizálás, adatküldés és -fogadás bármikor"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internetkapcsolat csak Wi-Fi-n keresztül lehetséges"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Háttéradatok kikapcsolva"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"A háttéradatok kizárólag Wi-Fi-n keresztül állnak rendelkezésre. Ez hatással lehet bizonyos alkalmazásokra és szolgáltatásokra, amikor nincs rendelkezésre álló Wi-Fi-kapcsolat."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"A munkaprofil mód ki van kapcsolva"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Az alkalmazások, a háttérben való szinkronizálás és a munkaprofilhoz kapcsolódó egyéb funkciók kikapcsolva."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Javaslatok (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Eltávolítás"</string>
<string name="color_temperature" msgid="2501579996151717270">"Kijelző színhőmérséklete"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Hideg színhőmérséklet bekapcsolása"</string>
+ <string name="usage" msgid="2977875522080448986">"Használat"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Mobiladat-használat"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Adathasználat Wi-Fi-kapcsolaton"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Adathasználat Ethernet-kapcsolaton"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> mobiladat-forgalom"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> adathasználat Wi-Fi-kapcsolaton"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> adathasználat Ethernet-kapcsolaton"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> adatforgalmi figyelmeztetés"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> – adatforgalmi figyelmeztetés / <xliff:g id="ID_2">%2$s</xliff:g> – adatforgalom korlátozása"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Számlázási ciklus"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"A havi ciklus minden hónap <xliff:g id="ID_1">%1$s</xliff:g>. napján kezdődik"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Havonta a hónap <xliff:g id="ID_1">%1$s</xliff:g>. napján"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Hálózati korlátozások"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"A szolgáltató adatszámlálási módja eltérhet az eszközétől."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> felhasználva"</string>
+ <string name="data_warning" msgid="209133958008062117">"Adatforgalmi figyelmeztetés"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Adatkorlát beállítása"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Adatforgalmi korlátozás"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> felhasználva a következő dátumok között: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Beállítás"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 70c09b8..7e0d535 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Անջատել SD քարտը"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Ջնջել USB կրիչը"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Ջնջել SD քարտը"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Խոշորացնել կամ մանրացնել էկրանի տեքստը:"</string>
<string name="small_font" msgid="2295331917424072635">"Փոքր"</string>
<string name="medium_font" msgid="2068475425515133701">"Միջին"</string>
<string name="large_font" msgid="599055175160971446">"Մեծ"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Միանալ տվյալների փոխանցման ծառայություններին ռոումինգում գտնվելիս"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Դուք կորցրել եք տվյալների կապը, քանի որ անջատված եք թողել ձեր գլխավոր ցանցի տվյալների ռոումինգը:"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Միացնել"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Երբ դուք թույլատրում եք տվյալների ռոումինգ, հնարավոր է` ձեզնից գանձվեն զգալի ռոումիգային միջնորդավճարներ:"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Երբ դուք թույլատրում եք տվյալների ռոումինգը, հնարավոր է` ձեզնից գանձվեն զգալի գումարային վճարներ:\n\nԱյս կարգավորումը վերաբերում է գրասալիկի բոլոր օգտվողներին:"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Երբ դուք թույլատրում եք ռոումինգային տվյալները, հնարավոր է` ձեզնից գանձվեն զգալի գումարային վճարներ:\n\nԱյս կարգավորումը վերաբերում է հեռախոսի բոլոր օգտվողներին:"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Թույլատրե՞լ տվյալների ռոումինգը:"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Համաժամեցման ընթացքում ժամանակավորապես խնդիրներ են ծագել: Կարճ ժամանակ անց այն կվերականգնվի:"</string>
<string name="add_account_label" msgid="7811707265834013767">"Ավելացնել հաշիվ"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Աշխատանքային պրոֆիլը դեռևս հասանելի չէ"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Հեռացնել աշխատանքային դիտարկումը"</string>
<string name="background_data" msgid="5779592891375473817">"Հետնաշերտի տվյալներ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Ծրագրերը կարող են համաժամեցնել, ուղարկել և ստանալ տվյալներ ցանկացած պահի"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Խցիկի արագ բացում առանց էկրանը ապակողպելու"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Էկրանի մասշտաբ"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ցուցադրման խտություն, էկրանի մասշտաբ, մասշտաբ, մասշտաբավորում"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Խոշորացնել կամ մանրացնել էկրանի բոլոր տարրերը: Այս կարգավորումը փոխելուց հետո գլխավոր էկրանի որոշ հավելվածներ կարող են փոխել դիրքը:"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Նախադիտում"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Փոքրացնել"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Մեծացնել"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Համացանցը հասանելի է միայն Wi-Fi-ի միջոցով"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Ֆոնային տվյալներն անջատված են"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Ֆոնային տվյալները հասանելի են միայն Wi-Fi-ի միջոցով: Wi-Fi ցանցերի բացակայության դեպքում դա կարող է ազդել որոշ հավելվածների կամ ծառայությունների աշխատանքի վրա:"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Առաջարկություններ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Հեռացնել"</string>
<string name="color_temperature" msgid="2501579996151717270">"Էկրանի գունային ջերմաստիճանը"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Միացնել սառը ջերմաստիճանը"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index cd827ac..0f3fc93 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Sambungkan ke layanan data ketika roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Anda telah kehilangan konektivitas data karena Anda meninggalkan jaringan asal dalam keadaan roaming data dimatikan."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Hidupkan"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Saat Anda mengizinkan roaming data, Anda dapat dikenai tagihan roaming yang tinggi!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Jika Anda mengizinkan roaming data, Anda mungkin dikenai tagihan roaming!\n\nSetelan ini memengaruhi semua pengguna di tablet ini."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Jika Anda mengizinkan roaming data, Anda mungkin dikenai tagihan roaming!\n\nSetelan ini memengaruhi semua pengguna di ponsel ini."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Izinkan roaming data?"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Saat ini sinkronisasi mengalami masalah. Sinkronisasi akan segera berfungsi kembali."</string>
<string name="add_account_label" msgid="7811707265834013767">"Tambahkan akun"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Profil kerja belum tersedia"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Buang profil kerja"</string>
<string name="background_data" msgid="5779592891375473817">"Data latar belakang"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Apl dapat menyinkronkan, mengirimkan, dan menerima data kapan saja"</string>
@@ -2797,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet hanya tersedia melalui Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Data latar belakang nonaktif"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Data latar belakang hanya tersedia melalui Wi-Fi. Hal ini dapat memengaruhi beberapa aplikasi atau layanan saat Wi-Fi tidak tersedia."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Saran (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Hapus"</string>
<string name="color_temperature" msgid="2501579996151717270">"Tampilkan suhu foto"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Aktifkan suhu sejuk"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 0d223e4..6c7c836 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Aftengja SD-kort"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Hreinsa út af USB geymslu"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Hreinsa út af SD-korti"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Stækka eða minnka texta á skjá."</string>
<string name="small_font" msgid="2295331917424072635">"Lítið"</string>
<string name="medium_font" msgid="2068475425515133701">"Meðalstórt"</string>
<string name="large_font" msgid="599055175160971446">"Stórt"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Tengjast gagnaþjónustu í reiki"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Gagnasamband er ekki fyrir hendi vegna þess að þú hefur aftengst heimaneti og gagnareiki er ekki virkt."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Kveikja"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!\n\nÞessi stilling hefur áhrif á alla notendur spjaldtölvunnar."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!\n\nÞessi stilling hefur áhrif á alla notendur símans."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Leyfa gagnareiki?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Vandamál eru með samstillingu sem stendur. Hún verður aftur í boði von bráðar."</string>
<string name="add_account_label" msgid="7811707265834013767">"Bæta reikningi við"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Vinnusnið er ekki í boði ennþá"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Fjarlægja vinnusnið"</string>
<string name="background_data" msgid="5779592891375473817">"Bakgrunnsgögn"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Forrit geta alltaf samstillt, sent og tekið við gögnum"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Opnaðu myndavélina hratt án þess að taka skjáinn úr lás"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Aðdráttur á skjá"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"skjár þéttleiki, aðdráttur, stærð"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Minnkaðu eða stækkaðu öll atriði á skjánum. Hugsanlegt er að sum forrit á heimaskjánum færist til ef þú breytir þessari stillingu."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Forskoðun"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Minnka"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Stækka"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internetið er aðeins í boði gegnum Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Slökkt er á bakgrunnsgögnum"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Bakgrunnsgögn eru aðeins í boði yfir Wi-Fi. Þetta getur haft áhrif á sum forrit eða þjónustu þegar Wi-Fi er ekki í boði."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Tillögur (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Fjarlægja"</string>
<string name="color_temperature" msgid="2501579996151717270">"Lithiti skjás"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Virkja kaldan litblæ"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9416569..4530b4e 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Connessione a servizi di dati in roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Connettività dati persa: hai lasciato la rete del tuo operatore con il roaming dati disattivato."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Attiva"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Se consenti il roaming dei dati i costi potrebbero essere elevati."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Quando consenti il roaming dei dati, potrebbero essere addebitati costi significativi per il roaming.\n\nQuesta impostazione influisce su tutti gli utenti di questo tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Quando consenti il roaming dei dati, potrebbero essere addebitati costi significativi per il roaming.\n\nQuesta impostazione influisce su tutti gli utenti di questo telefono."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Consentire il roaming dei dati?"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"La sincronizzazione presenta dei problemi. Riprenderà a breve."</string>
<string name="add_account_label" msgid="7811707265834013767">"Aggiungi account"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Profilo di lavoro non ancora disponibile"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Rimuovi profilo di lavoro"</string>
<string name="background_data" msgid="5779592891375473817">"Dati in background"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Sincron., invio e ricezione dati possibili in ogni momento"</string>
@@ -2797,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet disponibile solo tramite Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"I dati in background sono disattivati"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"I dati in background sono disponibili solo tramite Wi-Fi. Ciò può condizionare qualche app o alcuni servizi quando la rete Wi-Fi non è disponibile."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Suggerimenti (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Rimuovi"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura colore del display"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Attiva la temperatura fredda"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 87a8d6a..cefe249 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -76,8 +76,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"בטל טעינה של כרטיס SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"מחק אחסון USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"מחק כרטיס SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"הגדל או הקטן את גודל הטקסט שעל המסך."</string>
<string name="small_font" msgid="2295331917424072635">"קטן"</string>
<string name="medium_font" msgid="2068475425515133701">"בינוני"</string>
<string name="large_font" msgid="599055175160971446">"גדול"</string>
@@ -267,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"התחבר לשירותי נתונים בנדידה"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"איבדת את קישוריות הנתונים כיוון שעזבת את הרשת הביתית בזמן שנדידת הנתונים היתה כבויה."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"הפעל"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"כשאתה מאפשר נדידה, ייתכן שתחויב בעלויות נדידה גבוהות!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"כשאתה מאפשר נדידה, הדבר עשוי להיות כרוך בעלויות נדידה גבוהות!\n\nהגדרה זו משפיעה על כל המשתמשים בטאבלט הזה."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"כשאתה מאפשר נדידה, הדבר עשוי להיות כרוך בעלויות נדידה גבוהות!\n\nהגדרה זו משפיעה על כל המשתמשים בטלפון הזה."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"האם לאפשר נדידה?"</string>
@@ -1969,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"הסינכרון נתקל כעת בבעיות. הוא ימשיך תוך זמן קצר."</string>
<string name="add_account_label" msgid="7811707265834013767">"הוסף חשבון"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"פרופיל עבודה עדיין אינו זמין"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"הסר פרופיל עבודה"</string>
<string name="background_data" msgid="5779592891375473817">"נתוני רקע"</string>
<string name="background_data_summary" msgid="8328521479872763452">"אפליקציות יכולות לסנכרן, לשלוח ולקבל נתונים בכל עת"</string>
@@ -2806,8 +2810,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"הפעל את המצלמה במהירות מבלי לבטל את נעילת הטלפון"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"מרחק מתצוגה במסך"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"דחיסות תצוגה, מרחק מתצוגה במסך, קנה מידה, שינוי קנה מידה"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"הגדל או הקטן את כל הפריטים שעל המסך. לאחר שינוי הגדרה זו, המיקום של אפליקציות מסוימות במסך דף הבית שלך עשוי להשתנות."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"תצוגה מקדימה"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"הקטנה"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"הגדלה"</string>
@@ -2851,8 +2854,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"האינטרנט זמין רק באמצעות Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"נתוני הרקע כבויים"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"נתוני הרקע זמינים רק באמצעות Wi-Fi. פעולה זו עשויה להשפיע על חלק מהאפליקציות והשירותים אם אין רשת Wi-Fi זמינה."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"הצעות (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"הסר"</string>
<string name="color_temperature" msgid="2501579996151717270">"טמפרטורת הצבע של התצוגה"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"הפעל צבעים קרירים"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index bfdf70b..2ef570c 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SDカードのマウント解除"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USBストレージ内データの消去"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SDカード内データを消去"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"画面上のテキストのサイズを変更します。"</string>
<string name="small_font" msgid="2295331917424072635">"小"</string>
<string name="medium_font" msgid="2068475425515133701">"中"</string>
<string name="large_font" msgid="599055175160971446">"大"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"ローミング中にデータサービスに接続します"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"データローミングをOFFにしたままホームネットワークの外に出たためデータ接続が切断されました。"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ONにする"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"データローミングを許可すると高額な通信料が発生することがあります。"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"データローミングを許可すると高額な通信料が発生することがあります。\n\nこの設定はこのタブレット上のすべてのユーザーに影響します。"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"データローミングを許可すると高額な通信料が発生することがあります。\n\nこの設定はこの端末上のすべてのユーザーに影響します。"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"データ ローミングを許可しますか?"</string>
@@ -1941,6 +1941,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"現在同期で問題が発生しています。しばらくお待ちください。"</string>
<string name="add_account_label" msgid="7811707265834013767">"アカウントを追加"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"仕事用プロファイルがまだ利用できません"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"仕事用プロファイルを削除"</string>
<string name="background_data" msgid="5779592891375473817">"バックグラウンドデータ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"アプリがデータをいつでも同期、送信、受信可能にする"</string>
@@ -2758,8 +2762,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"画面ロックを解除せずにすばやくカメラを起動します"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"画面のズーム"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"表示間隔、画面のズーム、スケール、拡大縮小"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"画面上のすべての項目のサイズを変更します。この設定を変更すると、ホーム画面で一部のアプリの位置が変わる場合があります。"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"プレビュー"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"縮小"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"拡大"</string>
@@ -2803,8 +2806,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"インターネットは Wi-Fi 接続時のみ利用できます"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"バックグラウンドデータ OFF"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"バックグラウンド データは Wi-Fi 接続時のみ利用できます。Wi-Fi に接続できない場合、一部のアプリやサービスに影響する可能性があります。"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"候補(<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"削除"</string>
<string name="color_temperature" msgid="2501579996151717270">"色温度の表示"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"クールを有効にする"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index d1aa2b4..4000a817 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"გამოაერთე SD ბარათი"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB მეხსიერების წაშლა"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD ბარათის გასუფთავება"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"ეკრანზე ტექსტის დაპატარავება ან გადიდება."</string>
<string name="small_font" msgid="2295331917424072635">"პატარა"</string>
<string name="medium_font" msgid="2068475425515133701">"საშუალო"</string>
<string name="large_font" msgid="599055175160971446">"დიდი"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"როუმინგის დროს ინტერნეტ სერვისებთან დაკავშირება"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"თქვენი ინტერნეტ კავშირი გაწყვეტილია, რადგან საშინაო ქსელი გამორთული ინტერნეტის როუმინგით დატოვეთ."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ჩართვა"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"ინტერნეტის როუმინგის ჩართვის შემთხვევაში, თქვენ შეიძლება დაგეკისროთ მაღალი დამატებითი ხარჯები!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ინტერნეტის როუმინგის გააქტიურებით შეიძლება გამოიწვიოთ მნიშვნელოვანი როუმინგ ცვლილებები!\n\nეს ცვლილება ეხება ამ ტაბლეტის ყველა მომხმარებელს."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ინტერნეტის როუმინგის გააქტიურებით შეიძლება გამოიწვიოთ მნიშვნელოვანი როუმინგ ცვლილებები!\n\nეს ცვლილება ეხება ამ ტელეფონის ყველა მომხმარებელს."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"გსურთ, ჩაირთოს ინტერნეტის როუმინგი?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"ამჟამად სინქრონიზაცია ვერ ხერხდება. ცოტა ხანში აღდგება."</string>
<string name="add_account_label" msgid="7811707265834013767">"ანგარიშის დამატება"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"სამუშაო პროფილი ჯერ არ არის ხელმისაწვდომი"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"სამუშაო პროფილის ამოშლა"</string>
<string name="background_data" msgid="5779592891375473817">"უკანა ფონის მონაცემები"</string>
<string name="background_data_summary" msgid="8328521479872763452">"აპებს ნებისმიერ დროს შეუძლიათ მონაცემების გაგზავნა, მიღება და სინქრონიზაცია"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"კამერის სწრაფად გახსნა ეკრანის განბლოკვის გარეშე"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"ეკრანის მასშტაბირება"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ეკრანის სიმკვრივე, ეკრანის მასშტაბირება, მასშტაბი, სკალირება"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"ეკრანზე არსებული ყველა ერთეულის დაპატარავება ან გადიდება. ამ პარამეტრის შეცვლის შემთხვევაში, ზოგიერთმა აპმა თქვენს მთავარ ეკრანზე შეიძლება პოზიცია შეიცვალოს."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"გადახედვა"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"დაპატარავება"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"გადიდება"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"ინტერნეტი ხელმისაწვდომია მხოლოდ Wi-Fi-ს მეშვეობით"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"უკანა ფონის მონაც. გამორთულია"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"უკანა ფონის მონაცემები ხელმისაწვდომია მხოლოდ Wi-Fi-ს მეშვეობით. ამან შეიძლება გავლენა იქონიოს ზოგიერთი აპის ან სერვისის მუშაობაზე, როცა Wi-Fi მიუწვდომელი იქნება."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"შეთავაზებები (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"ამოშლა"</string>
<string name="color_temperature" msgid="2501579996151717270">"ფერთა ტემპერატურის ჩვენება"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"ცივი ფერების ჩართვა"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 00c4820..b587d4e 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Роуминг кезінде дерекқор қызметіне жалғау"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Дерекқор байланысын жоғалттыңыз, себебі үй желісінің дерекқор роуминг қызметін өшірулі күйінде қалдырғансыз."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Оны қосыңыз"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!\n\nБұл параметр осы планшеттегі барлық пайдаланушыларға әсер етеді."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!\n\nБұл параметр осы телефондағы барлық пайдаланушыларға әсер етеді."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Дерекқор роумингіне рұқсат берілсін бе?"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Синх мәселесі орын алуда. Біраз уақыттан кейін оралады."</string>
<string name="add_account_label" msgid="7811707265834013767">"Есептік жазба қосу"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Жұмыс профилі әлі қол жетімді емес"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Жұмыс профилін жою"</string>
<string name="background_data" msgid="5779592891375473817">"Жалпы мағлұматтар дерекқоры"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Қолданбалар деректерді синхрондау, жіберу жұмыстарын орындайды және кез келген уақытта қабылдай алады."</string>
@@ -2797,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет тек Wi-Fi арқылы қол жетімді"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Фондық деректер өшірулі"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Фондық деректер тек Wi-Fi арқылы қол жетімді. Бұл Wi-Fi қол жетімді емес кезде кейбір қолданбаларға немесе қызметтерге әсер етуі мүмкін."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Ұсыныстар (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Жою"</string>
<string name="color_temperature" msgid="2501579996151717270">"Дисплейдің түс температурасы"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Салқын температураны қосу"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 365a705..7a96fba 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"តភ្ជាប់សេវាកម្មទិន្នន័យ ពេលរ៉ូមីង"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"អ្នកបាត់បង់ការតភ្ជាប់ទិន្នន័យ ព្រោះអ្នកបានចាកចេញពីបណ្ដាញនៅផ្ទះរបស់អ្នកដែលបានបិទការរ៉ូមីងទិន្នន័យ។"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"បើកវា"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"ពេលអ្នកអនុញ្ញាតរ៉ូមីងទិន្នន័យ អ្នកអាចនឹងត្រូវគិតថ្លៃសេវាកម្មរ៉ូមីង!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ពេលអ្នកឲ្យរ៉ូមីងទិន្នន័យ អ្នកអាចកាត់លុយពេលរ៉ូមីង!\n\nការកំណត់នេះមានប្រសិទ្ធភាពសម្រាប់អ្នកប្រើទាំងអស់លើកុំព្យូទ័របន្ទះនេះ។"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ពេលអ្នកអនុញ្ញាតរ៉ូមីងទិន្នន័យ អ្នកអាចត្រូវបានគិតថ្លៃសេវាកម្មរ៉ូមីង!\n\nការកំណត់នេះប៉ះពាល់ដល់អ្នកប្រើទាំងអស់លើទូរស័ព្ទនេះ។"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ឲ្យរ៉ូមីងទិន្នន័យ?"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"បច្ចុប្បន្នការធ្វើសមកាលកម្មមានបញ្ហា។ វានឹងដំណើរការក្នុងពេលឆាប់ៗនេះ។"</string>
<string name="add_account_label" msgid="7811707265834013767">"បន្ថែមគណនី"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"មិនទាន់មានប្រវត្តិរូបការងារនៅឡើយទេ"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"លុបប្រវត្តិរូបការងារ"</string>
<string name="background_data" msgid="5779592891375473817">"ទិន្នន័យផ្ទៃខាងក្រោយ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"កម្មវិធីអាចធ្វើសមកាលកម្ម ផ្ញើ និងទទួលទិន្នន័យនៅពេលណាមួយ"</string>
@@ -2797,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"អាចប្រើអ៊ីនធឺណិតបានតាមរយៈ Wi-Fi ប៉ុណ្ណោះ"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"ទិន្នន័យផ្ទៃខាងក្រោយបានបិទ"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"ទិន្នន័យផ្ទៃខាងក្រោយប្រើបានតាមរយៈ Wi-Fi ប៉ុណ្ណោះ។ វាអាចប៉ះពាល់កម្មវិធី ឬសេវាកម្មមួយចំនួន នៅពេលដែលមិនមាន Wi-Fi។"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"ការផ្តល់យោបល់ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"យកចេញ"</string>
<string name="color_temperature" msgid="2501579996151717270">"បង្ហាញសីតុណ្ហភាពពណ៌"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"បើកដំណើរសីតុណ្ហភាពត្រជាក់"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"វ៉ាយហ្វាយ"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 5cf9db2..fa7b102 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -83,7 +83,7 @@
<string name="font_size_preview_text_headline" msgid="7955317408475392247">"ಮಾದರಿ ಪಠ್ಯ"</string>
<string name="font_size_preview_text_title" msgid="4762429961714563135">"ಸಾಗರದ ಅಡಿಯಲ್ಲಿ ಇಪ್ಪತ್ತು ಸಾವಿರ ಲೀಗ್ಗಳು"</string>
<string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"ಅಧ್ಯಾಯ 23: ಕೋರಲ್ ಕಿಂಗ್ಡಮ್"</string>
- <string name="font_size_preview_text_body" msgid="1608889593334414309">"ಮಾರನೆಯ ದಿನ ನಾನು ಎದ್ದಾಗ ನನ್ನ ತಲೆಯು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಪಷ್ಟವಾಗಿತ್ತು. ನನ್ನ ಆಶ್ಚರ್ಯಕ್ಕೆ, ನಾನು ನನ್ನ ಸ್ವಂತ ಕೋಣೆಯಲ್ಲಿದ್ದೆ. ನನ್ನ ಜೊತೆಗಾರರು, ಎಂದಿಗಿಂತಲೂ ನಾನು ಹೆಚ್ಚು ಗ್ರಹಿಸದೆ ಅವರ ಕ್ಯಾಬಿನ್ನಲ್ಲಿ ಯಾವುದೇ ಸಂದೇಹವನ್ನು ಸೂಚಿಸಿರಲಿಲ್ಲ. ರಾತ್ರಿಯಲ್ಲಿ ಏನು ನಡೆದಿದೆ ಎಂಬುದರ ಕುರಿತು ಅವರು ನನ್ನಷ್ಟೇ ಸಾಕಷ್ಟು ಅರಿಯದಂತಿದ್ದರು, ಈ ರಹಸ್ಯವನ್ನು ಭೇದಿಸಲು ನಾನು ಭವಿಷ್ಯದ ಅವಕಾಶಗಳ ಕುರಿತು ಪರಿಗಣಿಸಿದೆ.\nನಂತರ ನಾನು ನನ್ನ ಕೋಣೆಯನ್ನು ತೊರೆಯಲು ಆಲೋಚಿಸಿದೆ. ನಾನು ಮತ್ತೆ ಮುಕ್ತವಾಗಿದ್ದೇನೆಯೇ ಅಥವಾ ಬಂಧಿಯಾಗಿದ್ದೇನೆಯೇ? ಸ್ವಲ್ಪ ಮುಕ್ತ. ನಾನು ಬಾಗಿಲನ್ನು ತೆರೆದೆ, ಅರ್ಧ ಡೆಕ್ಗೆ ಹೋದೆ, ಮಧ್ಯದ ಸ್ಟೇರ್ಗಳಿಗೆ ಹೋದೆ. ಪ್ಯಾನಲ್ಗಳು ನಾವು ತೆರೆಯುವ ಮೊದಲೇ ಮುಚ್ಚಲಾಗಿತ್ತು. ನಾನು ಪ್ಲ್ಯಾಟ್ಫಾರ್ಮ್ಗೆ ಹೋದೆ.\nನೆಡ್ ಲ್ಯಾಂಡ್ ಮತ್ತು ಕಾನ್ಸಿಲ್ ಅಲ್ಲಿ ನನಗಾಗಿ ಕಾಯುತ್ತಿದ್ದರು. ನಾನು ಅವರನ್ನು ಪ್ರಶ್ನಿಸಿದೆ; ಅವರಿಗೆ ಏನೂ ತಿಳಿದಿರಲಿಲ್ಲ. ಅವರು ಮೈಮರೆತು ನಿದ್ರೆ ಹೋಗುವುದರಲ್ಲಿ ಅವರು ಸಂಪೂರ್ಣ ಜ್ಞಾನ ತಪ್ಪಿತ್ತು, ಅವರ ಕ್ಯಾಬಿನ್ನಲ್ಲಿ ಅವರನ್ನೇ ಹುಡುಕುವಲ್ಲಿ ಆಶ್ಚರ್ಯಚಕಿತರಾಗಿದ್ದರು."</string>
+ <string name="font_size_preview_text_body" msgid="1608889593334414309">"ಮಾರನೆಯ ದಿನ ನಾನು ಎದ್ದಾಗ ನನ್ನ ಮನಸ್ಸು ನಿರಾಳವಾಗಿತ್ತು, ಗೊಂದಲರಹಿತವಾಗಿತ್ತು. ನನಗೆ ಆಶ್ಚರ್ಯವಾಗಿದ್ದೇನೆಂದರೆ, ನಾನು ನನ್ನ ಸ್ವಂತ ಕೋಣೆಯಲ್ಲಿದ್ದೆ. ನನ್ನ ಜೊತೆಗಾರರು, ಎಂದಿನಂತೆ, ತಮ್ಮ ಕ್ಯಾಬಿನ್ಗಳಲ್ಲಿದ್ದರು. ನನ್ನ ಕುರಿತಾದ ಈ ಗ್ರಹಿಕೆ ಅವರಿಗೆ ಸಾಧ್ಯವಾಗಿರಲಿಲ್ಲ. ರಾತ್ರಿ ನಡೆದದ್ದು ಏನು ಎಂಬುದರ ಕುರಿತು ನನಗಿದ್ದಷ್ಟೇ ಅಜ್ಞಾನ ಅವರಿಗೂ ಇತ್ತು. ಈ ವಿಸ್ಮಯವನ್ನು ಬೇಧಿಸಲು ನಾನೇ ಭವಿಷ್ಯದ ಸಾಧ್ಯತೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿದೆ. \nನನ್ನ ಕೋಣೆಯಿಂದ ಹೊರನಡೆಯಲು ಮುಂದಾದೆ. ಆಗಲಾದರೂ ನಾನು ಸ್ವತಂತ್ರನಾಗಿದ್ದೆನೇ? ಅಥವಾ ಬಂಧಿತನಾಗಿದ್ದೆನೇ? ಖಂಡಿತ ಸ್ವತಂತ್ರನಾಗಿದ್ದೆ. ಬಾಗಿಲು ತೆರೆದೆ, ಅರ್ಧ ಡೆಕ್ಗೆ ಹೋದೆ ಹಾಗೂ ಮಧ್ಯದ ಮೆಟ್ಟಿಲುಗಳ ಬಳಿ ಹೋದೆ. ಹಿಂದಿನ ಸಂಜೆ ಮುಚ್ಚಿದ್ದ ಪ್ಯಾನೆಲ್ಗಳು ತೆರೆದುಕೊಂಡಿದ್ದವು, ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗೆ ಹೋದೆ.\nನೆಡ್ ಲ್ಯಾಂಡ್ ಮತ್ತು ಕಾನ್ಸಿಲ್ ಅಲ್ಲಿ ನನಗಾಗಿ ಕಾಯುತ್ತಿದ್ದರು. ನಾನವರನ್ನು ಪ್ರಶ್ನಿಸಿದೆ; ಅವರಿಗೆ ಏನೆಂದರೆ ಏನೂ ತಿಳಿದಿರಲಿಲ್ಲ. ಗಾಢ ನಿದ್ದೆಯಲ್ಲಿ ಮೈಮರೆತು ಮಲಗಿದ್ದ ಅವರು ತಾವು ತಮ್ಮ ಕ್ಯಾಬಿನ್ನಲ್ಲಿಯೇ ಇರುವುದನ್ನು ಅರಿತುಕೊಂಡು ಸ್ಥಂಭೀಭೂತರಾಗಿದ್ದರು."</string>
<string name="font_size_save" msgid="3450855718056759095">"ಸರಿ"</string>
<string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB ಸಂಗ್ರಹಣೆ"</string>
<string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD ಕಾರ್ಡ್"</string>
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"ರೋಮಿಂಗ್ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಸೇವೆಗಳಿಗೆ ಸಂಪರ್ಕಪಡಿಸಿ"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"ಡೇಟಾ ರೋಮಿಂಗ್ ಆಫ್ ಮಾಡಿದ ಸ್ಥಿತಿಯಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಹೋಮ್ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಇರಿಸಿರುವ ಕಾರಣ ನೀವು ಡೇಟಾ ಸಂಪರ್ಕ ಕಲ್ಪಿಸುವಿಕೆಯನ್ನು ಕಳೆದುಕೊಂಡಿರುವಿರಿ."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ಇದನ್ನು ಆನ್ ಮಾಡು"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್ ಅನ್ನು ಅನುಮತಿಸಿದರೆ, ನೀವು ಗಣನೀಯವಾಗಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗಬಹುದು!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್ಗೆ ಅನುಮತಿ ನೀಡಿದರೆ, ನೀವು ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗುತ್ತದೆ!\n\nಈ ಟ್ಯಾಬ್ಲೆಟ್ನಲ್ಲಿನ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಈ ಸೆಟ್ಟಿಂಗ್ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್ ಅನ್ನು ಅನುಮತಿಸಿದರೆ, ನೀವು ಗಣನಿಯವಾಗಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗಬಹುದು!\n\nಈ ಫೋನ್ನಲ್ಲಿ ಈ ಸೆಟ್ಟಿಂಗ್ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ಡೇಟಾ ರೋಮಿಂಗ್ ಅನುಮತಿಸುವುದೇ?"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"ಸಿಂಕ್ ಈಗ ಕೊಂಚ ಸಮಸ್ಯೆ ಎದುರಿಸುತ್ತಿದೆ. ಶೀಘ್ರದಲ್ಲಿಯೇ ಅದು ಯಥಾಸ್ಥಿತಿಗೆ ಬರಲಿದೆ."</string>
<string name="add_account_label" msgid="7811707265834013767">"ಖಾತೆ ಸೇರಿಸು"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಇನ್ನೂ ಲಭ್ಯವಿಲ್ಲ"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ತೆಗೆದುಹಾಕಿ"</string>
<string name="background_data" msgid="5779592891375473817">"ಹಿನ್ನೆಲೆ ಡೇಟಾ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಡೇಟಾವನ್ನು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಸಿಂಕ್ ಮಾಡಬಹುದು, ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಸ್ವೀಕರಿಸಬಹುದು."</string>
@@ -2797,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"ಇಂಟರ್ನೆಟ್ ವೈ-ಫೈ ಮೂಲಕ ಮಾತ್ರ ಲಭ್ಯವಿದೆ"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"ಹಿನ್ನೆಲೆ ಡೇಟಾ ಆಫ್ ಆಗಿದೆ"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"ಹಿನ್ನೆಲೆ ಡೇಟಾವು ವೈ-ಫೈ ಮೂಲಕ ಮಾತ್ರ ಲಭ್ಯವಾಗುತ್ತದೆ. ವೈ-ಫೈ ಲಭ್ಯವಿಲ್ಲದೆ ಇರುವಾಗ ಇದು ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಅಥವಾ ಸೇವೆಗಳಿಗೆ ಪರಿಣಾಮ ಬೀರಬಹುದು."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"ಸಲಹೆಗಳು (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"ತೆಗೆದುಹಾಕಿ"</string>
<string name="color_temperature" msgid="2501579996151717270">"ಪ್ರದರ್ಶನ ಬಣ್ಣದ ತಾಪಮಾನ"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"ಬಣ್ಣದ ತಾಪಮಾನವನ್ನು ಸಕ್ರಕಿಯಗೊಳಿಸಿ"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 629ae1c..629dea6 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD 카드 마운트 해제"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB 저장소 지우기"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD 카드 지우기"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"화면 텍스트를 축소 또는 확대합니다."</string>
<string name="small_font" msgid="2295331917424072635">"작게"</string>
<string name="medium_font" msgid="2068475425515133701">"보통"</string>
<string name="large_font" msgid="599055175160971446">"크게"</string>
@@ -84,7 +83,7 @@
<string name="font_size_preview_text_headline" msgid="7955317408475392247">"샘플 텍스트"</string>
<string name="font_size_preview_text_title" msgid="4762429961714563135">"해저 2만 리"</string>
<string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"23장: 산호 왕국"</string>
- <string name="font_size_preview_text_body" msgid="1608889593334414309">"다음 날 아침 잠에서 깼을 때는 이상하게 머리가 개운했다. 놀랍게도 나는 내 방에 있었다. 동료들 역시 다들 영문을 모른 채 자신들의 선실에 돌아와 있었다. 어젯밤 무슨 일이 휩쓸고 지나갔는지 동료들도 나만큼이나 알지 못했고, 이 미스터리는 시간이 지난 후에야 풀릴 것이라고 생각했다.\n방을 나가자는 생각이 들었다. 나는 풀려난 것일까, 아니면 여전히 포로인 것일까? 나는 꽤 자유로운 상태였다. 문을 열고, 반갑판으로 가서, 중앙 계단을 올랐다. 저녁에는 닫혀 있던 패널이 열려 있었다. 나는 플랫폼으로 발걸음을 옮겼다.\n네드랜드와 꽁세이유가 나를 기다리고 있었다. 그들에게 어떻게 된 일이냐고 물었지만 두 사람도 알지 못했다. 완전히 정신을 잃고 깊은 잠에 빠졌던 두 사람은 자신들의 선실에 돌아와 있는 것을 발견하고 깜짝 놀랐다."</string>
+ <string name="font_size_preview_text_body" msgid="1608889593334414309">"다음 날 아침 잠에서 깼을 때는 이상하게 머리가 개운했다. 놀랍게도 나는 내 방에 있었다. 동료들 역시 다들 영문을 모른 채 자신들의 선실에 돌아와 있었다. 어젯밤 무슨 일이 휩쓸고 지나갔는지 동료들도 나만큼이나 알지 못했고, 이 미스터리는 시간이 지난 후에야 풀릴 것이라고 생각했다.\n방을 나가자는 생각이 들었다. 나는 풀려난 것일까, 아니면 여전히 포로인 것일까? 나는 꽤 자유로운 상태였다. 문을 열고, 반갑판으로 가서, 중앙 계단을 올랐다. 어제 저녁에는 닫혀 있었던 패널이 열려 있었다. 나는 플랫폼으로 발걸음을 옮겼다.\n네드랜드와 꽁세이유가 나를 기다리고 있었다. 그들에게 어떻게 된 일이냐고 물었지만 두 사람도 알지 못했다. 완전히 정신을 잃고 깊은 잠에 빠졌던 두 사람은 자신들의 선실에 돌아와 있는 것을 발견하고 깜짝 놀랐다."</string>
<string name="font_size_save" msgid="3450855718056759095">"확인"</string>
<string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 저장소"</string>
<string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 카드"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"로밍 시 데이터 서비스에 연결"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"데이터 로밍을 사용 중지한 상태에서 홈 네트워크를 벗어났으므로 데이터 연결이 끊어졌습니다."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"사용"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 태블릿의 모든 사용자에게 영향을 줍니다."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 휴대전화의 모든 사용자에게 영향을 줍니다."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"데이터 로밍을 허용하시겠습니까?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"현재 동기화에 문제가 발생했습니다. 잠시 후에 다시 실행됩니다."</string>
<string name="add_account_label" msgid="7811707265834013767">"계정 추가"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"아직 직장 프로필을 사용할 수 없습니다."</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"직장 프로필 삭제"</string>
<string name="background_data" msgid="5779592891375473817">"백그라운드 데이터"</string>
<string name="background_data_summary" msgid="8328521479872763452">"앱이 언제든지 데이터를 동기화하고 보내고 받을 수 있음"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"화면을 잠금 해제하지 않고 신속하게 카메라를 열 수 있습니다."</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"화면 확대/축소"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"디스플레이 밀도, 화면 확대/축소, 크기, 크기 조정"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"화면의 모든 항목을 축소 또는 확대합니다. 이 설정을 변경하면 메인 스크린에서 일부 앱의 위치가 변경될 수 있습니다."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"미리보기"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"축소"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"확대"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"인터넷은 Wi-Fi를 통해서만 사용할 수 있습니다."</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"백그라운드 데이터 사용 중지됨"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"백그라운드 데이터는 Wi-Fi를 통해서만 사용할 수 있습니다. Wi-Fi를 사용할 수 없는 경우 일부 앱이나 서비스에 영향을 미칠 수 있습니다."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"추천(<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"삭제"</string>
<string name="color_temperature" msgid="2501579996151717270">"디스플레이 색상 온도"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"차가운 온도 사용 설정"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 260a89b..9f2ca01 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD карта ажыратылсын"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB сактагычты тазалоо"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD картаны тазалоо"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Экрандагы текстти кичирейтип же чоңойтуңуз."</string>
<string name="small_font" msgid="2295331917424072635">"Кичине"</string>
<string name="medium_font" msgid="2068475425515133701">"Орточо"</string>
<string name="large_font" msgid="599055175160971446">"Чоң"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Роуминг учурунда мобилдик интернетке туташтырылсын"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Жергиликтүү тармагыңыздан интернет-роуминг өчүрүлгөн абалда кеткендиктен Интернет туташуусун жоготтуңуз."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Аны күйгүзүү"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Интернет-роумингге жол бергенде, сиз роуминг үчүн чоң төлөмгө кирептер болушуңуз мүмкүн!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Интернет-роумингге жол бергенде, сиз роуминг үчүн чоң төлөмгө кирептер болушуңуз мүмкүн!\n\nБул тууралоо планшеттин бардык колдонуучуларына таратылат."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Интернет-роумингге жол бергенде, сиз роуминг үчүн чоң төлөмгө кирептер болушуңуз мүмкүн!\n\nБул тууралоо телефондун бардык колдонуучуларына таратылат."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Интернет-роумингге жол берилсинби?"</string>
@@ -1206,7 +1206,7 @@
<string name="location_sources_heading" msgid="1278732419851088319">"Жайгаштыруу булактары"</string>
<string name="about_settings" product="tablet" msgid="593457295516533765">"Планшет жөнүндө"</string>
<string name="about_settings" product="default" msgid="1743378368185371685">"Телефон жөнүндө"</string>
- <string name="about_settings" product="emulator" msgid="221313099578564438">"Көчүрмөлөнгөн түзмөк жөнүндө"</string>
+ <string name="about_settings" product="emulator" msgid="221313099578564438">"Эмуляцияланган түзмөк жөнүндө"</string>
<string name="about_settings_summary" msgid="3371517697156165959">"Юридикалык маалыматты, абалын, программа версиясын көрүү"</string>
<string name="legal_information" msgid="5769301644270604095">"Юридикалык маалыматтар"</string>
<string name="contributors_title" msgid="5917703088825286504">"Салым кошуучулар"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Учурда шайкештирүү көйгөйгө дуушар болууда. Ал бир аздан кийин калыбына келет."</string>
<string name="add_account_label" msgid="7811707265834013767">"Каттоо эсебин кошуу"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Жумуш профили азырынча жеткиликтүү эмес"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Жумуш профилин алып салуу"</string>
<string name="background_data" msgid="5779592891375473817">"Фондук дайындар"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Колдонмолордо каалаган убакта синхрондошуу, берилиштерди жөнөтүп, кабыл алуу мүмкүнчүлүгү бар"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Камераны экраныңыздын кулпусун ачпастан, тез эле ачып алыңыз"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Экрандын өлчөмүн өзгөртүү"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"дисплей тыгыздыгы, экранды чоңойтуу, шкла, шкалалоо"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Экрандагы бардык нерселерди кичирейтип же чоңойтуңуз. Бул жөндөө өзгөртүлгөндөн кийин башкы экраныңыздагы айрым колдонмолордун орду өзгөрүшү мүмкүн."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Алдын ала көрүү"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Кичирээк кылуу"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Чоңураак кылуу"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет Wi-Fi аркылуу гана жеткиликтүү"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Фондук дайындар өчүк"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Дайындарды фондук режимде өткөрүү үчүн Wi-Fi тармагына туташуу керек. Wi-Fi жок болгондо, айрым кызматтар менен колдонмолор иштебей калат."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Сунуштар (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Алып салуу"</string>
<string name="color_temperature" msgid="2501579996151717270">"Дисплейдин түстүү температурасы"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Салкын температураны иштетүү"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 0c06c4f..cda926e 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"ຖອດການເຊື່ອມຕໍ່ SD card"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"ລຶບບ່ອນເກັບຂໍ້ມູນ USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"ລຶບຂໍ້ມູນໃນ SD card"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"ເຮັດໃຫ້ຂໍ້ຄວາມໃນໜ້າຈໍນ້ອຍລົງ ຫຼື ໃຫຍ່ຂຶ້ນ."</string>
<string name="small_font" msgid="2295331917424072635">"ຂະໜາດນ້ອຍ"</string>
<string name="medium_font" msgid="2068475425515133701">"ຂະໜາດກາງ"</string>
<string name="large_font" msgid="599055175160971446">"ຂະໜາດໃຫຍ່"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"ເຊື່ອມຕໍ່ບໍລິການຂໍ້ມູນເມື່ອໃຊ້ໂຣມມິງ"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"ທ່ານໄດ້ຖືກຕັດການເຊື່ອມຕໍ່ຂໍ້ມູນ ເນື່ອງຈາກທ່ານອອກຈາກເຄືອຂ່າຍໃນເຮືອນ ໂດຍປິດການໂຣມມິງຂໍ້ມູນໄວ້"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ເປີດໃຊ້ມັນ"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໃຊ້ການໂຣມມິງຂໍ້ມູນ ທ່ານອາດຈະຕ້ອງເສຍຄ່າໃຊ້ຈ່າຍການໂຣມມິງຫຼາຍ!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໂຣມມິງຂໍ້ມູນໄດ້ແລ້ວ, ທ່ານອາດຕ້ອງເສຍຄ່າໂຣມມິງຈຳນວນຫຼາຍ!\n\nການຕັ້ງຄ່ານີ້ມີຜົນກັບທຸກຜູ່ໃຊ້ໃນແທັບເລັດນີ້."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໃຊ້ການໂຣມມິງຂໍ້ມູນ ທ່ານອາດຈະຕ້ອງເສຍຄ່າໃຊ້ຈ່າຍການໂຣມມິງຫຼາຍ! \n\nການຕັ້ງຄ່ານີ້ຈະມີຜົນກັບທຸກຜູ່ໃຊ້ໃນໂທລະສັບນີ້."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ອະນຸຍາດໃຫ້ໂຣມມິງຂໍ້ມູນໄດ້?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"ການຊິ້ງຂໍ້ມູນກຳລັງປະສົບບັນຫາຢູ່ໃນປັດຈຸບັນ. ມັນຈະກັບມາໃຊ້ໄດ້ໃນໄວໆນີ້."</string>
<string name="add_account_label" msgid="7811707265834013767">"ເພີ່ມບັນຊີ"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກບໍ່ສາມາດໃຊ້ໄດ້ເທື່ອ"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"ລຶບໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
<string name="background_data" msgid="5779592891375473817">"ຂໍ້ມູນພື້ນຫຼັງ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"ແອັບຯສາມາດຊິ້ງຂໍ້ມູນ, ສົ່ງ ແລະຮັບຂໍ້ມູນໄດ້ທຸກເວລາ"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"ເປີດກ້ອງຖ່າຍຮູບດ່ວນໂດຍບໍ່ຕ້ອງປົດລັອກໜ້າຈໍຂອງທ່ານ"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"ການຊູມໜ້າຈໍ"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ຄວາມໜາແໜ້ນຈໍສະແດງຜົນ, ການຊູມໜ້າຈໍ, ຂະໜາດ, ການຈັດມາດຕາສ່ວນ"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"ເຮັດໃຫ້ທຸກລາຍການຢູ່ໃນໜ້າຈໍນ້ອຍລົງ ຫຼື ໃຫຍ່ຂຶ້ນ. ບາງແອັບຢູ່ໃນໜ້າຈໍຫຼັກຂອງທ່ານອາດຈະປ່ຽນຕຳແໜ່ງ ຫຼັງຈາກປ່ຽນການຕັ້ງຄ່ານີ້."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"ສະແດງຕົວຢ່າງ"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"ເຮັດໃຫ້ນ້ອຍລົງ"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"ເຮັດໃຫ້ໃຫຍ່ຂຶ້ນ"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"ສາມາດໃຊ້ອິນເຕີເນັດໄດ້ຜ່ານ Wi-Fi ເທົ່ານັ້ນ"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"ຂໍ້ມູນພື້ນຫຼັງປິດຢູ່"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"ຂໍ້ມູນພື້ນຫຼັງແມ່ນສາມາດໃຊ້ໄດ້ຜ່ານ Wi-Fi ເທົ່ານັ້ນ. ນີ້ອາດມີຜົນຕໍ່ກັບບາງແອັບຯ ຫຼືການບໍລິການໃນເວລາທີ່ບໍ່ມາມາດໃຊ້ Wi-Fi ໄດ້."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"ຄໍາແນະນໍາ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"ລຶບອອກ"</string>
<string name="color_temperature" msgid="2501579996151717270">"ອຸນຫະພູມສີຂອງຈໍສະແດງຜົນ"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"ເປີດນໍາໃຊ້ອຸນຫະພູມເຢັນ"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 072d60d..df5d1b7 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -266,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Veikiant tarptinkliniam ryšiui, prisijungti prie duomenų paslaugų"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Praradote duomenų jungiamumą, nes pagrindinį tinklą palikote išjungę tarptinklinį ryšį."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Įjungti"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Leisdami tarptinklinį duomenų ryšį, galite būti apmokestinti nemažais tarptinklinio ryšio mokesčiais!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi dideli tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas turi įtakos visiems šio planšetinio kompiuterio naudotojams."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi dideli tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas turi įtakos visiems šio telefono naudotojams."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Leisti tarptinklinį duomenų ryšį?"</string>
@@ -1968,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Šiuo metu iškilo sinchronizavimo problemų. Greitai jis vėl vyks."</string>
<string name="add_account_label" msgid="7811707265834013767">"Pridėti paskyrą"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Darbo profilis dar nepasiekiamas"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Pašalinti darbo profilį"</string>
<string name="background_data" msgid="5779592891375473817">"Foniniai duomenys"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Programos gali bet kada sinchron., siųsti ir gauti duomenis"</string>
@@ -2849,8 +2854,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internetas pasiekiamas tik prisijungus prie „Wi-Fi“ ryšio"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Foniniai duomenys išjungti"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Foniniai duomenys pasiekiami tik prisijungus prie „Wi-Fi“ ryšio. Tai gali paveikti kai kurias programas ar paslaugas, kai „Wi-Fi“ ryšys nepasiekiamas."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Pasiūlymai (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Pašalinti"</string>
<string name="color_temperature" msgid="2501579996151717270">"Ekrano spalvų temperatūra"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Įgalinti šaltų spalvų temperatūrą"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 4728600..87c0d7a 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -75,8 +75,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Atvienot SD karti"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Dzēst USB krātuvi"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Dzēst SD karti"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Palieliniet vai samaziniet tekstu ekrānā."</string>
<string name="small_font" msgid="2295331917424072635">"Mazs"</string>
<string name="medium_font" msgid="2068475425515133701">"Vidējs"</string>
<string name="large_font" msgid="599055175160971446">"Liels"</string>
@@ -266,7 +265,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Viesabonēšanas laikā izveidot savienojumu ar datu pakalpojumiem"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Datu savienojamība ir zaudēta, jo mājas tīkls ar datu viesabonēšanu ir izslēgts."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ieslēgt"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas.\n\nŠis iestatījums ietekmē visus planšetdatora lietotājus."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas.\n\nŠis iestatījums ietekmē visus tālruņa lietotājus."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Vai atļaut datu viesabonēšanu?"</string>
@@ -1953,6 +1953,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Pašreiz ir sinhronizācijas problēmas. Drīz šī darbība atkal būs pieejama."</string>
<string name="add_account_label" msgid="7811707265834013767">"Pievienot kontu"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Darba profils vēl nav pieejams"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Noņemt darba profilu"</string>
<string name="background_data" msgid="5779592891375473817">"Fona dati"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Lietotnēs jebkurā brīdī var sinhr., sūtīt un saņemt datus"</string>
@@ -2779,8 +2783,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ērta kameras atvēršana, neatbloķējot ekrānu"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Ekrāna tālummaiņa"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"attēlojums, blīvums, ekrāna tālummaiņa, mērogs, mērogošana"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Padariet visus vienumus ekrānā lielākus vai mazākus. Mainot šo iestatījumu, var mainīties dažu lietotņu pozīcija sākuma ekrānā."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Priekšskatījums"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Samazināt"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Palielināt"</string>
@@ -2824,8 +2827,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internets ir pieejams, izmantojot tikai Wi-Fi savienojumu"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Fona dati ir izslēgti"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Fona dati ir pieejami, izmantojot tikai Wi-Fi savienojumu. Tas var ietekmēt dažu lietotņu vai pakalpojumu darbību, kad Wi-Fī tīkls nav pieejams."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Ieteikumi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Noņemt"</string>
<string name="color_temperature" msgid="2501579996151717270">"Ekrāna krāsu temperatūra"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Iespējot vēsu krāsu temperatūru"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 1bf74aa..896cc55 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Одмонтирај СД картичка"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Избриши УСБ меморија"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Избриши СД картичка"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Направете го текстот на екранот помал или поголем."</string>
<string name="small_font" msgid="2295331917424072635">"Мали"</string>
<string name="medium_font" msgid="2068475425515133701">"Среден"</string>
<string name="large_font" msgid="599055175160971446">"Голем"</string>
@@ -265,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Поврзи се со податочни услуги во роаминг"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Изгубивте поврзување податоци зашто на вашата домашна мрежа исклучивте роаминг на податоци."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Вклучи"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"Може да направите големи трошоци."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!\n\nОва подесување влијае на сите корисници на овој таблет."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!\n\nОва подесување влијае на сите корисници на овој телефон."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Дозволи роаминг на податоци?"</string>
@@ -1937,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Во моментов има проблеми со синхронизацијата. Ќе се среди наскоро."</string>
<string name="add_account_label" msgid="7811707265834013767">"Додај сметка"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Работниот профил уште не е достапен"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Режим на работа"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Дозволете работниот профил да функционира, вклучувајќи ги апликациите, синхронизирањето во заднина и други поврзани карактеристики"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Отстрани го работниот профил"</string>
<string name="background_data" msgid="5779592891375473817">"Податоци во заднина"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Апл. може секогаш да се синхрон., праќаат и примаат податоци"</string>
@@ -2754,8 +2755,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Брзо отворете ја камерата без да го отклучувате екранот"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Зум на екранот"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"големина на екран, зумирај екран, скалирај, скалирање"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Направете ги сите ставки на екранот помали или поголеми. Некои апликации на почетниот екран може да ја сменат позицијата откако ќе ја измените поставката."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Преглед"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Намали"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Зголеми"</string>
@@ -2799,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Интернетот е достапен само преку Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Исклучен сообраќај во заднина"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Сообраќајот во заднина е достапен само преку Wi-Fi. Ова може да влијае на некои апликации или услуги кога Wi-Fi не е достапно."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Работниот профил е исклучен"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Апликациите, синхронизирањето во заднина и други карактеристики поврзани со вашиот работен профил се исклучени."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Предлози (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Отстрани"</string>
<string name="color_temperature" msgid="2501579996151717270">"Температура на бојата на екранот"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Овозможи ладна температура"</string>
+ <string name="usage" msgid="2977875522080448986">"Користење"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Потрошен сообраќај на мобилни податоци"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Потрошен сообраќај на податоци преку Wi-Fi"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Потрошен сообраќај на етернет податоци"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Етернет"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> мобилни податоци"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> податоци преку Wi-Fi"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> етернет податоци"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Предупредување за податоците"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Предупредување за податоците/<xliff:g id="ID_2">%2$s</xliff:g> Ограничување на податоците"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Циклус за наплата"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Месечниот циклус почнува на <xliff:g id="ID_1">%1$s</xliff:g> секој месец"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Месечно, почнувајќи на <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Ограничувања на мрежата"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"Пресметувањето на податоците од страна на операторот може да се разликува од она на вашиот уред."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> потрошено"</string>
+ <string name="data_warning" msgid="209133958008062117">"Предупредување за податоците"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Постави ограничување податоци"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Ограничување податоци"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> потрошено помеѓу <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Конфигурирај"</string>
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index a0445fa..e0b4b0c 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD കാർഡ് അൺമൗണ്ടുചെയ്യുക"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB സ്റ്റോറേജ് മായ്ക്കുക"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD കാർഡ് മായ്ക്കുക"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"സ്ക്രീനിലെ ടെക്സ്റ്റ് ചെറുതോ വലുതോ ആക്കുക."</string>
<string name="small_font" msgid="2295331917424072635">"ചെറുത്"</string>
<string name="medium_font" msgid="2068475425515133701">"ഇടത്തരം"</string>
<string name="large_font" msgid="599055175160971446">"വലുത്"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"റോമിംഗിലായിരിക്കുമ്പോൾ ഡാറ്റ സേവനങ്ങളിൽ കണക്റ്റുചെയ്യുക"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"ഡാറ്റ റോമിംഗ് ഓഫുചെയ്തതിനൊപ്പം നിങ്ങളുടെ ഹോം നെറ്റ്വർക്കും നഷ്ടമായതിനാൽ നിങ്ങൾക്ക് ഡാറ്റ കണക്റ്റിവിറ്റി നഷ്ടപ്പെട്ടു."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"അത് ഓണാക്കുക"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!\n\nഈ ടാബ്ലെറ്റിലെ എല്ലാ ഉപയോക്താക്കളെയും ഈ ക്രമീകരണം ബാധിക്കുന്നു."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!\n\nഈ ഫോണിലെ എല്ലാ ഉപയോക്താക്കളെയും ഈ ക്രമീകരണം ബാധിക്കുന്നു."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ഡാറ്റ റോമിംഗ് അനുവദിക്കണോ?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"സമന്വയം നിലവിൽ പ്രശ്നങ്ങൾ നേരിടുകയാണ്. ഇത് ഉടൻ പരാജയപ്പെടും."</string>
<string name="add_account_label" msgid="7811707265834013767">"അക്കൗണ്ട് ചേർക്കുക"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"ഔദ്യോഗിക പ്രൊഫൈൽ ഇതുവരെ ലഭ്യമല്ല"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"ഔദ്യോഗിക പ്രൊഫൈൽ നീക്കംചെയ്യുക"</string>
<string name="background_data" msgid="5779592891375473817">"പശ്ചാത്തല ഡാറ്റ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"അപ്ലിക്കേഷനുകൾക്ക് ഏതു സമയത്തും ഡാറ്റ സമന്വയിപ്പിക്കാനും അയയ്ക്കാനും നേടാനുമാകും"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"സ്ക്രീൻ അൺലോക്ക് ചെയ്യാതെ തന്നെ, അതിവേഗം ക്യാമറ തുറക്കുക"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"സ്ക്രീൻ സൂം"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ഡിസ്പ്ലേ ഡെൻസിറ്റി, സ്ക്രീൻ സൂം, സ്കെയിൽ, സ്കെയിലിംഗ്"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"സ്ക്രീനിലെ എല്ലാ ഇനങ്ങളും ചെറുതോ വലുതോ ആക്കുക. ഈ ക്രമീകരണം മാറ്റിക്കഴിഞ്ഞാൽ നിങ്ങളുടെ ഹോം സ്ക്രീനിലെ ചില ആപ്സിന്റെ സ്ഥാനം മാറിയേക്കാം."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"പ്രിവ്യു നടത്തുക"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"ചെറുതാക്കുക"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"വലുതാക്കുക"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"വൈഫൈ വഴി മാത്രം ഇന്റർനെറ്റ് ലഭ്യമാണ്"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"പശ്ചാത്തല ഡാറ്റ ഓഫാണ്"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"വൈഫൈ വഴി മാത്രം പശ്ചാത്തല ഡാറ്റ ലഭ്യമാണ്. വൈഫൈ ലഭ്യമല്ലാത്തപ്പോൾ ചില ആപ്സോ സേവനങ്ങളോ ഇതിനാൽ ബാധിക്കപ്പെട്ടേക്കാം."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"നിർദ്ദേശങ്ങൾ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"നീക്കംചെയ്യുക"</string>
<string name="color_temperature" msgid="2501579996151717270">"ഡിസ്പ്ലേ വർണ്ണ താപനില"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"തണുത്ത താപനില പ്രവർത്തനക്ഷമമാക്കുക"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index bb886fb..ca96134 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD картыг салгах"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB санг арилгах"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD картыг арилгах"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Дэлгэцийн текстийг томруулах, жижигрүүлэх."</string>
<string name="small_font" msgid="2295331917424072635">"Жижиг"</string>
<string name="medium_font" msgid="2068475425515133701">"Дундаж"</string>
<string name="large_font" msgid="599055175160971446">"Том"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Роумингтэй үед дата үйлчилгээнд холбогдох"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Та төрөлх сүлжээнээс дата роумингыг унтраагаад гарсан тул дата холболтоо алдлаа."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Асаах"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Та дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!\n\nЭнэ тохиргоо энэ таблетын бүх хэрэглэгчид хамаарна."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!\n\nЭнэ тохиргоо энэ утасны бүх хэрэглэгчид хамаарна."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Дата роумингыг зөвшөөрөх үү?"</string>
@@ -1927,6 +1927,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Синк хийхэд асуудал үүсээд байна. Удахгүй зүгээр болох болно."</string>
<string name="add_account_label" msgid="7811707265834013767">"Акаунт нэмэх"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Ажлын профайлыг хараахан ашиглах боломжгүй"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Ажлын профайлыг арилгах"</string>
<string name="background_data" msgid="5779592891375473817">"Далд өгөгдөл"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Апп-ууд өгөгдлийг ямар ч үед синк хийж, илгээж, хүлээж авч болно"</string>
@@ -2742,8 +2746,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Камерыг дэлгэцийн түгжээ тайлалгүйгээр төвөггүй нээх"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Дэлгэцийг томруулах"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"дэлгэцийн нягтрал, дэлгэцийг томруулах, хэмжих, хэмжээс"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Дэлгэцийн бүх зүйлийг жижигрүүлэх, томруулах. Таны нүүр хуудасны зарим апп энэ тохиргоог өөрчилсны дараа байршил нь өөрчлөгдөнө."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Урьдчилж харах"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Жижигрүүлэх"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Томруулах"</string>
@@ -2787,8 +2790,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Интернэтийг Wi-Fi-тай үед ашиглах боломжтой"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Ар дэвсгэрийн дата унтраалттай байна"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Дэвсгэр дата зөвхөн Wi-Fi-р дамжуулсан тохиолдолд боломжтой. Ингэснээр Wi-Fi байхгүй үед зарим апп эсвэл үйлчилгээнд нөлөөлж болзошгүй."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Санал болголт (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Арилгах"</string>
<string name="color_temperature" msgid="2501579996151717270">"Дэлгэцийн өнгөний температур"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Хүйтэн температур идэвхжүүлэх"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index d42172a..41be6e0 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD कार्ड अनमाउंट करा"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB संचयन मिटवा"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD कार्ड मिटवा"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"स्क्रीन वरील मजकूर आणखी लहान किंवा आणखी मोठा बनवा."</string>
<string name="small_font" msgid="2295331917424072635">"लहान"</string>
<string name="medium_font" msgid="2068475425515133701">"मध्यम"</string>
<string name="large_font" msgid="599055175160971446">"मोठा"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"रोमिंगमध्ये असताना डेटा सेवांना कनेक्ट करा"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"आपण डेटा रोमिंग बंद करून आपले होम नेटवर्क सोडल्यामुळे आपण डेटा कनेक्टिव्हिटी गमावली आहे."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"हे चालू करा"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"जेव्हा आपण डेटा रोमिंगला अनुमती देता तेव्हा आपल्याला पुरेसे रोमिंग शुल्क लागू शकते!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"जेव्हा आपण डेटा रोमिंगला अनुमती देता, तेव्हा आपल्याला महत्त्वाचे रोमिंग शुल्क आकारले जाऊ शकते!\n\nही सेटिंग या टॅब्लेटवरील सर्व वापरकर्ते प्रभावित करते."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"जेव्हा आपण डेटा रोमिंगला अनुमती देता, तेव्हा आपल्याकडून महत्त्वाचे रोमिंग शुल्क आकारले जाऊ शकते!\n\nही सेटिंग या फोनवरील सर्व वापरकर्ते प्रभावित करते."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"डेटा रोमिंगला अनुमती द्यायची?"</string>
@@ -1278,7 +1278,7 @@
<string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"कार्य प्रोफाईल जुळविण्यासाठी प्राथमिक प्रोफाईल बदला"</string>
<string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"समान स्क्रीन लॉक वापरायचा?"</string>
<string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"आपण आपल्या डिव्हाइससाठी हा लॉक वापरू शकता परंतु त्यामध्ये आपल्या IT प्रशासकाद्वारे कार्य प्रोफाईलवर सेट केलेली सर्व स्क्रीन लॉक संबंधित धोरणे समाविष्ट असतील.\nआपण आपल्या डिव्हाइससाठी तोच स्क्रीन लॉक वापरू इच्छिता?"</string>
- <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"आपल्या डिव्हाइसच्या लॉक समान असलेला"</string>
+ <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"आपल्या डिव्हाइस लॉक सारखा"</string>
<string name="manageapplications_settings_title" msgid="7041951105633616745">"अॅप्स व्यवस्थापित करा"</string>
<string name="manageapplications_settings_summary" msgid="1794401500935451259">"स्थापित अॅप्स व्यवस्थापित करा आणि काढा"</string>
<string name="applications_settings" msgid="1721442176406964682">"अॅप्स"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"संकालनास सध्या समस्या येत आहेत. हे लवकरच परत येईल."</string>
<string name="add_account_label" msgid="7811707265834013767">"खाते जोडा"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"कार्य प्रोफाईल अद्याप उपलब्ध नाही"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"कार्य प्रोफाईल काढा"</string>
<string name="background_data" msgid="5779592891375473817">"पार्श्वभूमी डेटा"</string>
<string name="background_data_summary" msgid="8328521479872763452">"अॅप्स कोणत्याही वेळी डेटा संकालित करू, पाठवू आणि प्राप्त करू शकतात."</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"आपली स्क्रीन अनलॉक न करता कॅमेरा द्रुतपणे उघडा"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"स्क्रीन झूम"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"प्रदर्शन घनता, स्क्रीन झूम, मापन, मापन करीत आहे"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"स्क्रीनवरील सर्व आयटम आणखी लहान किंवा आणखी मोठे करा. आपल्या मुख्यपृष्ठावरील काही अॅप्स हे सेटिंग बदलल्यानंतर स्थान बदलू शकतात."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"पूर्वावलोकन"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"आणखी लहान करा"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"आणखी मोठे करा"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"इंटरनेट केवळ Wi-Fi द्वारे उपलब्ध आहे"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"पार्श्वभूमी डेटा बंद आहे"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"पार्श्वभूमी डेटा केवळ Wi-Fi द्वारे उपलब्ध आहे. Wi-Fi उपलब्ध नसते तेव्हा हे काही अॅप्स किंवा सेवांना प्रभावित करू शकते."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"सूचना (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"काढा"</string>
<string name="color_temperature" msgid="2501579996151717270">"प्रदर्शन रंग तापमान"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"थंड तापमान सक्षम करा"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 8203c08..07b458a 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Nyahlekap kad SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Padam storan USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Padam kad SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Besarkan atau kecilkan teks pada skrin."</string>
<string name="small_font" msgid="2295331917424072635">"Kecil"</string>
<string name="medium_font" msgid="2068475425515133701">"Sederhana"</string>
<string name="large_font" msgid="599055175160971446">"Besar"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Sambung ke perkhidmatan data semasa malakukan perayauan"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Anda telah kehilangan kesambungan data kerana anda meninggalkan rangkaian rumah anda dengan data perayauan dimatikan."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Hidupkannya"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Apabila anda membenarkan perayauan data, anda boleh dikenakan caj perayauan yang tinggi!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Apabila anda membenarkan perayauan data, anda mungkin dikenakan caj perayauan yang tinggi!\n\nTetapan ini melibatkan semua pengguna pada tablet ini."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Apabila anda membenarkan perayauan data, anda mungkin dikenakan caj perayauan yang tinggi!\n\nTetapan ini melibatkan semua pengguna pada telefon ini."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Benarkan perayauan data?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Penyegerakan sedang mengalami masalah. Ia akan kembali sebentar lagi."</string>
<string name="add_account_label" msgid="7811707265834013767">"Tambah akaun"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Profil kerja belum tersedia lagi"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Alih keluar profil kerja"</string>
<string name="background_data" msgid="5779592891375473817">"Data latar belakang"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Apl boleh menyegerak, menghantar dan menerima data pada bila-bila masa"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Buka kamera dengan cepat tanpa membuka kunci skrin"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zum skrin"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"kepadatan paparan, zum skrin, skala, penskalaan"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Besarkan atau kecilkan semua item pada skrin. Kedudukan sesetengah apl pada skrin utama anda mungkin berubah selepas menukar tetapan ini."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pratonton"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Buat yang lebih kecil"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Buat yang lebih besar"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet hanya tersedia melalui Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Data latar belakang dimatikan"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Data latar belakang hanya tersedia melalui Wi-Fi. Perkara ini mungkin menjejaskan beberapa apl atau perkhidmatan apabila Wi-Fi tidak tersedia."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Cadangan (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Alih keluar"</string>
<string name="color_temperature" msgid="2501579996151717270">"Suhu warna paparan"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Dayakan suhu sejuk"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index f0fe3ba..8c392ff 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"ရုန်းမင်းပြုလုပ်နေစဉ် ဒေတာဝန်ဆောင်မှုများကို ဆက်သွယ်ခြင်း"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"ဒေတာဆက်သွယ်မှုပြတ်တောက်သွားပါသည် အဘယ်ကြောင့်ဆိုသော် သင့်အိမ်၏ကွန်ယက်မှထွက်ကာ ဒေတာရုန်းမင်းကွန်ယက်ကိုလဲပိတ်ထားသောကြောင့်ဖြစ်သည်"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ဖွင့်မည်"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"သိသာသည့် ငွေကြေးကုန်ကျမှုများ ရှိနိုင်ပါသည်။"</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !\n\n ဤအစီအမံသည် ဤတက်ဘလက်မှ သူံးစွဲသူအားလုံးကို အကျိုးသက်ရောက်လိမ့်မည်။"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !\n\n ဤအစီအမံသည် ဤဖုန်းမှ သူံးစွဲသူအားလုံးကို အကျိုးသက်ရောက်လိမ့်မည်။"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ကွန်ရက်ပြင်ပဒေတာအသုံးပြုခြင်း ခွင့်ပြုမည်လား?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"ထပ်တူကိုက်ညီအောင်ပြုလုပ်ခြင်းသည် လက်ရှိပြသနာရှိနေပါသည်။ ခဏကြာလျှင်ပြန်လည်ရရှိပါလိမ့်မည်။"</string>
<string name="add_account_label" msgid="7811707265834013767">"အကောင့်ထပ်ထည့်ရန်"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"အလုပ် ပရိုဖိုင်ကို မရရှိနိုင်သေးပါ"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"အလုပ်မုဒ်"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"အက်ပ်များ၊ နောက်ခံစင့်ခ်လုပ်ခြင်း၊ နှင့်သက်ဆိုင်သည့်အင်္ဂါရပ်များကို ဆောင်ရွက်ရန် အလုပ်ပရိုဖိုင်ကိုခွင့်ပြုပါ။"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"အလုပ် ပရိုဖိုင်ကို ဖယ်ရှားပစ်ရန်"</string>
<string name="background_data" msgid="5779592891375473817">"နောက်ခံတွင်အသုံးပြုသောဒေတာ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"ဒေတာကိုအချိန်မရွေး ထပ်တူ၊၊ပို့ နှင့်လက်ခံခြင်းလုပ်နိုင်သည်"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"အင်တာနက်သည် ဝိုင်ဖိုင်မှတစ်ဆင့်သာ ရနိုင်သည်"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"နောက်ခံဒေတာပိတ်ထားသည်"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"နောက်ချက်ဒေတာသည် ဝိုင်ဖိုင်မှတစ်ဆင့်သာ ရနိုင်သည်။ ၎င်းသည် ဝိုင်ဖိုင်မရချိန်တွင် အက်ပ်များသို့မဟုတ် ဝန်ဆောင်မှုများကို ထိခိုက်စေပါသည်။"</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"အလုပ်ပရိုဖိုင်ပိတ်ထားသည်"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"သင့်အလုပ်ပရိုဖိုင်နှင့် သက်ဆိုင်သည့် အက်ပ်များ၊ နောက်ခံစင့်ခ်လုပ်ခြင်း၊ နှင့်အခြား အင်္ဂါရပ်များကို ပိတ်ထားပါသည်။"</string>
<string name="suggestions_title" msgid="8758376306825920705">"အကြံပြုချက်များ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"ဖယ်ရှားပါ"</string>
<string name="color_temperature" msgid="2501579996151717270">"မြင်ကွင်း အရောင်၏ အပူချိန်"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"အေးသော အပူချိန်ကို ဖွင့်ပါ"</string>
+ <string name="usage" msgid="2977875522080448986">"အသုံးပြုမှု"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"ဆဲလ်လူလာဒေတာအသုံးပြုမှု"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"ဝိုင်ဖိုင်ဒေတာအသုံးပြုမှု"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"အီတာနက်ဒေတာအသုံးပြုချက်"</string>
+ <string name="wifi" msgid="1081550856200013637">"ဝိုင်ဖိုင်"</string>
+ <string name="ethernet" msgid="6600095783781389720">"အီတာနက်"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> ဆဲလ်လူလာဒေတာ"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> ဝိုင်ဖိုင်ဒေတာ"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> အီတာနက်ဒေတာ"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> ဒေတာသတိပေးချက်"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> ဒေတာသတိပေးချက် / <xliff:g id="ID_2">%2$s</xliff:g> ဒေတာကန့်သတ်ချက်"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"ငွေတောင်းခ့မှု ကြားကာလ"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"လစဉ်လည်ပတ်မှုသည် လတိုင်း၏ <xliff:g id="ID_1">%1$s</xliff:g> တွင်စတင်သည်"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"လစဉ်အစ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"ကွန်ရက် ကန့်သတ်ချက်များ"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"ဖုန်းလိုင်းဒေတာတွက်ချက်မှုသည် သင့်စက်ပစ္စည်းမှ ကွာခြားနိုင်ပါသည်။"</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> အသုံးပြုထားသည်"</string>
+ <string name="data_warning" msgid="209133958008062117">"ဒေတာသတိပေးချက်"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"ဒေတာအကန့်အသတ် သတ်မှတ်ရန်"</string>
+ <string name="data_limit" msgid="1885406964934590552">"ဒေတာအကန့်အသတ်"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> <xliff:g id="ID_2">%2$s</xliff:g> အကြားအသုံးပြုခဲ့သည်"</string>
+ <string name="configure" msgid="1029654422228677273">"ပြင်ဆင်သတ်မှတ်ရန်"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 9a48813..62924e0 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Avmonter minnekort"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Slett USB-lagring"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Tøm SD-kort"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Gjør teksten på skjermen større eller mindre."</string>
<string name="small_font" msgid="2295331917424072635">"Liten"</string>
<string name="medium_font" msgid="2068475425515133701">"Middels"</string>
<string name="large_font" msgid="599055175160971446">"Stor"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Koble til datatjenester ved roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Du har mistet datatilkobling fordi du forlot hjemmenettet med dataroaming av."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Slå på"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Å tillate roaming kan medføre høye datakostnader."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Når du tillater roaming, kan dette føre til høye datakostnader.\n\nDenne innstillingen påvirker alle brukerne på dette nettbrettet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Når du tillater roaming, kan dette føre til høye datakostnader.\n\nDenne innstillingen påvirker alle brukerne på denne telefonen."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Vil du tillate roaming?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Det er midlertidige problemer med synkroniseringen. Vent litt."</string>
<string name="add_account_label" msgid="7811707265834013767">"Legg til konto"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbeidsprofilen er ikke tilgjengelig ennå"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Fjern arbeidsprofilen"</string>
<string name="background_data" msgid="5779592891375473817">"Bakgrunnsdata"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Apper kan når som helst synkronisere, sende og motta data"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Åpne kameraet raskt uten å låse opp skjermen"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom på skjermen"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"skjermtetthet, zoom på skjermen, skala, skalering"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Gjør alt på skjermen større eller mindre. Enkelte apper på startskjermen kan skifte plassering hvis du endrer denne innstillingen."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Forhåndsvisning"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Gjør mindre"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Gjør større"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internett er bare tilgjengelig via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Bakgrunnsdata er av"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Bakgrunnsdata er bare tilgjengelig via Wi-Fi. Dette kan påvirke noen apper og tjenester når Wi-Fi ikke er tilgjengelig."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Forslag (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Fjern"</string>
<string name="color_temperature" msgid="2501579996151717270">"Vis fargetemperatur"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Slå på kjølig temeperatur"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index d28b98e..7029a4c 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -81,9 +81,9 @@
<string name="font_size_make_smaller_desc" msgid="7919995133365371569">"अझ सानो बनाउनुहोस्"</string>
<string name="font_size_make_larger_desc" msgid="4316986572233686061">"अझ ठूलो बनाउनुहोस्"</string>
<string name="font_size_preview_text_headline" msgid="7955317408475392247">"नमूना पाठ"</string>
- <string name="font_size_preview_text_title" msgid="4762429961714563135">"बिस Thousand Leagues Under The Sea"</string>
+ <string name="font_size_preview_text_title" msgid="4762429961714563135">"Twenty Thousand Leagues Under The Sea"</string>
<string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"अध्याय २३: The Coral Kingdom"</string>
- <string name="font_size_preview_text_body" msgid="1608889593334414309">"अर्को दिन म पूरै होसमा उठें। मैले आफूलाई आफ्नै कोठामा पाउँदा म चकित भएँ। मेरा साथीहरूले यसलाई मैले भन्दा बढी ग्रहण नगरी आफ्ना क्याबिनमा रहनु कुनै ठूलो कुरो होइन। बितेको रातमा के के भयो भनेर म जस्तै उनीहरू अपरिचित हुनु र यो राज पत्ता लगाउन मैले केवल भविष्यमा हुने सम्भावनाहरूको अनुमान लगाएँ।\nमैले त्यसपछि आफ्नो कोठा छोडने बिचार गरें। म फेरि स्वतन्त्र थिएँ वा बन्दी बनेर बसेको थिएँ? लगभग स्वतन्त्र। मैले ढोका खोलें, आधा डेकमा पुगें त्यसपछि मध्य सिढीमा गएँ। साँझ पहिला बन्द भएको प्यानलहरू खुलेका थिए। म प्लेटफार्ममा पुगें। \nनेड ल्यान्ड र कोन्सेलले मलाई त्यहाँ कुरेका थिए। मैले तिनीहरूलाई सोधें, तिनीहरूलाई पनि केही थाहा भएन। गहिरो निद्रामा परेका कारण तिनीहरू अचेत अवस्थामा पुगे, तिनीहरू सबैले आफूलाई क्याबिनमा पाउँदा आश्चर्यचकित भएका थिए।"</string>
+ <string name="font_size_preview_text_body" msgid="1608889593334414309">"अर्को दिन म पूरै होसमा उठें। मैले आफूलाई आफ्नै कोठामा पाउँदा म चकित भएँ। मेरा साथीहरूले यसलाई मैले भन्दा बढी ग्रहण नगरी आफ्ना क्याबिनमा रहनु कुनै ठूलो कुरो होइन। बितेको रातमा के के भयो भनेर म जस्तै उनीहरू अपरिचित हुनु र यो रहस्य पत्ता लगाउन मैले केवल भविष्यमा हुने सम्भावनाहरूको अनुमान लगाएँ।\nमैले त्यसपछि आफ्नो कोठा छोडने बिचार गरें। म फेरि स्वतन्त्र थिएँ वा बन्दी बनेर बसेको थिएँ? लगभग स्वतन्त्र। मैले ढोका खोलें, आधा डेकमा पुगें त्यसपछि मध्य सिढीमा गएँ। साँझ पहिला बन्द भएको प्यानलहरू खुलेका थिए। म प्लेटफार्ममा पुगें। \nनेड ल्यान्ड र कोन्सेलले मलाई त्यहाँ कुरेका थिए। मैले तिनीहरूलाई सोधें, तिनीहरूलाई पनि केही थाहा भएन। गहिरो निद्रामा परेका कारण तिनीहरू अचेत अवस्थामा पुगे, तिनीहरू सबैले आफूलाई क्याबिनमा पाउँदा आश्चर्यचकित भएका थिए।"</string>
<string name="font_size_save" msgid="3450855718056759095">"ठीक छ"</string>
<string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB भण्डारण"</string>
<string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD कार्ड"</string>
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"रोमिङ हुँदा डेटा सेवासँग जोड्नुहोस्"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"तपाईंले डेटा जडान गुमाउनुभयो किनभने तपाईंले गृह नेटवर्क डेटा रोमिङ बन्द गरेर छोड्नुभयो।"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"सक्रिय पार्नुहोस्"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"जब तपाईँ डेटा रोमिङका लागि अनुमति दिनु हुन्छ, तपाईँले ठूलै मात्रामा रोमिङ शुल्क उठाउनु भएको हुन सक्छ!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"डेटा रोमिङलाई अनुमति दिँदा तपाईँलाई महत्त्वपूर्ण रोमिङ शुल्क लाग्न सक्छ ! \n \n यो सेटिङ प्रभाव यस ट्याब्लेटका सबै प्रयोगकर्तामा पर्छ।"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"डेटा रोमिङलाई सक्रिय बनाउनु भयो भने तपाईँलाई ठूलै मात्रामा रोमिङ शुल्क पर्न सक्छ! \n \n यस सेटिङले यस फोनका सबै प्रयोगकर्ताहरूलाई प्रभाव पर्ने छ।"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"डेटा रोमिङको अनुमति दिनुहुन्छ?"</string>
@@ -1276,7 +1277,7 @@
<string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"एउटै स्क्रिनलक प्रयोग गर्नुहोस्"</string>
<string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"कार्यको प्रोफाइलसँग मेल गराउन प्राथमिक प्रोफाइल परिवर्तन गर्नुहोस्"</string>
<string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"एउटै स्क्रिनलक प्रयोग गर्ने हो?"</string>
- <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"तपाईँ आफ्नो यन्त्रमा यो लक प्रयोग गर्न सक्नुहुन्छ तर यसले कार्यको प्रोफाइमा तपाईँको IT व्यवस्थापकले सेट गरेको सबै स्क्रिनलक सम्बन्धित नीतिहरू समावेश गर्छ।\nतपाईं आफ्नो यन्त्रमा त्यहि स्क्रिन लक प्रयोग गर्न चाहनुहुन्छ?"</string>
+ <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"तपाईँ आफ्नो यन्त्रमा यो लक प्रयोग गर्न सक्नुहुन्छ तर यसले कार्यको प्रोफाइमा तपाईँको IT व्यवस्थापकले सेट गरेको सबै स्क्रिनलक सम्बन्धित नीतिहरू समावेश गर्छ।\nतपाईं आफ्नो यन्त्रमा त्यही स्क्रिन लक प्रयोग गर्न चाहनुहुन्छ?"</string>
<string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"तपाईँको यन्त्रको लक जस्तै"</string>
<string name="manageapplications_settings_title" msgid="7041951105633616745">"अनुप्रयोगहरू व्यवस्थापन गर्नुहोस्"</string>
<string name="manageapplications_settings_summary" msgid="1794401500935451259">"स्थापित अनुप्रयोगहरू प्रबन्ध गर्नुहोस् र हटाउनुहोस्"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"सिङ्कले अहिले समस्याहरू भोग्दै छ। यो तुरुन्तै आउने छ।"</string>
<string name="add_account_label" msgid="7811707265834013767">"खाता थप गर्नुहोस्"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"कार्य प्रोफाइल अझै उपलब्ध भएको छैन"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"कार्य प्रोफाइल हटाउनुहोस्"</string>
<string name="background_data" msgid="5779592891375473817">"पृष्ठभूमि डेटा"</string>
<string name="background_data_summary" msgid="8328521479872763452">"अनुप्रयोगहरूले कुनै पनि समयमा डेटा सिङ्क गर्न पठाउन र प्राप्त गर्न सक्दछन्"</string>
@@ -2797,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"इन्टरनेट केवल Wi-Fi मार्फत मात्र उपलब्ध छ"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"पृष्ठभूमि डेटा निष्क्रिय छ"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"पृष्ठभूमि डेटा Wi-Fi मार्फत मात्र उपलब्ध छ। Wi-Fi उपलब्ध नहुँदा यसले केही अनुप्रयोग वा सेवाहरूलाई प्रभावित गर्न सक्नेछ।"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"सुझावहरू (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"हटाउनुहोस्"</string>
<string name="color_temperature" msgid="2501579996151717270">"रंगको तापमान प्रदर्शन गर्नुहोस्"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"शीतल तापमान सक्रिय गर्नुहोस्"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"वाइफाइ"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 5645e99..7b99439 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Verbinding maken met gegevensservices tijdens roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"De gegevensverbinding is verbroken, omdat je je thuisnetwerk hebt verlaten terwijl gegevensroaming was uitgeschakeld."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Inschakelen"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Wanneer je gegevensroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht."</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"Er kunnen hoge kosten in rekening worden gebracht."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Wanneer je gegevensroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Wanneer je gegevensroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze telefoon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Gegevensroaming toestaan?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Er zijn momenteel problemen met de synchronisatie. Synchronisatie wordt snel opnieuw uitgevoerd."</string>
<string name="add_account_label" msgid="7811707265834013767">"Account toevoegen"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Werkprofiel is nog niet beschikbaar"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Werkmodus"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Functioneren van werkprofiel toestaan, waaronder apps, synchronisatie op de achtergrond en gerelateerde functies"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Werkprofiel verwijderen"</string>
<string name="background_data" msgid="5779592891375473817">"Achtergrondgegevens"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Onbeperkt gegevens synchroniseren, verzenden en ontvangen"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is alleen beschikbaar via wifi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Achtergrondgegevens uit"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Achtergrondgegevens zijn alleen beschikbaar via wifi. Dit kan van invloed zijn op bepaalde apps of services wanneer er geen wifi beschikbaar is."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Werkprofiel is uitgeschakeld"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Apps, synchronisatie op de achtergrond en andere functies met betrekking tot je werkprofiel worden uitgeschakeld."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Suggesties (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Verwijderen"</string>
<string name="color_temperature" msgid="2501579996151717270">"Kleurtemperatuur van display"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Koele temperatuur inschakelen"</string>
+ <string name="usage" msgid="2977875522080448986">"Gebruik"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Mobiele-datagebruik"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wifi-datagebruik"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet-datagebruik"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wifi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> mobiele data"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> wifi-data"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet-data"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> datawaarschuwing"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> datawaarschuwing / <xliff:g id="ID_2">%2$s</xliff:g> datalimiet"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Betalingscyclus"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"De maandelijkse cyclus start op de <xliff:g id="ID_1">%1$s</xliff:g> van elke maand"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Maandelijks vanaf <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Netwerkbeperkingen"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"De door de provider berekende data kunnen afwijken van die van je apparaat."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> gebruikt"</string>
+ <string name="data_warning" msgid="209133958008062117">"Datawaarschuwing"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Datalimiet instellen"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Datalimiet"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> gebruikt tussen <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Configureren"</string>
</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 9f4c92b..eea9f21 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -264,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"ਰੋਮਿੰਗ ਵੇਲੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"ਤੁਹਾਡੀ ਡਾਟਾ ਕਨੈਕਟੀਵਿਟੀ ਨਸ਼ਟ ਹੋ ਗਈ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਆਪਣਾ ਡਾਟਾ ਰੋਮਿੰਗ ਬੰਦ ਨਾਲ ਹੋਮ ਨੈਟਵਰਕ ਛੱਡ ਦਿੱਤਾ ਸੀ।"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ਇਸਤੇ ਚਾਲੂ ਕਰੋ"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖ਼ਾਸ ਰੋਮਿੰਗ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"ਤੁਹਾਨੂੰ ਵਾਧੂ ਚਾਰਜ ਦੇਣਾ ਪੈ ਸਕਦਾ ਹੈ"</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖ਼ਾਸ ਰੋਮਿੰਗ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਟੈਬਲੇਟ ਦੇ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ ਤੇ ਅਸਰ ਪਾਉਂਦੀ ਹੈ।"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖ਼ਾਸ ਰੋਮਿੰਗ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਫੋਨ ਦੇ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ ਤੇ ਅਸਰ ਪਾਉਂਦੀ ਹੈ।"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ਕੀ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
@@ -1936,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"ਸਿੰਕ ਵਿੱਚ ਇਸ ਵੇਲੇ ਸਮੱਸਿਆਵਾਂ ਹੋ ਰਹੀਆਂ ਹਨ। ਇਹ ਜਲਦੀ ਹੀ ਠੀਕ ਹੋ ਜਾਏਗਾ।"</string>
<string name="add_account_label" msgid="7811707265834013767">"ਖਾਤਾ ਜੋੜੋ"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਅਜੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"ਕੰਮ ਮੋਡ"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"ਐਪਾਂ, ਬੈਕਗ੍ਰਾਊਂਡ ਸਮਕਾਲੀਕਰਨ, ਅਤੇ ਸਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋਏ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਕੰਮ ਕਰਨ ਦੀ ਮਨਜ਼ੂਰੀ ਦਿਓ"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾਓ"</string>
<string name="background_data" msgid="5779592891375473817">"ਪਿਛੋਕੜ ਡਾਟਾ"</string>
<string name="background_data_summary" msgid="8328521479872763452">"ਐਪਸ ਕਿਸੇ ਵੀ ਸਮੇਂ ਡਾਟਾ ਸਿੰਕ ਕਰ ਸਕਦੇ ਹਨ, ਭੇਜ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ"</string>
@@ -2797,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"ਇੰਟਰਨੈੱਟ ਸਿਰਫ਼ Wi-Fi ਰਾਹੀਂ ਹੀ ਉਪਲਬਧ ਹੈ"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"ਬੈਕਗ੍ਰਾਊਂਡ ਡੈਟਾ ਬੰਦ ਹੈ"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"ਬੈਕਗ੍ਰਾਊਂਡ ਡੈਟਾ ਸਿਰਫ਼ Wi-Fi ਰਾਹੀਂ ਉਪਲਬਧ ਹੈ। Wi-Fi ਉਪਲਬਧ ਨਾ ਹੋਣ \'ਤੇ ਇਹ ਕੁਝ ਐਪਾਂ ਜਾਂ ਸੇਵਾਵਾਂ \'ਤੇ ਅਸਰ ਪਾ ਸਕਦਾ ਹੈ।"</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਬੰਦ ਹੈ"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਸਬੰਧਿਤ ਐਪਾਂ, ਬੈਕਗ੍ਰਾਊਂਡ ਸਮਕਾਲੀਕਰਨ, ਅਤੇ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹਨ।"</string>
<string name="suggestions_title" msgid="8758376306825920705">"ਸੁਝਾਅ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"ਹਟਾਓ"</string>
<string name="color_temperature" msgid="2501579996151717270">"ਰੰਗ ਤਾਪਮਾਨ ਵਿਖਾਓ"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"ਠੰਡਾ ਤਾਪਮਾਨ ਯੋਗ ਬਣਾਓ"</string>
+ <string name="usage" msgid="2977875522080448986">"ਵਰਤੋਂ"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"ਸੈਲਿਊਲਰ ਡੈਟਾ ਵਰਤੋਂ"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi ਡੈਟਾ ਵਰਤੋਂ"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"ਈਥਰਨੈੱਟ ਡੈਟਾ ਵਰਤੋਂ"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"ਈਥਰਨੈੱਟ"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> ਸੈਲਿਊਲਰ ਡੈਟਾ"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi ਡੈਟਾ"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ਈਥਰਨੈੱਟ ਡੈਟਾ"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> ਡੈਟਾ ਚੇਤਾਵਨੀ"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> ਡੈਟਾ ਚੇਤਾਵਨੀ / <xliff:g id="ID_2">%2$s</xliff:g> ਡੈਟਾ ਸੀਮਾ"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"ਬਿਲਿੰਗ ਚੱਕਰ"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"ਮਹੀਨਾਵਾਰ ਚੱਕਰ ਹਰ ਮਹੀਨੇ ਦੇ <xliff:g id="ID_1">%1$s</xliff:g> ਨੂੰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"<xliff:g id="ID_1">%1$s</xliff:g> ਤੋਂ ਮਹੀਨਾਵਾਰ ਤੌਰ \'ਤੇ ਸ਼ੁਰੂ"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"ਨੈੱਟਵਰਕ ਪਾਬੰਦੀਆਂ"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"ਕੈਰੀਅਰ ਡੈਟੇ ਦਾ ਲੇਖਾ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਤੋਂ ਵੱਖਰਾ ਹੋ ਸਕਦਾ ਹੈ।"</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> ਵਰਤਿਆ"</string>
+ <string name="data_warning" msgid="209133958008062117">"ਡੈਟਾ ਚੇਤਾਵਨੀ"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"ਡੈਟਾ ਸੀਮਾ ਸੈੱਟ ਕਰੋ"</string>
+ <string name="data_limit" msgid="1885406964934590552">"ਡੈਟਾ ਸੀਮਾ"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_2">%2$s</xliff:g> ਦੌਰਾਨ <xliff:g id="ID_1">%1$s</xliff:g> ਵਰਤਿਆ ਗਿਆ"</string>
+ <string name="configure" msgid="1029654422228677273">"ਸੰਰੂਪਣ ਕਰੋ"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index e955a27..16563ab 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -76,8 +76,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odłącz kartę SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Wyczyść nośnik USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Wymaż kartę SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Powiększ lub pomniejsz tekst na ekranie."</string>
<string name="small_font" msgid="2295331917424072635">"Mały"</string>
<string name="medium_font" msgid="2068475425515133701">"Średni"</string>
<string name="large_font" msgid="599055175160971446">"Duży"</string>
@@ -267,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Połącz z usługami transmisji danych w roamingu"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Połączenie transmisji danych zostało utracone, ponieważ opuszczono sieć macierzystą przy wyłączonej opcji danych w roamingu."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Włącz"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Z zezwoleniem na roaming danych mogą się wiązać wysokie opłaty roamingowe."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Po zezwoleniu na przesyłanie danych w roamingu mogą zostać naliczone znaczne opłaty za roaming.\n\nTo ustawienie obowiązuje wszystkich użytkowników tego tabletu."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Po zezwoleniu na przesyłanie danych w roamingu mogą zostać naliczone znaczne opłaty za roaming.\n\nTo ustawienie obowiązuje wszystkich użytkowników tego telefonu."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Zezwalać na roaming danych?"</string>
@@ -1969,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"W tej chwili występują problemy z synchronizacją. Synchronizacja będzie możliwa wkrótce."</string>
<string name="add_account_label" msgid="7811707265834013767">"Dodaj konto"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Profil do pracy nie jest jeszcze dostępny"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Usuń profil do pracy"</string>
<string name="background_data" msgid="5779592891375473817">"Dane w tle"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikacje zawsze mogą synchronizować, wysyłać i odbierać dane."</string>
@@ -2804,8 +2808,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Szybko uruchom aparat bez odblokowywania ekranu"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Powiększenie ekranu"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"wyświetlacz, gęstość, powiększenie ekranu, skala, skalowanie"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Powiększ lub pomniejsz wszystkie elementy na ekranie. Po zmianie tego ustawienia niektóre aplikacje na ekranie głównym mogą przesunąć się w inne miejsce."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Podgląd"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Pomniejsz"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Powiększ"</string>
@@ -2849,8 +2852,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet jest dostępny tylko przez Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Dane w tle są wyłączone"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Przesyłanie danych w tle działa tylko wtedy, gdy masz połączenie z Wi-Fi. Może to mieć wpływ na niektóre aplikacje i usługi, gdy sieć Wi-Fi jest niedostępna."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Sugestie (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Usuń"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura kolorów wyświetlacza"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Włącz zimne kolory"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 3297a94..2a6b74e 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Tornar o texto na tela menor ou maior."</string>
<string name="small_font" msgid="2295331917424072635">"Pequena"</string>
<string name="medium_font" msgid="2068475425515133701">"Médio"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Conectar aos serviços de dados quando estiver em roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Você perdeu a conectividade de dados porque deixou o roaming de dados da sua rede doméstica desativado."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ativar"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Quando você permite o roaming de dados, poderão ser cobradas taxas significativas de roaming!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do telefone."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir roaming de dados?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"A sincronização está enfrentando problemas no momento. Ela retornará em breve."</string>
<string name="add_account_label" msgid="7811707265834013767">"Adicionar conta"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Perfil de trabalho ainda indisponível"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Remover perfil de trabalho"</string>
<string name="background_data" msgid="5779592891375473817">"Dados de segundo plano"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplicat. sincronizam, enviam e recebem dados a qualquer hora"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abrir a câmera rapidamente sem desbloquear a tela"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom da tela"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de exibição, zoom da tela, escala, dimensionamento"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Tornar todos os itens na tela menores ou maiores. É possível que alguns apps na sua tela inicial mudem de posição após a alteração desta configuração."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Visualização"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Tornar menor"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Tornar maior"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"A Internet está disponível apenas via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Dados em segundo plano desativados"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Os dados em segundo plano estão disponíveis apenas via Wi-Fi. Isso poderá afetar alguns apps ou serviços quando o Wi-Fi não estiver disponível."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Sugestões (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Remover"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor da tela"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Ativar temperatura fria"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index d161199..7da3b24 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Aumentar ou diminuir o texto no ecrã."</string>
<string name="small_font" msgid="2295331917424072635">"Pequeno"</string>
<string name="medium_font" msgid="2068475425515133701">"Médio"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Ligar a serviços de dados em roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"A ligação de dados foi perdida porque saiu do alcance da sua rede e o roaming de dados estava desactivado."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ligar"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Ao permitir o roaming de dados, poderão ser cobrados custos de roaming significativos!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ao permitir o roaming de dados, podem ser cobradas tarifas de roaming significativas!\n\nEsta definição afeta todos os utilizadores deste tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ao permitir o roaming de dados, podem ser cobradas tarifas de roaming significativas!\n\nEsta definição afeta todos os utilizadores deste telemóvel."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir roaming de dados?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"A sincronização está atualmente com problemas e será retomada em breve."</string>
<string name="add_account_label" msgid="7811707265834013767">"Adicionar conta"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"O perfil de trabalho ainda não está disponível"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Remover perfil de trabalho"</string>
<string name="background_data" msgid="5779592891375473817">"Dados em segundo plano"</string>
<string name="background_data_summary" msgid="8328521479872763452">"As aplicações podem sincronizar, enviar e receber dados em qualquer altura"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abrir rapidamente a câmara sem desbloquear o ecrã"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom do ecrã"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de apresentação, zoom do ecrã, escala, dimensionamento"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Aumentar ou diminuir todos os itens no ecrã. Algumas aplicações no ecrã principal podem mudar de posição após a alteração desta definição."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pré-visualizar"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Diminuir"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Aumentar"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"A Internet só está disponível através de Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Dados de segundo plano desat."</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Os dados de segundo plano só estão disponíveis através de Wi-Fi. Isto pode afetar algumas aplicações ou alguns serviços quando o Wi-Fi não estiver disponível."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Sugestões (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Remover"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor do ecrã"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Ativar temperatura fria"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 3297a94..2a6b74e 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Tornar o texto na tela menor ou maior."</string>
<string name="small_font" msgid="2295331917424072635">"Pequena"</string>
<string name="medium_font" msgid="2068475425515133701">"Médio"</string>
<string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Conectar aos serviços de dados quando estiver em roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Você perdeu a conectividade de dados porque deixou o roaming de dados da sua rede doméstica desativado."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ativar"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Quando você permite o roaming de dados, poderão ser cobradas taxas significativas de roaming!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do telefone."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir roaming de dados?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"A sincronização está enfrentando problemas no momento. Ela retornará em breve."</string>
<string name="add_account_label" msgid="7811707265834013767">"Adicionar conta"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Perfil de trabalho ainda indisponível"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Remover perfil de trabalho"</string>
<string name="background_data" msgid="5779592891375473817">"Dados de segundo plano"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplicat. sincronizam, enviam e recebem dados a qualquer hora"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abrir a câmera rapidamente sem desbloquear a tela"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom da tela"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de exibição, zoom da tela, escala, dimensionamento"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Tornar todos os itens na tela menores ou maiores. É possível que alguns apps na sua tela inicial mudem de posição após a alteração desta configuração."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Visualização"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Tornar menor"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Tornar maior"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"A Internet está disponível apenas via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Dados em segundo plano desativados"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Os dados em segundo plano estão disponíveis apenas via Wi-Fi. Isso poderá afetar alguns apps ou serviços quando o Wi-Fi não estiver disponível."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Sugestões (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Remover"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor da tela"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Ativar temperatura fria"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index a28f72a..c145b98 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -75,8 +75,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Demontați cardul SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Ștergeți stocarea USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Ștergeți cardul SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Micșorați sau măriți textul de pe ecran."</string>
<string name="small_font" msgid="2295331917424072635">"Mică"</string>
<string name="medium_font" msgid="2068475425515133701">"Medie"</string>
<string name="large_font" msgid="599055175160971446">"Mare"</string>
@@ -266,7 +265,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Conectați-vă la serviciile de date în roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Ați pierdut conectivitatea la date deoarece ați părăsit rețeaua de domiciliu neavând activat roamingul."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activați"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Când permiteţi roamingul de date puteţi acumula taxe considerabile pentru roaming!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Dacă permiteţi roamingul de date, puteţi acumula cheltuieli considerabile pentru roaming!\n\nAceastă setare afectează toţi utilizatorii de pe această tabletă."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Dacă permiteţi roamingul de date, puteţi acumula cheltuieli considerabile pentru roaming!\n\nAceastă setare afectează toţi utilizatorii de pe acest telefon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Permiteţi roamingul de date?"</string>
@@ -1954,6 +1954,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sincronizarea se confruntă în prezent cu probleme. Aceasta va fi funcțională în curând."</string>
<string name="add_account_label" msgid="7811707265834013767">"Adăugați un cont"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Profilul de serviciu nu este încă disponibil"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminați profilul de serviciu"</string>
<string name="background_data" msgid="5779592891375473817">"Date de fundal"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplicaţiile pot oricând sincroniza, trimite și primi date"</string>
@@ -2780,8 +2784,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Deschideți rapid camera foto fără să deblocați ecranul"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zoom ecran"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"densitate afișaj, zoom ecran, scară, scalare"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Micșorați sau măriți toate elementele de pe ecran. Este posibil ca unele aplicații de pe ecranul de pornire să își schimbe poziția după ce modificați această setare."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Previzualizați"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Micșorați"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Măriți"</string>
@@ -2825,8 +2828,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internetul este disponibil doar prin Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Date de fundal dezactivate"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Datele de fundal sunt disponibile doar prin Wi-Fi. Este posibil ca unele aplicații sau servicii să fie afectate când conexiunea Wi-Fi nu este disponibilă."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Sugestii (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Eliminați"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura de culoare a afișajului"</string>
- <string name="color_temperature_desc" msgid="3603319696846982249">"Activați culorile reci"</string>
+ <string name="color_temperature_desc" msgid="3603319696846982249">"Activați temperatura rece"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 3b2effd..7cec628 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -76,8 +76,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Извлечь SD-карту"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Очистить USB-накопитель"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Очистить SD-карту"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Увеличение или уменьшение размера шрифта."</string>
<string name="small_font" msgid="2295331917424072635">"Маленький"</string>
<string name="medium_font" msgid="2068475425515133701">"Среднее"</string>
<string name="large_font" msgid="599055175160971446">"Большой"</string>
@@ -267,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Подключаться к службам передачи данных при роуминге"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Мобильный Интернет в роуминге отключен. Вы можете включить интернет-роуминг в настройках."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Включить"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Возможны высокие расходы на использование роуминга."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Использование роуминга может повлечь за собой непредвиденные расходы.\n\nНастройки будут изменены для всех пользователей устройства."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Использование роуминга может повлечь за собой непредвиденные расходы.\n\nНастройки будут изменены для всех пользователей устройства."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Разрешить интернет-роуминг?"</string>
@@ -1969,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Проблемы с синхронизацией. Скоро все заработает."</string>
<string name="add_account_label" msgid="7811707265834013767">"Добавить аккаунт"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Рабочий профиль пока не доступен"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Удалить рабочий профиль"</string>
<string name="background_data" msgid="5779592891375473817">"Фоновый режим"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Синхронизация, отправка и получение данных доступны всегда"</string>
@@ -2804,8 +2808,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Открывать камеру двойным нажатием кнопки питания"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Масштаб"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"разрешение экрана, масштаб, увеличение, уменьшение"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Увеличение или уменьшение всех объектов на экране. Эта настройка может повлиять на порядок значков приложений на главном экране."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Просмотр"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Уменьшить"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Увеличить"</string>
@@ -2849,8 +2852,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет доступен только через Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Фоновый режим отключен"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Для обмена данными в фоновом режиме требуется подключение к сети Wi-Fi. Когда она недоступна, некоторые сервисы и приложения не будут работать."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Подсказки (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Убрать"</string>
<string name="color_temperature" msgid="2501579996151717270">"Показать цветовую температуру"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Включить холодные оттенки"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index aadda77..3a4d48d 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD කාඩ් පත ගලවන්න"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB ආචයනය මකන්න"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD කාඩ් පත මකන්න"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"තිරය මත පෙළ කුඩා හෝ විශාල කරන්න."</string>
<string name="small_font" msgid="2295331917424072635">"කුඩා"</string>
<string name="medium_font" msgid="2068475425515133701">"මධ්යම"</string>
<string name="large_font" msgid="599055175160971446">"විශාල"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"රෝමින් අතරතුර දත්ත සේවා වෙත සම්බන්ධ වන්න"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"ඔබගේ නිවාස ජාලය ඔබ හැර ගිය විට දත්ත රෝමින් අක්රිය වන බැවින් දත්ත සම්බන්ධතාවය ඔබට නැති වී ගොස් ඇත."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"එය සක්රිය කරන්න"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"දත්ත රෝමින් වෙත අවසර දුන් විට, ඔබට සැලකිය යුතු රෝමිං ගාස්තු දැරීමට සිදු වනු ඇත!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ඔබ දත්ත රෝමිං වෙත අවසර දුන් විට, ඔබෙන් සැලකිය යුතු ලෙස රෝමිං ගාස්තු අයවිය හැක!\n\nමෙම සැකසීම ටැබ්ලටයේ සියලුම පරිශීලකයන්ට බලපායි."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ඔබ දත්ත රෝමිං, ඔබෙන් විශාල වශයෙන් රෝමිං ගාස්තු අයවිය හැක!\n\nමෙම සැකසුම දුරකතනයේ සියලුම පරිශීලකයන්ට බලපායි."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"දත්ත රෝමින් සඳහා අවසර දෙන්න ද"</string>
@@ -1939,6 +1939,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"සමමුහුර්තය දැනට ගැටළුවලට මුහුණපා ඇත. එය සුළු මොහොතකින් ආපසු පැමිණෙනු ඇත."</string>
<string name="add_account_label" msgid="7811707265834013767">"ගිණුමක් එකතු කරන්න"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"වැඩ පැතිකඩ තවම නොපවතියි"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"වැඩ පැතිකඩ ඉවත් කරන්න"</string>
<string name="background_data" msgid="5779592891375473817">"පසුබිම් දත්ත"</string>
<string name="background_data_summary" msgid="8328521479872763452">"යෙදුම්වලට ඕනෑම වෙලාවක දත්ත සමමුහුර්ත කිරීමට, යැවීමට, සහ ලබාගැනීමට හැකිය"</string>
@@ -2756,8 +2760,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"ඔබගේ තිරය අගුලු හැරීමෙන් තොරව ඉක්මනින් කැමරාව විවෘත කරන්න"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"තිර විශාලනය"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"සංදර්ශක ඝනත්වය, තිර විශාලනය, පරිමාණය, පරිමාණ කිරීම"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"තිරය මත සියලු අයිතම කුඩා හෝ විශාල කරන්න. මෙම සැකසීම වෙනස් කිරීමෙන් පසුව ඔබේ මුල් පිටු තිරයේ ඇති සමහර යෙදුම්වල පිහිටි ස්ථානය වෙනස් වීමට හැකිය."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"පෙරදසුන"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"වඩා කුඩා කරන්න"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"වඩා විශාල කරන්න"</string>
@@ -2801,8 +2804,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"අන්තර්ජාලය Wi-Fi හරහා පමණක් ලබා ගත හැකිය"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"පසුබිම් දත්ත ක්රියාවිරහිතයි"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"පසුබිම් දත්ත Wi-Fi හරහා පමණක් ලබා ගත හැකිය. Wi-Fi ලබා ගත නොහැකි වූ විට මෙය සමහර යෙදුම් හෝ සේවා කෙරෙහි බලපෑ හැකිය."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"යෝජනා (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"ඉවත් කරන්න"</string>
<string name="color_temperature" msgid="2501579996151717270">"වර්ණ උෂ්ණත්වය සංදර්ශනය කිරීම"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"සිසිල් උෂ්ණත්වය සබල කිරීම"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index df170f4..95e08c4 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -76,8 +76,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odpojiť SD kartu"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Vymazať ukladací priestor USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Vymazať SD kartu"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Zväčšite alebo zmenšite text na obrazovke."</string>
<string name="small_font" msgid="2295331917424072635">"Malé"</string>
<string name="medium_font" msgid="2068475425515133701">"Stredné"</string>
<string name="large_font" msgid="599055175160971446">"Veľké"</string>
@@ -85,7 +84,7 @@
<string name="font_size_make_larger_desc" msgid="4316986572233686061">"Zväčšiť"</string>
<string name="font_size_preview_text_headline" msgid="7955317408475392247">"Ukážkový text"</string>
<string name="font_size_preview_text_title" msgid="4762429961714563135">"Dvadsať tisíc míľ pod morom"</string>
- <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"23. kapitola: Korálové kráľovstvo"</string>
+ <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"23. kapitola: Koralové kráľovstvo"</string>
<string name="font_size_preview_text_body" msgid="1608889593334414309">"Nasledujúci deň som sa zobudil a v hlave som mal úplne jasno. Na moje veľké prekvapenie som bol vo svojej izbe. Moji spoločníci sa samozrejme vrátili do svojej kajuty, pričom si nevšimli o nič viac ako ja. O tom, čo sa stalo počas noci, nevedeli rovnako ako ja vôbec nič. V odhalení tohto tajomstva som sa mohol spoľahnúť iba na budúce príležitosti.\nPotom som sa rozhodol opustiť svoju izbu. Bol som znova voľný alebo väzeň? Úplne voľný. Otvoril som dvere, vyšiel na palubu a potom hlavnými schodmi. Palubné otvory, ktoré boli včera večer zatvorené, boli teraz otvorené. Vyšiel som na plošinu.\nNed Land a Conseil tam na mňa čakali. Povypytoval som sa ich, nič však nevedeli. Po hlbokom spánku, počas ktorého boli úplne nevedomí, sa s prekvapením ocitli vo svojej kajute."</string>
<string name="font_size_save" msgid="3450855718056759095">"OK"</string>
<string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Ukladací priestor USB"</string>
@@ -267,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Pripájať sa k dátovým službám pri roamingu"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Dátové pripojenie bolo prerušené, pretože ste opustili domovskú sieť a máte vypnutý dátový roaming."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Zapnúť"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Ak povolíte dátový roaming, môžu sa vám účtovať vysoké poplatky."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ak povolíte dátový roaming, môžu sa vám účtovať vysoké poplatky za roaming!\n\nToto nastavenie ovplyvní všetkých používateľov tohto tabletu."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ak povolíte dátový roaming, môžu sa vám účtovať vysoké poplatky za roaming!\n\nToto nastavenie ovplyvní všetkých používateľov tohto telefónu."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Povoliť dátový roaming?"</string>
@@ -1969,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Vyskytli sa problémy so synchronizáciou. Služba bude čoskoro obnovená."</string>
<string name="add_account_label" msgid="7811707265834013767">"Pridať účet"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Pracovný profil zatiaľ nie je k dispozícii"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Odstrániť pracovný profil"</string>
<string name="background_data" msgid="5779592891375473817">"Dátové prenosy na pozadí"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikácie môžu kedykoľvek synchronizovať, odosielať a prijímať údaje"</string>
@@ -2804,8 +2808,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Rýchlo otvorí fotoaparát bez odomknutia obrazovky"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Priblíženie obrazovky"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"hustota obrazovky, priblíženie obrazovky, veľkosť, zmena veľkosti"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Zväčšite alebo zmenšite všetky položky na obrazovke. Po zmene tohto nastavenia sa môže zmeniť umiestnenie niektorých aplikácií na ploche."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Ukážka"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Zmenšiť"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Zväčšiť"</string>
@@ -2849,8 +2852,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je k dispozícii len prostredníctvom siete Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Dáta na pozadí sú vypnuté"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Dáta na pozadí sú dostupné iba prostredníctvom siete Wi-Fi. Môže to ovplyvniť niektoré aplikácie či služby, keď sieť Wi-Fi nie je dostupná."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Návrhy (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Odstrániť"</string>
<string name="color_temperature" msgid="2501579996151717270">"Intenzita farby zobrazenia"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Povolenie studených farieb"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 417c139..e4e591d 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -76,8 +76,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Izpni kartico SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Izbriši pomnilnik USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Izbriši kartico SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Pomanjšava ali povečava besedila na zaslonu."</string>
<string name="small_font" msgid="2295331917424072635">"Majhna"</string>
<string name="medium_font" msgid="2068475425515133701">"Srednja"</string>
<string name="large_font" msgid="599055175160971446">"Velika"</string>
@@ -267,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Med gostovanjem vzpostavi povezavo s podatkovnimi storitvami"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Podatkovna povezava ni mogoča, ker ste zapustili domače omrežje, podatkovno gostovanje pa je izklopljeno."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Vklopi"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Če dovolite podatkovno gostovanje, so lahko stroški gostovanja visoki."</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Če omogočite podatkovno gostovanje, si lahko naprtite velike stroške!\n\nNastavitev vpliva na vse uporabnike v tem tabličnem računalniku."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Če omogočite podatkovno gostovanje, si lahko naprtite velike stroške!\n\nNastavitev vpliva na vse uporabnike v tem telefonu."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Želite dovoliti podatkovno gostovanje?"</string>
@@ -1969,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Težava pri sinhronizaciji. Kmalu bo spet na voljo."</string>
<string name="add_account_label" msgid="7811707265834013767">"Dodaj račun"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Delovni profil še ni na voljo"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Odstrani delovni profil"</string>
<string name="background_data" msgid="5779592891375473817">"Podatki v ozadju"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikacije lahko kadar koli sinhronizirajo, pošiljajo in prejemajo podatke"</string>
@@ -2804,8 +2808,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Hitro odpre fotoaparat brez odklepanja zaslona"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Povečava zaslona"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"gostota zaslona, povečava zaslona, razmerje, spreminjanje velikosti"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Pomanjšava ali povečava vseh elementov na zaslonu. Po spreminjanju te nastavitve se lahko spremeni položaj nekaterih aplikacij na začetnem zaslonu."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Predogled"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Pomanjšanje"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Povečanje"</string>
@@ -2849,8 +2852,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je na voljo samo prek omrežja Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Prenos podat. v ozadju je izk."</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Prenos podatkov v ozadju je na voljo samo prek omrežja Wi-Fi. To morda vpliva na nekatere aplikacije ali storitve, ko omrežje Wi-Fi ni na voljo."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Predlogi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Odstrani"</string>
<string name="color_temperature" msgid="2501579996151717270">"Barvna temperatura zaslona"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Omogočanje hladne temperature"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 786643d..e6fea37 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Shkëput kartën SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Spastro hapësirën për ruajtje të USB-së"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Spastroje kartën SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Bëje tekstin në ekran më të vogël ose më të madh."</string>
<string name="small_font" msgid="2295331917424072635">"E vogël"</string>
<string name="medium_font" msgid="2068475425515133701">"Mesatar"</string>
<string name="large_font" msgid="599055175160971446">"I madh"</string>
@@ -265,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"Lidhu me shërbimet e të dhënave kur je në roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Ke humbur lidhshmërinë e të dhënave sepse u largove nga rrjeti vendor me të dhënat e roaming-ut që çaktivizove."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktivizoje"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktohen tarifa të larta!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"Mund të shkaktohen tarifa të larta."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktosh tarifa të konsiderueshme!\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë tablet."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktosh tarifa të konsiderueshme!\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë telefon."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Të lejohet shfrytëzimi i roaming-ut?"</string>
@@ -1937,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Sinkronizimi ka aktualisht probleme. Do të jetë i disponueshëm së shpejti."</string>
<string name="add_account_label" msgid="7811707265834013767">"Shto një llogari"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Profili i punës nuk ofrohet ende"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"Modaliteti i punës"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"Lejoje profilin e punës të funksionojë, duke përfshirë aplikacionet, sinkronizimin në sfond dhe funksionet e lidhura"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Hiq profilin e punës"</string>
<string name="background_data" msgid="5779592891375473817">"Të dhënat në sfond"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Aplikacionet mund të sinkronizojnë, dërgojnë dhe marrin të dhëna në çdo kohë"</string>
@@ -2754,8 +2755,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Hap me shpejtësi kamerën pa e shkyçur ekranin"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Zmadhimi i ekranit"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"dendësia e pamjes, zmadhimi i ekranit, shkalla, shkallëzimi"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Bëji të gjithë artikujt në ekran më të vegjël ose më të mëdhenj. Disa aplikacione në ekranin bazë mund të ndryshojnë pozicion pas ndryshimit të këtij cilësimi."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pamja paraprake"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Zvogëlo"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Zmadho"</string>
@@ -2799,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Interneti është i disponueshëm vetëm përmes Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Të dhënat e sfondit janë të çaktivizuara"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Të dhënat e sfondit janë të disponueshme vetëm përmes lidhjes Wi-Fi. Kjo mund të ndikojë te disa aplikacione ose shërbime kur lidhja Wi-Fi nuk është e disponueshme."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"Profili i punës është i çaktivizuar"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"Janë çaktivizuar aplikacionet, sinkronizimi në sfond dhe veçoritë e tjera që lidhen me profilin e punës."</string>
<string name="suggestions_title" msgid="8758376306825920705">"Sugjerimet (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Hiqe"</string>
<string name="color_temperature" msgid="2501579996151717270">"Shfaq temperaturën e ngjyrës"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Aktivizo temperaturën e ftohtë"</string>
+ <string name="usage" msgid="2977875522080448986">"Përdorimi"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Përdorimi i të dhënave celulare"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Përdorimi i të dhënave me Wi-Fi"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"Përdorimi i të dhënave me eternet"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"Eterneti"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"Të dhëna celulare <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"Të dhëna me Wi-Fi <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"Të dhëna me eternet <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"Paralajmërimi i të dhënave <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"Paralajmërimi i të dhënave <xliff:g id="ID_1">%1$s</xliff:g> / Kufiri i të dhënave <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"Cikli i faturimit"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Cikli muor fillon në datë <xliff:g id="ID_1">%1$s</xliff:g> të çdo muaji"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Çdo muaj duke filluar nga <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"Kufizimet e rrjetit"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"Llogaritja e të dhënave nga operatori mund të ndryshojë nga ajo e pajisjes tënde."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> të përdorura"</string>
+ <string name="data_warning" msgid="209133958008062117">"Paralajmërimi i të dhënave"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"Cakto kufirin e të dhënave"</string>
+ <string name="data_limit" msgid="1885406964934590552">"Kufiri i të dhënave"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> të përdorura mes datave <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="configure" msgid="1029654422228677273">"Konfiguro"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 7fd673a..dc7c884 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -75,8 +75,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Ослобађање SD картице"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Брисање USB меморије"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Избриши SD картицу"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Омогућава да текст на екрану буде мањи или већи."</string>
<string name="small_font" msgid="2295331917424072635">"Мала"</string>
<string name="medium_font" msgid="2068475425515133701">"Средња"</string>
<string name="large_font" msgid="599055175160971446">"Велика"</string>
@@ -266,7 +265,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Повезивање са услугом за податке током роминга"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Веза за пренос података је прекинута зато што сте напустили матичну мрежу са искљученим преносом података у ромингу."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Укључи"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Када омогућите пренос података у ромингу, могу да настану велики трошкови роминга!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Када омогућите пренос података у ромингу, можете да направите велике трошкове у ромингу!\n\nОво подешавање утиче на све кориснике овог таблета."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Када омогућите пренос података у ромингу, можете да направите велике трошкове у ромингу!\n\nОво подешавање утиче на све кориснике овог телефона."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Дозволите пренос података у ромингу?"</string>
@@ -1953,6 +1953,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Синхронизација тренутно има проблема. Ускоро ће се вратити."</string>
<string name="add_account_label" msgid="7811707265834013767">"Додај налог"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Пословни профил још увек није доступан"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Уклони профил за посао"</string>
<string name="background_data" msgid="5779592891375473817">"Подаци о позадини"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Апликације увек могу да синхронизују, шаљу и примају податке"</string>
@@ -2779,8 +2783,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Брзо отворите камеру без откључавања екрана"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Ниво зумирања екрана"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"густина екрана, зумирање екрана, размера, прилагођавање"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Омогућава да све ставке на екрану буду мање или веће. Положај неких апликација на почетном екрану може да се промени након промене овог подешавања."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Преглед"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Умањи"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Увећај"</string>
@@ -2824,8 +2827,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет је доступан само преко Wi-Fi-ја"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Позадински подаци су искључени"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Позадински подаци су доступни само преко Wi-Fi-ја. То може да утиче на неке апликације или услуге када Wi-Fi није доступан."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Предлози (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Уклони"</string>
<string name="color_temperature" msgid="2501579996151717270">"Прикажи температуру боје"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Омогућава хладну температуру"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4063dd2..fcac3ce 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Montera bort SD-kort"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Radera USB-lagring"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Radera SD-kort"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Gör texten på skärmen större eller mindre."</string>
<string name="small_font" msgid="2295331917424072635">"Liten"</string>
<string name="medium_font" msgid="2068475425515133701">"Medium"</string>
<string name="large_font" msgid="599055175160971446">"Stor"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Anslut till datatjänster vid roaming"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Du förlorade dataanslutningen eftersom du lämnade ditt hemnätverk utan att aktivera dataroaming."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktivera"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"När du tillåter dataroaming kan det tillkomma vissa avgifter!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Om du tillåter dataroaming kan det leda till höga kostnader.\n\nDen här inställningen påverkar samtliga användare."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Om du tillåter dataroaming kan det leda till höga kostnader.\n\nDen här inställningen påverkar samtliga användare."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Vill du tillåta dataroaming?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Det är för närvarande problem med synkronisering. Det fungerar igen om en stund."</string>
<string name="add_account_label" msgid="7811707265834013767">"Lägg till konto"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbetsprofilen är inte tillgänglig än"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Ta bort arbetsprofilen"</string>
<string name="background_data" msgid="5779592891375473817">"Bakgrundsdata"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Appar kan synkronisera, skicka och ta emot data när som helst"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Öppna kameran snabbt utan att låsa upp skärmen"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Skärmförstoring"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"skärmdensitet, skärmzoom, skala, förstoring"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Gör alla objekt på skärmen större eller mindre. Vissa appar på startskärmen kan byta plats när du har ändrat den här inställningen."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Förhandsgranskning"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Förminska"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Förstora"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet är endast tillgängligt via Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Bakgrundsdata har inaktiverats"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Bakgrundsdata är endast tillgänglig via Wi-Fi. Det här kan påverka vissa appar eller tjänster när du inte har tillgång till Wi-Fi."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Förslag (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Ta bort"</string>
<string name="color_temperature" msgid="2501579996151717270">"Visa färgtemperatur"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Aktivera kall temperatur"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 065771f..546c56f 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Ondoa kadi ya SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Futa hifadhi ya USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Futa kadi ya SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Ongeza au upunguze ukubwa wa maandishi kwenye skrini."</string>
<string name="small_font" msgid="2295331917424072635">"Ndogo"</string>
<string name="medium_font" msgid="2068475425515133701">"Wastani"</string>
<string name="large_font" msgid="599055175160971446">"Kubwa"</string>
@@ -267,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Unganisha huduma ya data wakati niko nje ya mtandao wangu wa kawaida"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Umepoteza muunganisho wa data kwa sababu uliondoka kwenye mtandao wako wa kawaida ukiwa umezima utumiaji data nje ya mtandao wa kawaida."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Iwashe"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Ukiruhusu data kupitia mitandao mingine, unaweza kupata gharama kubwa ya kupitia mitandao mingine!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Unaporuhusu data kupitia mitandao mingine, huenda ukatozwa gharama kubwa za matumizi ya nje!\n\nMpangilio huu unaathiri watumiaji wote kwenye kompyuta hii ndogo."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Unaporuhusu data kupitia mitandao mingine, huenda ukatozwa gharama kubwa za matumizi ya nje!\n\nMpangilio huu unaathiri watumiaji wote kwenye simu hii."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Ruhusu data kupitia mitandao mingine?"</string>
@@ -1943,6 +1943,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Kwa sasa usawazishaji una tatizo. Utarudi baada ya muda mfupi."</string>
<string name="add_account_label" msgid="7811707265834013767">"Ongeza akaunti"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Wasifu wa kazini bado haupatikani"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Ondoa wasifu wa kazi"</string>
<string name="background_data" msgid="5779592891375473817">"Data ya maandhari nyuma"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Programu inaweza kusawazisha, kutuma, na kupokea data wakati wowote"</string>
@@ -2760,8 +2764,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Fungua kamera kwa haraka bila kufungua skrini yako"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Kukuza skrini"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"onyesha uzito, kukuza skrini, kipimo, kupima"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Ongeza au upunguze ukubwa wa vipengee vyote kwenye skrini. Baadhi ya programu kwenye skrini yako ya kwanza zinaweza kubadilisha mahali zilipo baada ya kubadilisha mipangilio hii."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Onyesho la kuchungulia"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Punguza"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Kuza"</string>
@@ -2805,8 +2808,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Intaneti inapatikana kupitia Wi-Fi pekee"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Data ya chini chini imezimwa"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Data ya chini chini inapatikana tu kupitia Wi-Fi. Hii inaweza kuathiri baadhi ya programu au huduma wakati Wi-Fi haipatikani."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Mapendekezo ya (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Ondoa"</string>
<string name="color_temperature" msgid="2501579996151717270">"Onyesha halijoto ya rangi"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Washa halijoto ya baridi"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Mtandao-hewa"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index f326098..7394b33 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD கார்டை அகற்று"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB சேமிப்பிடத்தை அழி"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD கார்டை அழி"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"திரையில் காட்டப்படும் உரையைச் சிறிதாக்கும் அல்லது பெரிதாக்கும்."</string>
<string name="small_font" msgid="2295331917424072635">"சிறிய"</string>
<string name="medium_font" msgid="2068475425515133701">"நடுத்தரம்"</string>
<string name="large_font" msgid="599055175160971446">"பெரிய"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"ரோமிங்கின் போது தரவு சேவைகளுடன் இணை"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"உங்களுடைய உள்ளூர் நெட்வொர்க்கில் தரவு ரோமிங்கை முடக்கியுள்ளதால் உங்கள் தரவு இணைப்பை இழந்துவிட்டீர்கள்."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"இதை இயக்கவும்"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் கட்டணங்கள் உங்களுக்கு விதிக்கப்படலாம்!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் கட்டணங்கள் உங்களுக்கு விதிக்கப்படலாம்!\n\nஅமைப்பானது, டேப்லெட்டில் உள்ள அனைவரையும் பாதிக்கும்."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் கட்டணங்கள் உங்களுக்கு விதிக்கப்படலாம்!\n\nஅமைப்பானது, தொலைபேசியில் உள்ள அனைவரையும் பாதிக்கும்."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"தரவு ரோமிங்கை அனுமதிக்கவா?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"ஒத்திசைவில் தற்போது சிக்கல்களை எதிர்கொள்கிறோம். விரைவில் இது சரிசெய்யப்படும்."</string>
<string name="add_account_label" msgid="7811707265834013767">"கணக்கைச் சேர்"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"இன்னும் பணி சுயவிவரம் கிடைக்கவில்லை"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"பணி சுயவிவரத்தை அகற்று"</string>
<string name="background_data" msgid="5779592891375473817">"பின்புலத் தரவு"</string>
<string name="background_data_summary" msgid="8328521479872763452">"பயன்பாடுகளால் எந்நேரத்திலும் தரவை ஒத்திசைக்கவும், அனுப்பவும் பெறவும் முடியும்"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"திரையைத் திறக்காமலேயே கேமராவை வேகமாகத் திறக்கும்"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"திரையின் அளவை மாற்று"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"திரை அடர்த்தி, ஸ்கிரீன் ஜும், அளவு, அளவிடல்"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"திரையில் உள்ள எல்லாவற்றையும் சிறிதாக்கும் அல்லது பெரிதாக்கும். இந்த அமைப்பை மாற்றிய பின், முகப்புத் திரையில் உள்ள சில பயன்பாடுகளின் நிலை மாறக்கூடும்."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"மாதிரிக்காட்சி"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"சிறிதாக்கு"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"பெரிதாக்கு"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"வைஃபை மூலம் மட்டுமே இணையம் கிடைக்கும்"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"பின்புலத் தரவு: முடக்கத்தில்"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"வைஃபை மூலம் மட்டுமே பின்புலத் தரவு செயல்படும். இதனால் வைஃபை கிடைக்காத போது சில பயன்பாடுகள் அல்லது சேவைகள் பாதிக்கப்படலாம்."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"பரிந்துரைகள் (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"அகற்று"</string>
<string name="color_temperature" msgid="2501579996151717270">"காட்சியின் வண்ண அளவு"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"வெளிர் அளவை இயக்கு"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 8a21eb2..43e5a39 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD కార్డును అన్మౌంట్ చేయండి"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB నిల్వను ఎరేజ్ చేయండి"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD కార్డును ఎరేజ్ చేయండి"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"స్క్రీన్పై ఉన్న వచనాన్ని చిన్నదిగా లేదా పెద్దదిగా చేస్తుంది."</string>
<string name="small_font" msgid="2295331917424072635">"చిన్నది"</string>
<string name="medium_font" msgid="2068475425515133701">"మధ్యస్థం"</string>
<string name="large_font" msgid="599055175160971446">"పెద్దది"</string>
@@ -265,7 +264,7 @@
<string name="roaming_disable" msgid="1295279574370898378">"రోమింగ్లో ఉన్నప్పుడు డేటా సేవలకు కనెక్ట్ చేయి"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"మీరు ఆఫ్ చేయబడిన డేటా రోమింగ్తో మీ హోమ్ నెట్వర్క్ నుండి నిష్క్రమించినందున డేటా కనెక్టివిటీని కోల్పోయారు."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"దీన్ని ప్రారంభించు"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"మీరు డేటా రోమింగ్ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!"</string>
+ <string name="roaming_warning" msgid="4275443317524544705">"మీకు గణనీయ ఛార్జీలు విధించబడవచ్చు."</string>
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"మీరు డేటా రోమింగ్ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!\n\nఈ సెట్టింగ్ ఈ టాబ్లెట్లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"మీరు డేటా రోమింగ్ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!\n\nఈ సెట్టింగ్ ఈ ఫోన్లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"డేటా రోమింగ్ను అనుమతించాలా?"</string>
@@ -1937,6 +1936,8 @@
<string name="sync_is_failing" msgid="1591561768344128377">"సమకాలీకరణ ప్రస్తుతం సమస్యలను ఎదుర్కొంటోంది. ఇది త్వరలో అందుబాటులోకి వస్తుంది."</string>
<string name="add_account_label" msgid="7811707265834013767">"ఖాతాను జోడించు"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"కార్యాలయ ప్రొఫైల్ ఇప్పటికీ అందుబాటులో లేదు"</string>
+ <string name="work_mode_label" msgid="5794470908668593961">"కార్యాలయ మోడ్"</string>
+ <string name="work_mode_summary" msgid="1620246003886940776">"అనువర్తనాలు, నేపథ్య సమకాలీకరణ మరియు సంబంధిత లక్షణాలతో సహా కార్యాలయ ప్రొఫైల్ను పని చేయడానికి అనుమతిస్తుంది"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"కార్యాలయ ప్రొఫైల్ను తీసివేయి"</string>
<string name="background_data" msgid="5779592891375473817">"నేపథ్య డేటా"</string>
<string name="background_data_summary" msgid="8328521479872763452">"అనువర్తనాలు ఏ సమయంలోనైనా డేటాను సమకాలీకరించవచ్చు, పంపవచ్చు మరియు స్వీకరించవచ్చు"</string>
@@ -2754,8 +2755,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"మీ స్క్రీన్ను అన్లాక్ చేయకుండానే కెమెరాను శీఘ్రంగా తెరుస్తుంది"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"స్క్రీన్ జూమ్"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"డిస్ప్లే సాంద్రత, స్క్రీన్ జూమ్, ప్రమాణం, కొలమానం"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"స్క్రీన్పై ఉన్న అన్ని అంశాలను చిన్నవిగా లేదా పెద్దవిగా చేస్తుంది. ఈ సెట్టింగ్ను మార్చిన తర్వాత మీ హోమ్ స్క్రీన్పై ఉన్న కొన్ని అనువర్తనాల స్థానం మారవచ్చు."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"పరిదృశ్యం"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"చిన్నదిగా చేస్తుంది"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"పెద్దదిగా చేస్తుంది"</string>
@@ -2799,8 +2799,32 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Wi-Fi ద్వారా మాత్రమే ఇంటర్నెట్ అందుబాటులో ఉంది"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"నేపథ్య డేటా ఆఫ్లో ఉంది"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"నేపథ్య డేటా Wi-Fi ద్వారా మాత్రమే అందుబాటులో ఉంది. Wi-Fi అందుబాటులో లేనప్పుడు కొన్ని అనువర్తనాలు లేదా సేవలపై దీని ప్రభావం ఉండవచ్చు."</string>
+ <string name="condition_work_title" msgid="7293722361184366648">"కార్యాలయ ప్రొఫైల్ ఆఫ్లో ఉంది"</string>
+ <string name="condition_work_summary" msgid="7543202177571590378">"మీ కార్యాలయ ప్రొఫైల్కి సంబంధించిన అనువర్తనాలు, నేపథ్య సమకాలీకరణ మరియు ఇతర లక్షణాలు ఆఫ్ చేయబడ్డాయి."</string>
<string name="suggestions_title" msgid="8758376306825920705">"సూచనలు (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"తీసివేయి"</string>
<string name="color_temperature" msgid="2501579996151717270">"డిస్ప్లే రంగు ఉష్ణోగ్రత"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"చల్లని ఉష్ణోగ్రతను ప్రారంభిస్తుంది"</string>
+ <string name="usage" msgid="2977875522080448986">"వినియోగం"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"సెల్యులార్ డేటా వినియోగం"</string>
+ <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi డేటా వినియోగం"</string>
+ <string name="ethernet_data_usage" msgid="5108764537574354616">"ఈథర్నెట్ డేటా వినియోగం"</string>
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <string name="ethernet" msgid="6600095783781389720">"ఈథర్నెట్"</string>
+ <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> సెల్యులార్ డేటా"</string>
+ <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi డేటా"</string>
+ <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ఈథర్నెట్ డేటా"</string>
+ <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> డేటా హెచ్చరిక"</string>
+ <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> డేటా హెచ్చరిక / <xliff:g id="ID_2">%2$s</xliff:g> డేటా పరిమితి"</string>
+ <string name="billing_cycle" msgid="5169909190811133499">"బిల్లింగ్ సైకిల్"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"నెలవారీ సైకిల్ ప్రతి నెలా <xliff:g id="ID_1">%1$s</xliff:g>వ తేదీన మొదలవుతుంది"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"ప్రతి నెలా <xliff:g id="ID_1">%1$s</xliff:g>వ తేదీన మొదలవుతుంది"</string>
+ <string name="network_restrictions" msgid="8234695294536675380">"నెట్వర్క్ పరిమితులు"</string>
+ <string name="operator_warning" msgid="7206980278353372811">"ఆపరేటర్ డేటా లెక్కింపు మీ పరికరాన్ని బట్టి మారవచ్చు."</string>
+ <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> వినియోగించబడింది"</string>
+ <string name="data_warning" msgid="209133958008062117">"డేటా హెచ్చరిక"</string>
+ <string name="set_data_limit" msgid="2901526323210516923">"డేటా పరిమితిని సెట్ చేయి"</string>
+ <string name="data_limit" msgid="1885406964934590552">"డేటా పరిమితి"</string>
+ <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_2">%2$s</xliff:g> వ్యవధిలో <xliff:g id="ID_1">%1$s</xliff:g> వినియోగించబడింది"</string>
+ <string name="configure" msgid="1029654422228677273">"కాన్ఫిగర్ చేయి"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index d96030b..b8bc4da 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"ยกเลิกการต่อเชื่อมการ์ด SD"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"ลบที่เก็บข้อมูล USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"ลบการ์ด SD"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"ทำให้ข้อความบนหน้าจอมีขนาดเล็กลงหรือใหญ่ขึ้น"</string>
<string name="small_font" msgid="2295331917424072635">"ขนาดเล็ก"</string>
<string name="medium_font" msgid="2068475425515133701">"ปานกลาง"</string>
<string name="large_font" msgid="599055175160971446">"ใหญ่"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"เชื่อมต่ออินเทอร์เน็ตขณะโรมมิ่ง"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"การเชื่อมต่อข้อมูลของคุณหายไปเนื่องจากคุณออกจากเครือข่ายที่บ้านโดยปิดการโรมมิ่งข้อมูลไว้"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"เปิด"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"การอนุญาตการโรมมิ่งข้อมูล อาจทำให้คุณเสียค่าใช้จ่ายมาก!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติมจำนวนมากในการโรมมิ่ง!\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้แท็บเล็ตนี้ทุกราย"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติมจำนวนมากในการโรมมิ่ง!\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้โทรศัพท์นี้ทุกราย"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"อนุญาตการโรมมิ่งข้อมูลหรือไม่"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"การซิงค์กำลังประสบปัญหา อีกสักครู่จะกลับมาอีกครั้ง"</string>
<string name="add_account_label" msgid="7811707265834013767">"เพิ่มบัญชี"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"โปรไฟล์งานยังไม่พร้อมใช้งาน"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"นำโปรไฟล์งานออก"</string>
<string name="background_data" msgid="5779592891375473817">"ข้อมูลพื้นหลัง"</string>
<string name="background_data_summary" msgid="8328521479872763452">"แอปพลิเคชันสามารถซิงค์ ส่ง และรับข้อมูลได้ตลอดเวลา"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"เปิดกล้องอย่างรวดเร็วโดยไม่ต้องปลดล็อกหน้าจอ"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"การซูมหน้าจอ"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ความหนาแน่นในการแสดงผล, ซูมหน้าจอ, ระดับ, การปรับระดับ"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"ทำให้รายการทั้งหมดบนหน้าจอมีขนาดเล็กลงหรือใหญ่ขึ้น ตำแหน่งแอปบางส่วนบนหน้าจอหลักอาจเปลี่ยนแปลงหลังเปลี่ยนการตั้งค่านี้"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"ดูตัวอย่าง"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"ทำให้เล็กลง"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"ทำให้ใหญ่ขึ้น"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"สามารถใช้อินเทอร์เน็ตผ่าน Wi-Fi ได้เท่านั้น"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"ปิดใช้ข้อมูลแบ็กกราวด์อยู่"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"สามารถใช้ข้อมูลแบ็กกราวด์ผ่าน Wi-Fi ได้เท่านั้น ซึ่งอาจส่งผลกระทบต่อแอปหรือบริการบางอย่างเมื่อไม่มี Wi-Fi"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"รายการแนะนำ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"นำออก"</string>
<string name="color_temperature" msgid="2501579996151717270">"อุณหภูมิสีในการแสดงผล"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"เปิดใช้อุณหภูมิสีเย็นตา"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"WiFi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 6d55d50..6e32f49 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"I-unmount ang SD card"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Burahin imbakan na USB"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"Burahin ang SD card"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Paliitin o palakihin ang text sa screen."</string>
<string name="small_font" msgid="2295331917424072635">"Maliit"</string>
<string name="medium_font" msgid="2068475425515133701">"Katamtaman"</string>
<string name="large_font" msgid="599055175160971446">"Malaki"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Kumonekta sa mga serbisyo ng data kapag nagro-roam"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Nawala ang koneksyon ng data dahil iniwan mo ang iyong home network na naka-off ang roaming ng data."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"I-on ito"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Kapag pinayagan mo ang roaming ng data, maaari kang magkamit ng makabuluhang mga pagsingil sa roaming!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kapag papayagan mo ang roaming ng data, maaari kang magkaroon ng malalaking singilin sa roaming!\n\nNakakaapekto ang setting na ito sa lahat ng user sa tablet na ito."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kapag papayagan mo ang roaming ng data, maaari kang magkaroon ng malalaking singilin sa roaming!\n\nNakakaapekto ang setting na ito sa lahat ng user sa teleponong ito."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Payagan ang roaming ng data?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Kasalukuyang nakakaranas ng mga problema ang pag-sync. Babalik ito sa ilang saglit."</string>
<string name="add_account_label" msgid="7811707265834013767">"Magdagdag ng account"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Hindi pa available ang profile sa trabaho"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Alisin ang profile sa trabaho"</string>
<string name="background_data" msgid="5779592891375473817">"Data sa background"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Maaaring mag-sync, magpadala, at tumanggap ng data ang apps anumang oras"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Mabilisang buksan ang camera nang hindi ina-unlock ang iyong screen"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Pag-zoom ng screen"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"density ng display, pag-zoom sa screen, scale, pag-scale"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Paliitin o palakihin ang lahat ng item sa screen. Maaaring mag-iba ng pwesto ang ilang app sa iyong home screen pagkatapos baguhin ang setting na ito."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"I-preview"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Paliitin"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Palakihin"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Available lang ang Internet kapag may Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Data ng background, naka-off"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Available lang ang data ng background kapag may Wi-Fi. Maaari itong makaapekto sa ilang app o serbisyo kapag hindi available ang Wi-Fi."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Mga Suhestyon (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Alisin"</string>
<string name="color_temperature" msgid="2501579996151717270">"Temperatura ng kulay ng display"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"I-enable ang malamig na temperatura"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 552fb3c..9e6cc42 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD kartının bağlantısını kes"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB belleği sil"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD kartı sil"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Ekrandaki metni daha küçük veya daha büyük yapın."</string>
<string name="small_font" msgid="2295331917424072635">"Küçük"</string>
<string name="medium_font" msgid="2068475425515133701">"Ortam"</string>
<string name="large_font" msgid="599055175160971446">"Büyük"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Dolaşımdayken veri hizmetlerine bağlan"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Veri dolaşımı kapalıyken ana ağınızdan ayrıldığınız için veri bağlantısını kaybettiniz."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Açın"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Veri dolaşımına izin verdiğinizde, yüksek miktarda dolaşım ücretleri ödeyebilirsiniz!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Veri dolaşımına izin verirseniz, önemli düzeyde dolaşım ücretleriyle karşılaşabilirsiniz!\n\nBu ayar bu tabletteki tüm kullanıcıları etkiler."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Veri dolaşımına izin verirseniz, önemli düzeyde dolaşım ücretleriyle karşılaşabilirsiniz!\n\nBu ayar bu telefondaki tüm kullanıcıları etkiler."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Veri dolaşımına izin verilsin mi?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Şu anda senkronizasyon sorunları yaşanıyor. Kısa süre sonra düzeltilecek."</string>
<string name="add_account_label" msgid="7811707265834013767">"Hesap ekle"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"İş profili henüz kullanılamıyor"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"İş profilini kaldır"</string>
<string name="background_data" msgid="5779592891375473817">"Arka plan veri"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Uyglr istediğiniz zaman verileri senk eder, gönderir ve alır"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ekranınızı kilitlemeden kamerayı hızlıca açın"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Ekranı yakınlaştırma"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ekran yoğunluğu, ekran yakınlaştırma, ölçek, ölçekleme"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Ekrandaki tüm öğeleri daha küçük veya daha büyük yapın. Bu ayar değiştirildikten sonra ana ekranınızdaki bazı uygulamaların konumu değişebilir."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Önizleme"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Küçült"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Büyüt"</string>
@@ -2799,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"İnternet yalnızca kablosuz bağlantı üzerinden kullanılabilir"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Arka plan veriler kapalı"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Arka plan veriler yalnızca kablosuz bağlantı üzerinden kullanılabilir. Bu durum, kablosuz bağlantı mevcut olmadığında bazı uygulamaları veya hizmetleri etkileyebilir."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Öneriler (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Kaldır"</string>
<string name="color_temperature" msgid="2501579996151717270">"Ekran renk sıcaklığı"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Soğuk renkleri etkinleştir"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Kablosuz"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 985c1d8..593afb6 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -266,7 +266,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Підключатися до служб передавання даних у роумінгу"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Доступ до даних утрачено, оскільки ви залишили домашню мережу з вимкненим роумінгом даних."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Увімкнути"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Якщо дозволити роумінг даних, може стягуватися значна плата за роумінг!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Якщо дозволити роумінг даних, з вас може стягуватися значна плата за роумінг.\n\nТаке налаштування впливає на всіх користувачів цього планшетного ПК."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Якщо дозволити роумінг даних, з вас може стягуватися значна плата за роумінг.\n\nТаке налаштування впливає на всіх користувачів цього телефону."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Дозволити роумінг даних?"</string>
@@ -1968,6 +1969,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Наразі виникли проблеми із синхронізацією. Незабаром вона відновиться."</string>
<string name="add_account_label" msgid="7811707265834013767">"Додати обліковий запис"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Робочий профіль ще недоступний"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Видалити службовий профіль"</string>
<string name="background_data" msgid="5779592891375473817">"Фонові дані"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Програми можуть будь-коли синхроніз., надсил. й отрим. дані"</string>
@@ -2847,8 +2852,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"З’єднання з Інтернетом доступне лише через Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Фоновий режим вимкнено"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Фоновий режим доступний лише через Wi-Fi. Це може вплинути на роботу деяких додатків і служб, коли мережа Wi-Fi недоступна."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Пропозиції (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Видалити"</string>
<string name="color_temperature" msgid="2501579996151717270">"Температура кольорів дисплея"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Увімкнути холодну температуру"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 20ea89d..acda81a 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD کارڈ ان ماؤنٹ کریں"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB اسٹوریج کو حذف کریں"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD کارڈ حذف کریں"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"اسکرین پر موجود متن کو چھوٹا یا بڑا کریں۔"</string>
<string name="small_font" msgid="2295331917424072635">"چھوٹا"</string>
<string name="medium_font" msgid="2068475425515133701">"متوسط"</string>
<string name="large_font" msgid="599055175160971446">"بڑا"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"رومنگ کے وقت ڈیٹا سروسز سے مربوط ہوں"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"آپ ڈیٹا کنیکٹوٹی سے اس لیے محروم ہو گئے ہیں کیونکہ آپ نے اپنے ہوم نیٹ ورک کو ڈیٹا رومنگ آف ہونے کے ساتھ چھوڑ دیا ہے۔"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"اسے آن کریں"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!\n\nیہ ترتیب اس ٹیبلٹ پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!\n\nیہ ترتیب اس فون پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"ڈیٹا رومنگ کی اجازت دیں؟"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"مطابقت پذیری میں فی الحال دشواریاں پیش آ رہی ہیں۔ یہ جلد ہی واپس آ جائے گا۔"</string>
<string name="add_account_label" msgid="7811707265834013767">"اکاؤنٹ شامل کریں"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"دفتری پروفائل ابھی دستیاب نہیں ہے"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"دفتری پروفائل ہٹائیں"</string>
<string name="background_data" msgid="5779592891375473817">"پس منظر کا ڈیٹا"</string>
<string name="background_data_summary" msgid="8328521479872763452">"ایپس کسی بھی وقت ڈیٹا سنک، بھیج اور وصول کر سکتی ہیں"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"اپنی اسکرین غیر مقفل کئے بغیر تیزی سے کیمرا کھولیں"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"اسکرین زوم"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ڈسپلے کثافت، اسکرین زوم، اسکیل، اسکیل کرنا"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"اسکرین پر موجود تمام آئٹمز کو چھوٹا یا بڑا کریں۔ اس ترتیب کو تبدیل کرنے کے بعد آپ کی ہوم اسکرین پر موجود کچھ اہپس پوزیشن تبدیل کر سکتی ہیں۔"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"پیش منظر"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"چھوٹا کریں"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"بڑا کریں"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"انٹرنیٹ صرف بذریعہ Wi-Fi دستیاب ہے"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"پس منظر ڈیٹا آف ہے"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"پس منظر ڈیٹا صرف بذریعہ Wi-Fi دستیاب ہے۔ جب Wi-Fi دستیاب نہ ہو تو کچھ ایپس یا سروسز متاثر ہو سکتی ہیں۔"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"تجاویز (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"ہٹائیں"</string>
<string name="color_temperature" msgid="2501579996151717270">"ڈسپلے رنگ کا درجہ حرارت"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"سرد درجہ حرارت فعال کریں"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 6d46be1..b8977c9 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD kartani uzish"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB xotirani tozalash"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"SD-kartani tozalash"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"Ekrandagi matnni kichiklashtiring yoki kattalashtiring."</string>
<string name="small_font" msgid="2295331917424072635">"Kichik"</string>
<string name="medium_font" msgid="2068475425515133701">"O‘rtacha"</string>
<string name="large_font" msgid="599055175160971446">"Katta"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Rouming vaqtida mobil internetga ulanish"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Internet aloqangiz uzilganligiga sabab, uydan chiqib ketganligiz yoki ma‘lumotlar roumingi o‘chiq holatda."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Roumingni yoqish"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!\n\nBu sozlama tanlovi ushbu planshetning barcha foydalanuvchilariga ta‘sir ko‘rsatishi mumkin."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!\n\nBu sozlama tanlovi ushbu telefonning barcha foydalanuvchilariga ta‘sir ko‘rsatishi mumkin."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Internet roumingiga ruxsat berilsinmi?"</string>
@@ -1937,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Hozirgi paytda sinx-lashda muammolar sezilmoqda. Ish xolati tez orada tiklanadi"</string>
<string name="add_account_label" msgid="7811707265834013767">"Hisob qo‘shish"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Ishchi profil hali mavjud emas"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Ishchi profilni o‘chirish"</string>
<string name="background_data" msgid="5779592891375473817">"Ma’lumotlarni fonda yuklash"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Ilovalar sinxronlanishi, ma’lumotlarni istalgan paytda jo‘natishi va qabul qilishi mumkin"</string>
@@ -2754,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ekran qulfini ochmasdan kamerani tezroq ishga tushirish"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"Ekran ko‘lami"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"ekran, zichlik, ekran, ko‘lam, miqyos, oshirish"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"Ekrandagi barcha elementlarni kichiklashtiring yoki kattalashtiring. Bu sozlama o‘zgartirilganidan so‘ng bosh ekrandagi bir qancha ilovalar o‘z joylashuvini o‘zgartirishi mumkin."</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"Oldindan ko‘rish"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Kichiklashtirish"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Kattalashtirish"</string>
@@ -2799,8 +2802,56 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Fondagi internet faqat Wi-Fi orqali ishlaydi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Fondagi internet o‘chiq"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Fondagi internet faqat Wi-Fi orqali ishlaydi. Agar Wi-Fi o‘chiq bo‘lsa, bu bir qancha ilovalar va xizmatlarning ishlashiga ta’sir qilishi mumkin."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Takliflar (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"O‘chirish"</string>
<string name="color_temperature" msgid="2501579996151717270">"Displey rangi harorati"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Salqin haroratni yoqish"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <!-- no translation found for wifi (1081550856200013637) -->
+ <skip />
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 3b74b1f..67ee7e4 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Kết nối với dịch vụ dữ liệu khi chuyển vùng"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Bạn đã mất kết nối dữ liệu vì bạn đã tắt chuyển vùng dữ liệu của mạng gia đình của mình."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Bật"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Khi cho phép chuyển vùng dữ liệu, bạn có thể bị tính phí chuyển vùng đáng kể!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Khi bạn cho phép chuyển vùng dữ liệu, bạn có thể phải trả khoản phí chuyển vùng đáng kể!\n\nCài đặt này ảnh hưởng đến tất cả người dùng trên máy tính bảng này."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Khi bạn cho phép chuyển vùng dữ liệu, bạn có thể phải trả khoản phí chuyển vùng đáng kể!\n\nCài đặt này ảnh hưởng đến tất cả người dùng trên điện thoại này."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Cho phép chuyển vùng dữ liệu?"</string>
@@ -1936,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Đồng bộ hóa hiện đang gặp sự cố. Đồng bộ hóa sẽ sớm hoạt động trở lại."</string>
<string name="add_account_label" msgid="7811707265834013767">"Thêm tài khoản"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Hiện chưa có hồ sơ công việc"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Xóa hồ sơ công việc"</string>
<string name="background_data" msgid="5779592891375473817">"Dữ liệu nền"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Ứng dụng có thể đ.bộ hóa, gửi & nhận dữ liệu bất kỳ lúc nào"</string>
@@ -2797,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"Internet chỉ khả dụng qua Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Dữ liệu nền bị tắt"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Dữ liệu nền chỉ khả dụng qua Wi-Fi. Điều này có thể ảnh hưởng đến một số ứng dụng hoặc dịch vụ khi không có Wi-Fi."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Đề xuất (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Xóa"</string>
<string name="color_temperature" msgid="2501579996151717270">"Hiển thị nhiệt độ màu"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Bật tông màu lạnh"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index fbdd1ac..ead6e2a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -74,21 +74,16 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸载SD卡"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"格式化USB存储设备"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"格式化SD卡"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"缩小或放大屏幕上的文字。"</string>
<string name="small_font" msgid="2295331917424072635">"小"</string>
<string name="medium_font" msgid="2068475425515133701">"中"</string>
<string name="large_font" msgid="599055175160971446">"大"</string>
<string name="font_size_make_smaller_desc" msgid="7919995133365371569">"缩小"</string>
<string name="font_size_make_larger_desc" msgid="4316986572233686061">"放大"</string>
- <!-- no translation found for font_size_preview_text_headline (7955317408475392247) -->
- <skip />
- <!-- no translation found for font_size_preview_text_title (4762429961714563135) -->
- <skip />
- <!-- no translation found for font_size_preview_text_subtitle (5712012075615701561) -->
- <skip />
- <!-- no translation found for font_size_preview_text_body (1608889593334414309) -->
- <skip />
+ <string name="font_size_preview_text_headline" msgid="7955317408475392247">"示例文本"</string>
+ <string name="font_size_preview_text_title" msgid="4762429961714563135">"《海底两万里》"</string>
+ <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"第 23 章:《珊瑚王国》"</string>
+ <string name="font_size_preview_text_body" msgid="1608889593334414309">"第二天醒来时,我的脑袋异常清醒。令我大吃一惊的是,我竟然在自己的房间里。我的同伴们也一定都在不知不觉中被人送回了各自的船舱,而且和我一样,对于昨晚发生的事一无所知。要想揭开整件事情的谜团,我想只能等待日后偶然的机会了。\n我暗自琢磨着离开这个房间。我重获自由了吗?还是依然是个被囚禁的人?事实上,我已经完全获得自由了!我打开房门,穿过半个甲板,然后走上中央楼梯。昨晚关闭的嵌板现在是敞开的。我踏上平台。\n尼德·兰和康塞尔正在那里等着我。我向他们提出心中的疑惑,但没有获得任何答案。他们睡得太沉了,彻底失去意识,醒来时也是很惊讶地发现自己又回到了船舱中。"</string>
<string name="font_size_save" msgid="3450855718056759095">"确定"</string>
<string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB存储设备"</string>
<string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD卡"</string>
@@ -269,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"漫游时连接到移动数据网络服务"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"移动数据网络连接已断开,因为您已离开本地网络并关闭了移动数据网络漫游功能。"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"将其启用"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"请注意,允许移动数据网络漫游可能会产生高额漫游费!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"如果允许数据漫游,您可能需要支付高昂的漫游费用!\n\n此设置会影响这部平板电脑上的所有用户。"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"如果允许数据漫游,您可能需要支付高昂的漫游费用!\n\n此设置会影响这部手机上的所有用户。"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"允许移动数据网络漫游吗?"</string>
@@ -1279,9 +1275,9 @@
<string name="lock_settings_profile_label" msgid="4423909470339292809">"工作资料安全"</string>
<string name="lock_settings_profile_screen_lock_title" msgid="3334747927367115256">"工作资料屏幕锁定"</string>
<string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"使用相同的屏幕锁定设置"</string>
- <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"更改主资料,以使其与工作资料相符"</string>
+ <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"将主资料改成与工作资料一致"</string>
<string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"要使用相同的屏幕锁定设置吗?"</string>
- <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"您可以针对自己的设备使用这种锁定,但这样做会使您的 IT 管理员所设置的所有屏幕锁定相关政策都应用到工作资料。\n要针对您的设备使用相同的屏幕锁定设置吗?"</string>
+ <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"您可以在设备上使用这种锁定,但这样会使您的 IT 管理员所设置的所有屏幕锁定相关政策都应用到工作资料。\n要在设备上使用相同的屏幕锁定设置吗?"</string>
<string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"与设备相同的锁定设置"</string>
<string name="manageapplications_settings_title" msgid="7041951105633616745">"管理应用"</string>
<string name="manageapplications_settings_summary" msgid="1794401500935451259">"管理和删除已安装的应用"</string>
@@ -1941,6 +1937,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"同步操作当前遇到了一些问题,很快便可恢复。"</string>
<string name="add_account_label" msgid="7811707265834013767">"添加帐号"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"工作资料尚不可用"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"移除工作资料"</string>
<string name="background_data" msgid="5779592891375473817">"后台流量"</string>
<string name="background_data_summary" msgid="8328521479872763452">"应用可以随时同步、发送和接收数据"</string>
@@ -2758,8 +2758,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"在不解锁屏幕的情况下快速打开相机"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"屏幕缩放"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"显示密度, 屏幕缩放, 比例, 调整比例"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"缩小或放大屏幕上的所有内容。更改此设置后,主屏幕上部分应用的位置可能会有变动。"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"预览"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"缩小"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"放大"</string>
@@ -2803,8 +2802,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"您只能通过 WLAN 网络连接到互联网"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"后台数据已关闭"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"您必须连接 WLAN 网络才能使用后台数据。如果无法连接 WLAN 网络,则部分应用或服务可能会受影响。"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"建议 (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"移除"</string>
<string name="color_temperature" msgid="2501579996151717270">"显示屏色温"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"启用冷色温"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"WLAN"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 2c0ab2d..eb465b6 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸載 SD 卡"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"清除 USB 儲存裝置資料"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"清除 SD 記憶卡資料"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"縮小或放大畫面上的文字。"</string>
<string name="small_font" msgid="2295331917424072635">"小"</string>
<string name="medium_font" msgid="2068475425515133701">"中"</string>
<string name="large_font" msgid="599055175160971446">"大"</string>
@@ -84,7 +83,7 @@
<string name="font_size_preview_text_headline" msgid="7955317408475392247">"範例文字"</string>
<string name="font_size_preview_text_title" msgid="4762429961714563135">"《海底兩萬里》"</string>
<string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"第 23 章:珊瑚王國"</string>
- <string name="font_size_preview_text_body" msgid="1608889593334414309">"第二天醒來時,我的頭腦非常清晰。令我詫異的是,我竟在自己的房間裡。我的同伴也一定在不知不覺中回到自己的船艙,對昨晚發生的事一無所知。我只寄望日後還有機會,揭開整件事的謎團。\n然後,我想走出房間。我重獲自由了嗎?還是仍是囚犯?結果是自由的很。我打開門,走上半甲板,再走到中央樓梯。昨晚關上的門板現在是開著的。我踏上平台。\n尼德·蘭和康塞爾在那裡等著我。我向他們提出心中的疑惑,但他們一無所知,只記得自己睡得很沉,徹底失去意識一樣,醒來時很驚訝發現身處自己的船艙中。"</string>
+ <string name="font_size_preview_text_body" msgid="1608889593334414309">"第二天我醒來的時候,頭腦特別清醒。我居然是在自己的房間,這讓我感到很驚。這麼說,我的兩個同伴對晚上發生的所有事情,像我一樣也都完全不知道,他們大概也是在一無所知的情況下被人送回了房間。看來,我只有依靠將來的偶然機會,才能要解開這個謎團。\n我暗自琢磨著離開這個房間。我是已經恢復了自由了呢?還是依然是個被囚禁的人呢?事實上,我已經完全獲得自由了!我打開了門,穿過走廊,登上了中央鐵梯。昨天關閉著的嵌板,現在是開著的。我走上了平台,\n尼德·蘭和康塞爾已經等在了那裡。我問他們,是否知道昨晚發生的事情,他們說昨晚沒給他們留下任何記憶,也感到很驚訝,不知道自己在什麼時候又回到了房間,只是一直在昏沉沉地睡著。"</string>
<string name="font_size_save" msgid="3450855718056759095">"確定"</string>
<string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 儲存裝置"</string>
<string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 卡"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"漫遊時連線到數據傳輸服務"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"您已離開主網絡覆蓋範圍,且已關閉數據傳輸漫遊服務,因此數據連線已中斷。"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"開啟"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"如果您允許數據漫遊,可能需要支付龐大的漫遊費用!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"如果您允許數據漫遊,可能需要支付高昂的漫遊費用!\n\n這項設定會影響這部平板電腦的所有使用者。"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"如果您允許數據漫遊,可能需要支付高昂的漫遊費用!\n\n這項設定會影響這部手機的所有使用者。"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"允許數據漫遊?"</string>
@@ -1942,6 +1942,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"同步處理目前發生問題。將於短時間內恢復。"</string>
<string name="add_account_label" msgid="7811707265834013767">"新增帳戶"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"公司檔案未能使用"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"移除公司檔案"</string>
<string name="background_data" msgid="5779592891375473817">"背景資料"</string>
<string name="background_data_summary" msgid="8328521479872763452">"應用程式隨時可以同步處理、傳送和接收資料"</string>
@@ -2759,8 +2763,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"快速開啟相機,無需解鎖螢幕"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"螢幕縮放"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"顯示密度, 螢幕縮放, 比例, 按比例"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"縮小或放大畫面上的所有項目。變更此設定後,主畫面上的部分應用程式位置可能會有變動。"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"預覽"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"縮小"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"放大"</string>
@@ -2804,8 +2807,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"您必須使用 Wi-Fi 才能連線至互聯網"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"已關閉背景數據"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"您必須連接 Wi-Fi 才能使用背景數據。在沒有 Wi-Fi 的情況下,使用背景數據可能會影響部分應用程式或服務。"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"建議 (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"移除"</string>
<string name="color_temperature" msgid="2501579996151717270">"顯示屏的色溫"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"啟用冷色"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index e85734e..4c624e1 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -74,8 +74,7 @@
<string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸載 SD 卡"</string>
<string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"清除 USB 儲存裝置"</string>
<string name="sdcard_format" product="default" msgid="6713185532039187532">"清除 SD 卡"</string>
- <!-- no translation found for font_size_summary (133937309990844030) -->
- <skip />
+ <string name="font_size_summary" msgid="133937309990844030">"縮小或放大畫面上的文字。"</string>
<string name="small_font" msgid="2295331917424072635">"小"</string>
<string name="medium_font" msgid="2068475425515133701">"中"</string>
<string name="large_font" msgid="599055175160971446">"大"</string>
@@ -265,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"漫遊時連線到數據傳輸服務"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"由於您不在主要網路蓋涵範圍,且已關閉漫遊服務,資料連線已中斷。"</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"開啟"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"允許漫遊服務時,您可能需要支付龐大的漫遊費用!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"允許使用數據漫遊服務時,您可能需要支付龐大的漫遊費用!\n\n這項設定會影響這台平板電腦的所有使用者。"</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"允許使用數據漫遊服務時,您可能需要支付龐大的漫遊費用!\n\n這項設定會影響這支手機的所有使用者。"</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"允許漫遊服務?"</string>
@@ -427,8 +427,8 @@
<string name="unlock_setup_wizard_fingerprint_details" msgid="7893457665921363009">"設定螢幕鎖定之後,您還可以前往 [設定] > [安全性] 設定指紋。"</string>
<string name="unlock_disable_lock_title" msgid="1427036227416979120">"關閉螢幕鎖定"</string>
<string name="unlock_disable_frp_warning_title" msgid="264008934468492550">"要移除裝置保護措施嗎?"</string>
- <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"如果移除您的解鎖圖形,裝置保護功能將無法運作。"</string>
- <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8212242533942400457">"如果移除您的解鎖圖形,裝置保護功能將無法運作。<xliff:g id="EMPTY_LINE">
+ <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"如果移除您的解鎖圖案,裝置保護功能將無法運作。"</string>
+ <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8212242533942400457">"如果移除您的解鎖圖案,裝置保護功能將無法運作。<xliff:g id="EMPTY_LINE">
</xliff:g>您儲存的指紋會一併從這部裝置中移除,因此您將無法使用指紋解鎖手機、授權購物交易或登入應用程式。"</string>
<string name="unlock_disable_frp_warning_content_pin" msgid="586996206210265131">"如果移除您的 PIN 碼,裝置保護功能將無法運作。"</string>
@@ -444,7 +444,7 @@
</xliff:g>您儲存的指紋會一併從這部裝置中移除,因此您將無法使用指紋解鎖手機、授權購物交易或登入應用程式。"</string>
<string name="unlock_disable_frp_warning_ok" msgid="7075138677177748705">"是,移除裝置保護措施"</string>
- <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"變更解鎖圖形"</string>
+ <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"變更解鎖圖案"</string>
<string name="unlock_change_lock_pin_title" msgid="806629901095938484">"變更解鎖 PIN"</string>
<string name="unlock_change_lock_password_title" msgid="5606298470358768865">"變更解鎖密碼"</string>
<string name="lockpassword_password_too_short" msgid="7328975683669256660">"密碼必須有至少 %d 個字元"</string>
@@ -1239,36 +1239,36 @@
<string name="lockpassword_password_set_toast" msgid="4875050283108629383">"已設定密碼"</string>
<string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"已設定 PIN"</string>
<string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"已設定圖形"</string>
- <string name="lockpassword_confirm_your_pattern_generic" msgid="7050256155547273836">"請畫出您的裝置解鎖圖形以繼續作業。"</string>
+ <string name="lockpassword_confirm_your_pattern_generic" msgid="7050256155547273836">"請畫出您的裝置解鎖圖案以繼續作業。"</string>
<string name="lockpassword_confirm_your_pin_generic" msgid="1072670959803859869">"請輸入您的裝置 PIN 以繼續作業。"</string>
<string name="lockpassword_confirm_your_password_generic" msgid="1022239625083264596">"請輸入您的裝置密碼以繼續作業。"</string>
<string name="lockpassword_invalid_pin" msgid="15588049067548470">"PIN 碼錯誤"</string>
<string name="lockpassword_invalid_password" msgid="4038507398784975200">"密碼錯誤"</string>
<string name="lockpattern_need_to_unlock_wrong" msgid="1745247595356012176">"圖形錯誤"</string>
<string name="lock_settings_title" msgid="4213839087748988686">"裝置安全性"</string>
- <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"變更解鎖圖形"</string>
+ <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"變更解鎖圖案"</string>
<string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"變更解鎖 PIN"</string>
- <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"畫出解鎖圖形"</string>
+ <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"畫出解鎖圖案"</string>
<string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"請按 [Menu] 以取得說明。"</string>
<string name="lockpattern_recording_inprogress" msgid="6667844062721656773">"完成時請移開手指"</string>
- <string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"圖形至少需連接 <xliff:g id="NUMBER">%d</xliff:g> 點,請再試一次。"</string>
+ <string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"圖案至少需連接 <xliff:g id="NUMBER">%d</xliff:g> 點,請再試一次。"</string>
<string name="lockpattern_pattern_entered_header" msgid="4316818983675591604">"圖形已記錄"</string>
<string name="lockpattern_need_to_confirm" msgid="8054853451639221265">"請再次畫出圖形,以確認圖形無誤"</string>
- <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"您的新解鎖圖形"</string>
+ <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"您的新解鎖圖案"</string>
<string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"確認"</string>
<string name="lockpattern_restart_button_text" msgid="3337574403350953926">"重畫"</string>
<string name="lockpattern_retry_button_text" msgid="3480423193273588166">"清除"</string>
<string name="lockpattern_continue_button_text" msgid="4723771754714471410">"繼續"</string>
- <string name="lockpattern_settings_title" msgid="3207750489460466680">"解鎖圖形"</string>
- <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"需要解鎖圖形"</string>
- <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"必須畫出解鎖圖形以解鎖螢幕"</string>
- <string name="lockpattern_settings_enable_visible_pattern_title" msgid="2615606088906120711">"顯示解鎖圖形"</string>
+ <string name="lockpattern_settings_title" msgid="3207750489460466680">"解鎖圖案"</string>
+ <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"需要解鎖圖案"</string>
+ <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"必須畫出解鎖圖案以解鎖螢幕"</string>
+ <string name="lockpattern_settings_enable_visible_pattern_title" msgid="2615606088906120711">"顯示解鎖圖案"</string>
<string name="lockpattern_settings_enable_tactile_feedback_title" msgid="8898518337442601027">"觸控時震動"</string>
<string name="lockpattern_settings_enable_power_button_instantly_locks" msgid="5735444062633666327">"按下電源按鈕立即鎖定"</string>
<string name="lockpattern_settings_power_button_instantly_locks_summary" msgid="8196258755143711694">"由「<xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g>」維持解鎖狀態時除外"</string>
- <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"設定解鎖圖形"</string>
- <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"變更解鎖圖形"</string>
- <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"如何畫出解鎖圖形"</string>
+ <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"設定解鎖圖案"</string>
+ <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"變更解鎖圖案"</string>
+ <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"如何畫出解鎖圖案"</string>
<string name="lockpattern_too_many_failed_confirmation_attempts" msgid="6909161623701848863">"錯誤次數過多,請於 <xliff:g id="NUMBER">%d</xliff:g> 秒後再試。"</string>
<string name="activity_not_found" msgid="5551664692991605325">"您未在手機上安裝應用程式。"</string>
<string name="lock_settings_profile_title" msgid="7819021341281339182">"Work 設定檔"</string>
@@ -1624,7 +1624,7 @@
<string name="touch_filtered_warning" msgid="8644034725268915030">"權限要求遭到其他應用程式畫面遮掩,因此「設定」無法驗證您的回應。"</string>
<string name="enable_service_encryption_warning" msgid="3064686622453974606">"如果您開啟 <xliff:g id="SERVICE">%1$s</xliff:g>,您的裝置將無法使用螢幕鎖定加強資料加密。"</string>
<string name="secure_lock_encryption_warning" msgid="460911459695077779">"您已開啟協助工具服務,因此您的裝置無法使用螢幕鎖定加強資料加密。"</string>
- <string name="enable_service_pattern_reason" msgid="777577618063306751">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密,因此您必須畫出解鎖圖形。"</string>
+ <string name="enable_service_pattern_reason" msgid="777577618063306751">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密,因此您必須畫出解鎖圖案。"</string>
<string name="enable_service_pin_reason" msgid="7882035264853248228">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密,因此您必須輸入 PIN。"</string>
<string name="enable_service_password_reason" msgid="1224075277603097951">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密,因此您必須輸入密碼。"</string>
<string name="capability_title_receiveAccessibilityEvents" msgid="1869032063969970755">"記錄您的操作行為"</string>
@@ -1941,6 +1941,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"目前同步處理發生問題。稍後會回復正常。"</string>
<string name="add_account_label" msgid="7811707265834013767">"新增帳戶"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"尚未提供工作設定檔"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"移除工作設定檔"</string>
<string name="background_data" msgid="5779592891375473817">"背景資料"</string>
<string name="background_data_summary" msgid="8328521479872763452">"應用程式隨時可以同步處理、傳送和接收資料"</string>
@@ -1982,7 +1986,7 @@
<string name="status_wimax_mac_address" msgid="8390791848661413416">"4G MAC 位址"</string>
<string name="enter_password" msgid="8035706727471334122">"如要啟動 Android,請輸入您的密碼"</string>
<string name="enter_pin" msgid="5305333588093263790">"如要啟動 Android,請輸入您的 PIN"</string>
- <string name="enter_pattern" msgid="4187435713036808566">"如要啟動 Android,請畫出解鎖圖形"</string>
+ <string name="enter_pattern" msgid="4187435713036808566">"如要啟動 Android,請畫出解鎖圖案"</string>
<string name="cryptkeeper_wrong_pattern" msgid="8423835922362956999">"圖形錯誤"</string>
<string name="cryptkeeper_wrong_password" msgid="5200857195368904047">"密碼錯誤"</string>
<string name="cryptkeeper_wrong_pin" msgid="755720788765259382">"PIN 碼錯誤"</string>
@@ -2529,7 +2533,7 @@
<string name="switch_off_text" msgid="1139356348100829659">"關閉"</string>
<string name="screen_pinning_title" msgid="2292573232264116542">"螢幕固定"</string>
<string name="screen_pinning_description" msgid="1137904524037468263">"開啟這項設定時,您可以使用螢幕固定功能讓目前的畫面保持顯示狀態,直到取消固定為止。\n\n如何使用螢幕固定功能:\n\n1. 確認螢幕固定功能已開啟。\n\n2. 開啟您要固定的畫面。\n\n3. 輕觸總覽按鈕。\n\n4. 向上滑動並輕觸圖釘圖示。"</string>
- <string name="screen_pinning_unlock_pattern" msgid="8282268570060313339">"取消固定時必須畫出解鎖圖形"</string>
+ <string name="screen_pinning_unlock_pattern" msgid="8282268570060313339">"取消固定時必須畫出解鎖圖案"</string>
<string name="screen_pinning_unlock_pin" msgid="8757588350454795286">"取消固定時必須輸入 PIN"</string>
<string name="screen_pinning_unlock_password" msgid="2514079566873826434">"取消固定時必須輸入密碼"</string>
<string name="screen_pinning_unlock_none" msgid="3814188275713871856">"取消固定時鎖定裝置"</string>
@@ -2545,22 +2549,22 @@
<string name="encryption_interstitial_header" msgid="468015813904595613">"安全啟動"</string>
<string name="encryption_continue_button" msgid="1121880322636992402">"繼續"</string>
<string name="encryption_interstitial_message_pin" msgid="7164072567822375682">"如果要進一步保護裝置,您可以將裝置設為需要輸入 PIN 才能啟動,等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來,即使裝置遺失或遭竊,其中的資料仍安全無虞。"</string>
- <string name="encryption_interstitial_message_pattern" msgid="6747091924626566031">"如果要進一步保護裝置,您可以將裝置設為需要畫出解鎖圖形才能啟動,等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來,即使裝置遺失或遭竊,其中的資料仍安全無虞。"</string>
+ <string name="encryption_interstitial_message_pattern" msgid="6747091924626566031">"如果要進一步保護裝置,您可以將裝置設為需要畫出解鎖圖案才能啟動,等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來,即使裝置遺失或遭竊,其中的資料仍安全無虞。"</string>
<string name="encryption_interstitial_message_password" msgid="3462225324186045679">"如果要進一步保護裝置,您可以將裝置設為需要輸入密碼才能啟動,等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來,即使裝置遺失或遭竊,其中的資料仍安全無虞。"</string>
<string name="encryption_interstitial_message_pin_for_fingerprint" msgid="3775537118799831558">"除了啟用裝置的指紋解鎖功能,您還可以設定裝置在啟動前要求使用者輸入 PIN 碼,為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來,萬一裝置遺失或遭竊,裝置上的資料仍會受到保護。"</string>
- <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="1105290967535237237">"除了啟用裝置的指紋解鎖功能,您還可以設定裝置在啟動前要求使用者輸入解鎖圖形,為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來,萬一裝置遺失或遭竊,裝置上的資料仍會受到保護。"</string>
+ <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="1105290967535237237">"除了啟用裝置的指紋解鎖功能,您還可以設定裝置在啟動前要求使用者輸入解鎖圖案,為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來,萬一裝置遺失或遭竊,裝置上的資料仍會受到保護。"</string>
<string name="encryption_interstitial_message_password_for_fingerprint" msgid="3512482682507378424">"除了啟用裝置的指紋解鎖功能,您還可以設定裝置在啟動前要求使用者輸入密碼,為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來,萬一裝置遺失或遭竊,裝置上的資料仍會受到保護。"</string>
<string name="encrypt_require_pin" msgid="2063945047845243752">"需要輸入 PIN 才能啟動裝置"</string>
- <string name="encrypt_require_pattern" msgid="6898479411004015810">"需要畫出解鎖圖形才能啟動裝置"</string>
+ <string name="encrypt_require_pattern" msgid="6898479411004015810">"需要畫出解鎖圖案才能啟動裝置"</string>
<string name="encrypt_require_password" msgid="8770628366276570518">"需要輸入密碼才能啟動裝置"</string>
<string name="encrypt_dont_require_pin" msgid="1082444817726247368">"不用了,謝謝"</string>
<string name="encrypt_dont_require_pattern" msgid="6668299362640433843">"不用了,謝謝"</string>
<string name="encrypt_dont_require_password" msgid="2580403214917009046">"不用了,謝謝"</string>
<string name="encrypt_talkback_dialog_require_pin" msgid="8299960550048989807">"需要輸入 PIN?"</string>
- <string name="encrypt_talkback_dialog_require_pattern" msgid="1499790256154146639">"需要畫出解鎖圖形?"</string>
+ <string name="encrypt_talkback_dialog_require_pattern" msgid="1499790256154146639">"需要畫出解鎖圖案?"</string>
<string name="encrypt_talkback_dialog_require_password" msgid="8841994614218049215">"需要輸入密碼?"</string>
<string name="encrypt_talkback_dialog_message_pin" msgid="7582096542997635316">"輸入您的 PIN 啟動裝置後,您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
- <string name="encrypt_talkback_dialog_message_pattern" msgid="2020083142199612743">"畫出解鎖圖形啟動裝置後,您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
+ <string name="encrypt_talkback_dialog_message_pattern" msgid="2020083142199612743">"畫出解鎖圖案啟動裝置後,您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
<string name="encrypt_talkback_dialog_message_password" msgid="4155875981789127796">"輸入您的密碼啟動裝置後,您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
<string name="imei_information_title" msgid="8499085421609752290">"IMEI 資訊"</string>
<string name="imei_information_summary" msgid="2074095606556565233">"IMEI 相關資訊"</string>
@@ -2758,8 +2762,7 @@
<string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"不必將螢幕解鎖就能快速開啟相機"</string>
<string name="screen_zoom_title" msgid="6332123593919641665">"畫面縮放"</string>
<string name="screen_zoom_keywords" msgid="9176477565403352552">"顯示密度, 畫面縮放, 縮放, 縮放比例"</string>
- <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
- <skip />
+ <string name="screen_zoom_summary" msgid="2022973627105802010">"縮小或放大畫面上的所有項目。如果變更這項設定,主畫面上的部分應用程式位置可能會有變動。"</string>
<string name="screen_zoom_preview_title" msgid="4680671508172336572">"預覽"</string>
<string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"縮小"</string>
<string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"放大"</string>
@@ -2803,8 +2806,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"您必須連上 Wi-Fi 才能使用網際網路"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"背景資料功能已關閉"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"您必須連上 Wi-Fi 才能使用背景資料功能。如果無法連上 Wi-Fi,部分應用程式或服務可能會受到影響。"</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"建議 (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"移除"</string>
<string name="color_temperature" msgid="2501579996151717270">"顯示器色溫"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"啟用冷色溫"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index aee5ed4..540fe83 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -264,7 +264,8 @@
<string name="roaming_disable" msgid="1295279574370898378">"Xhuma kumasevisi edatha lapho uzulazula"</string>
<string name="roaming_reenable_message" msgid="9141007271031717369">"Ulahlekelwe uxhumano lwedatha ngoba ushiye inethiwekhi yakho yasekhaya inokuzulazula kwedatha kuvaliwe."</string>
<string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Yivule"</string>
- <string name="roaming_warning" msgid="7625933694709170887">"Uma uvumela ukuhamba kwedatha, ungathola amashaji yokuthola amancane!"</string>
+ <!-- no translation found for roaming_warning (4275443317524544705) -->
+ <skip />
<string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Uma uvumela ukuzulazula kwedatha, ungahle ufake ebucayini amashaji okuzula amancane!\n\nLesi silungiselelwa sithinta bonke abasebenzisi kule thebulethi."</string>
<string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Uma uvumela ukuzulazula kwedatha, ungahle ufake ebucayini amashaji okuzula amancane!\n\nLesi silungiselelwa sithinta bonke abasebenzisi kule foni."</string>
<string name="roaming_reenable_title" msgid="6068100976707316772">"Vumela ukuhamba kwedatha?"</string>
@@ -1943,6 +1944,10 @@
<string name="sync_is_failing" msgid="1591561768344128377">"Ukuvumelanisa okwamanje kubhekene nenkinga. Izobuya maduze."</string>
<string name="add_account_label" msgid="7811707265834013767">"Yengeza i-akhawunti"</string>
<string name="managed_profile_not_available_label" msgid="852263300911325904">"Iphrofayela yomsebenzi ayitholakali okwamanje"</string>
+ <!-- no translation found for work_mode_label (5794470908668593961) -->
+ <skip />
+ <!-- no translation found for work_mode_summary (1620246003886940776) -->
+ <skip />
<string name="remove_managed_profile_label" msgid="3856519337797285325">"Susa iphrofayela yomsebenzi"</string>
<string name="background_data" msgid="5779592891375473817">"Idatha yasemuva"</string>
<string name="background_data_summary" msgid="8328521479872763452">"Izinhlelo zokusebenza zingavumelanisa, zithumele, futhi zithole imininingo nganoma isiphi isikhathi"</string>
@@ -2804,8 +2809,55 @@
<string name="condition_cellular_summary" msgid="1818046558419658463">"I-inthanethi itholakala kuphela nge-Wi-Fi"</string>
<string name="condition_bg_data_title" msgid="1422001615923482010">"Idatha yangemuva ivaliwe"</string>
<string name="condition_bg_data_summary" msgid="656957852895282228">"Idatha yangemuva itholakala kuphela nge-Wi-Fi. Lokhu kungathinta ezinye izinhlelo zokusebenza noma amasevisi uma i-Wi-Fi ingatholakali."</string>
+ <!-- no translation found for condition_work_title (7293722361184366648) -->
+ <skip />
+ <!-- no translation found for condition_work_summary (7543202177571590378) -->
+ <skip />
<string name="suggestions_title" msgid="8758376306825920705">"Iziphakamiso (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
<string name="suggestion_remove" msgid="904627293892092439">"Susa"</string>
<string name="color_temperature" msgid="2501579996151717270">"Bonisa ithempelesha yombala"</string>
<string name="color_temperature_desc" msgid="3603319696846982249">"Nika amandla ithempelesha elipholile"</string>
+ <!-- no translation found for usage (2977875522080448986) -->
+ <skip />
+ <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+ <skip />
+ <!-- no translation found for wifi_data_usage (686754111095324306) -->
+ <skip />
+ <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+ <skip />
+ <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+ <!-- no translation found for ethernet (6600095783781389720) -->
+ <skip />
+ <!-- no translation found for cell_data_template (3308709914705592281) -->
+ <skip />
+ <!-- no translation found for wifi_data_template (501654649753761778) -->
+ <skip />
+ <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+ <skip />
+ <!-- no translation found for cell_warning_only (763147658209027140) -->
+ <skip />
+ <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+ <skip />
+ <!-- no translation found for billing_cycle (5169909190811133499) -->
+ <skip />
+ <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+ <skip />
+ <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+ <skip />
+ <!-- no translation found for network_restrictions (8234695294536675380) -->
+ <skip />
+ <!-- no translation found for operator_warning (7206980278353372811) -->
+ <skip />
+ <!-- no translation found for data_used_template (3245919669966296505) -->
+ <skip />
+ <!-- no translation found for data_warning (209133958008062117) -->
+ <skip />
+ <!-- no translation found for set_data_limit (2901526323210516923) -->
+ <skip />
+ <!-- no translation found for data_limit (1885406964934590552) -->
+ <skip />
+ <!-- no translation found for data_usage_template (392191945602400904) -->
+ <skip />
+ <!-- no translation found for configure (1029654422228677273) -->
+ <skip />
</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 1279a07..8625ed7 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -95,12 +95,13 @@
<color name="memory_critical">#ffff5621</color>
<color name="memory_avg_use">#ff384248</color>
- <color name="memory_max_use">#ff009587</color>
- <color name="memory_remaining">#ffced7db</color>
<color name="zen_rule_name_warning">@color/system_warning_color</color>
<!-- Accent color that matches the settings launcher icon -->
<color name="icon_accent">#ffabffec</color>
+ <color name="summary_default_start">#ff009587</color>
+ <color name="summary_default_end">#ffced7db</color>
+
</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index f96662c..3f25fc6 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -35,4 +35,7 @@
<!-- Carrier_enabled editable -->
<bool name="config_allow_edit_carrier_enabled" translatable="false">false</bool>
+ <!-- When true enable color temperature setting. -->
+ <bool name="config_enableColorTemperature">false</bool>
+
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6e28a69..7a5d768 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -513,8 +513,27 @@
<string name="next_label">Next</string>
<!-- LocalePicker -->
- <!-- Title for the locale picker activity -->
- <string name="language_picker_title">Language</string>
+
+ <!-- Title for the language selection screen [CHAR LIMIT=25] -->
+ <string name="pref_title_lang_selection">Language preference</string>
+
+ <!-- Menu item in the locale menu. Will remove the selected locales. [CHAR LIMIT=30] -->
+ <string name="locale_remove_menu">Remove</string>
+
+ <!-- "Button" that opens a language picker. The selected language gets added to the language list. [CHAR LIMIT=30] -->
+ <string name="add_a_language">Add a language</string>
+
+ <!-- The title of the confirmation dialog shown when the user selected several languages and tries to remove them [CHAR LIMIT=60] -->
+ <string name="dlg_remove_locales_title">Remove from your language preference?</string>
+ <!-- TODO: come up with a good string -->
+ <!-- The text of the confirmation dialog shown when the user selected several languages and tries to remove them [CHAR LIMIT=NONE] -->
+ <string name="dlg_remove_locales_message" translatable="false">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla egestas porta aliquet. Ut laoreet orci tellus, id cursus enim volutpat in.</string>
+
+ <!-- The title of the error dialog shown when the user selected all the languages and tries to remove them [CHAR LIMIT=60] -->
+ <string name="dlg_remove_locales_error_title">Language removal error</string>
+ <!-- The text of the error dialog shown when the user selected all the languages and tries to remove them [CHAR LIMIT=NONE] -->
+ <string name="dlg_remove_locales_error_message">Can’t remove all the languages, you should leave at least one.</string>
+
<!-- The title of the dialog to pick an activity. This is shown when there are multiple activities that can do a particular action. For example, suppose you click on the "Share" menu item in the Browser. Since you can share the webpage URL via many communication methods, this dialog would come up with choices like "Email", "IM", etc. This is a generic message, and the previous example is a single possible scenario (so please don't assume it's for the browser or anything :) ). -->
<string name="activity_picker_label">Choose activity</string>
@@ -586,7 +605,7 @@
<!-- mobile network settings screen, button on dialog box that appears when you are roaming and clear the "Data roaming" check box -->
<string name="roaming_turn_it_on_button">Turn it on</string>
<!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box -->
- <string name="roaming_warning">When you allow data roaming, you may incur significant roaming charges!</string>
+ <string name="roaming_warning">You may incur significant charges.</string>
<!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box. This is for multiuser tablets [CHAR LIMIT=none] -->
<string name="roaming_warning_multiuser" product="tablet">When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet.</string>
<!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box. This is for multiuser phones [CHAR LIMIT=none] -->
@@ -4621,6 +4640,10 @@
<string name="add_account_label">Add account</string>
<!-- Label for the state of the work profile [CHAR LIMIT=80] -->
<string name="managed_profile_not_available_label">Work profile isn\u2019t available yet</string>
+ <!-- Account Settings. The preference title for enabling work mode -->
+ <string name="work_mode_label">Work mode</string>
+ <!-- Account Settings. The preference summary for enabling work mode -->
+ <string name="work_mode_summary">Allow work profile to function, including apps, background sync, and related features</string>
<!-- Button label to remove the work profile [CHAR LIMIT=35] -->
<string name="remove_managed_profile_label">Remove work profile</string>
<!-- Data synchronization settings screen, title of setting that controls whether background data should be used [CHAR LIMIT=30] -->
@@ -5620,6 +5643,9 @@
<!-- Sound: Title for the option defining the default notification ringtone. [CHAR LIMIT=30] -->
<string name="notification_ringtone_title">Default notification ringtone</string>
+ <!-- Sound: Title for the option defining the default alarm ringtone. [CHAR LIMIT=30] -->
+ <string name="alarm_ringtone_title">Default alarm ringtone</string>
+
<!-- Sound: Title for the option managing whether or not to vibrate when ringing. [CHAR LIMIT=30] -->
<string name="vibrate_when_ringing_title">Also vibrate for calls</string>
@@ -6798,6 +6824,12 @@
<!-- Summary of condition that background data is off [CHAR LIMIT=NONE] -->
<string name="condition_bg_data_summary">Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available.</string>
+ <!-- Title of condition that work mode is off [CHAR LIMIT=30] -->
+ <string name="condition_work_title">Work profile is off</string>
+
+ <!-- Summary of condition that work mode is off [CHAR LIMIT=NONE] -->
+ <string name="condition_work_summary">Apps, background sync, and other features related to your work profile are turned off.</string>
+
<!-- Title for the suggestions section on the dashboard [CHAR LIMIT=30] -->
<string name="suggestions_title">Suggestions (<xliff:g name="count" example="3">%1$d</xliff:g>)</string>
@@ -6809,4 +6841,75 @@
<!-- Description of the setting to change the display's color temperature -->
<string name="color_temperature_desc">Enable cool temperature</string>
+
+ <!-- Label for category for data usage [CHAR LIMIT=30] -->
+ <string name="usage">Usage</string>
+
+ <!-- Label for cellular data usage in data usage screen [CHAR LIMIT=60] -->
+ <string name="cellular_data_usage">Cellular data usage</string>
+
+ <!-- Label for wifi data usage in data usage screen [CHAR LIMIT=60] -->
+ <string name="wifi_data_usage">Wi-Fi data usage</string>
+
+ <!-- Label for ethernet data usage in data usage screen [CHAR LIMIT=60] -->
+ <string name="ethernet_data_usage">Ethernet data usage</string>
+
+ <!-- Label for section about wifi in data usage screen [CHAR LIMIT=60] -->
+ <string name="wifi">Wi-Fi</string>
+
+ <!-- Label for section about ethernet in data usage screen [CHAR LIMIT=60] -->
+ <string name="ethernet">Ethernet</string>
+
+ <!-- Format string for amount of cellular data used [CHAR LIMIT=30] -->
+ <string name="cell_data_template"><xliff:g name="units" example="GB">%1$s</xliff:g> cellular data</string>
+
+ <!-- Format string for amount of wifi data used [CHAR LIMIT=30] -->
+ <string name="wifi_data_template"><xliff:g name="units" example="GB">%1$s</xliff:g> Wi-Fi data</string>
+
+ <!-- Format string for amount of ethernet data used [CHAR LIMIT=30] -->
+ <string name="ethernet_data_template"><xliff:g name="units" example="GB">%1$s</xliff:g> ethernet data</string>
+
+ <!-- Format for a summary describing the amount of data before the user is warned [CHAR LIMIT=NONE] -->
+ <string name="cell_warning_only"><xliff:g name="amount" example="1 GB">%1$s</xliff:g> Data warning</string>
+
+ <!-- Format for a summary describing the amount of data before the user is warned or limited [CHAR LIMIT=NONE] -->
+ <string name="cell_warning_and_limit"><xliff:g name="amount" example="1 GB">%1$s</xliff:g> Data warning / <xliff:g name="amount" example="2 GB">%2$s</xliff:g> Data limit</string>
+
+ <!-- Title of button and screen for billing cycle preferences [CHAR LIMIT=30 -->
+ <string name="billing_cycle">Billing cycle</string>
+
+ <!-- Summary describing when the billing cycle for their phone carrier starts [CHAR LIMIT=NONE] -->
+ <string name="billing_cycle_summary">Monthly cycle starts on the <xliff:g name="day" example="1st">%1$s</xliff:g> of every month</string>
+
+ <!-- Summary describing when the billing cycle for their phone carrier starts [CHAR LIMIT=NONE] -->
+ <string name="billing_cycle_fragment_summary">Monthly starting <xliff:g name="day_of_month" example="1st">%1$s</xliff:g></string>
+
+ <!-- Title of button and screen for which wifi networks have data restrictions [CHAR LIMIT=30 -->
+ <string name="network_restrictions">Network restrictions</string>
+
+ <!-- A summary shown on data usage screens to indicate inaccuracy of data tracking [CHAR LIMIT=NONE] -->
+ <string name="operator_warning">Operator data accounting may differ from your device.</string>
+
+ <!-- Format string describing how much data has been used [CHAR LIMIT=20] -->
+ <string name="data_used_template"><xliff:g name="amount" example="1 GB">%1$s</xliff:g> used</string>
+
+ <!-- Label for button to set the amount of data before user is warned about usage [CHAR LIMIT=30] -->
+ <string name="data_warning">Data warning</string>
+
+ <!-- Label for switch about whether to limit how much data can be used [CHAR LIMIT=30] -->
+ <string name="set_data_limit">Set data limit</string>
+
+ <!-- Label for button to set the amount of data before user is limited [CHAR LIMIT=30] -->
+ <string name="data_limit">Data limit</string>
+
+ <!-- Summary about how much data has been used in a date range [CHAR LIMIT=NONE] -->
+ <string name="data_usage_template"><xliff:g name="amount" example="200 MB">%1$s</xliff:g> used between <xliff:g name="date_range" example="Jan 1 -- Feb 2">%2$s</xliff:g></string>
+
+ <!-- Accessibility label for button that leads to screen with more configuration options [CHAR LIMIT=NONE] -->
+ <string name="configure">Configure</string>
+
+ <!-- TODO: Actually figure out what to do with the extra apps, and update
+ the code to do that -->
+ <string name="data_usage_other_apps" translatable="false">Other apps included in usage</string>
+
</resources>
diff --git a/res/xml/app_data_usage.xml b/res/xml/app_data_usage.xml
new file mode 100644
index 0000000..b082b56
--- /dev/null
+++ b/res/xml/app_data_usage.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ android:title="@string/data_usage_summary_title">
+
+ <com.android.settings.applications.SpacePreference
+ android:layout_height="8dp" />
+
+ <Preference
+ android:key="total_usage"
+ android:title="@string/total_size_label"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <Preference
+ android:key="foreground_usage"
+ android:title="@string/data_usage_label_foreground"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <Preference
+ android:key="background_usage"
+ android:title="@string/data_usage_label_background"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <com.android.settings.applications.SpacePreference
+ android:layout_height="8dp" />
+
+ <Preference
+ android:key="app_settings"
+ android:title="@string/data_usage_app_settings" />
+
+ <SwitchPreference
+ android:key="restrict_background"
+ android:title="@string/data_usage_app_restrict_background"
+ android:summary="@string/data_usage_app_restrict_background_summary" />
+
+ <PreferenceCategory
+ android:key="app_list"
+ android:title="@string/data_usage_other_apps" />
+
+</PreferenceScreen>
diff --git a/res/xml/app_memory_settings.xml b/res/xml/app_memory_settings.xml
index 03ce0ff..56d1824 100644
--- a/res/xml/app_memory_settings.xml
+++ b/res/xml/app_memory_settings.xml
@@ -18,11 +18,15 @@
android:title="@string/memory_usage">
<PreferenceCategory
- android:title="@string/average_memory_use" />
+ android:title="@string/average_memory_use"
+ android:layout="@layout/preference_category_short" />
- <com.android.settings.applications.LayoutPreference
+ <com.android.settings.SummaryPreference
android:key="status_header"
- android:layout="@layout/proc_stats_ui" />
+ android:selectable="false" />
+
+ <com.android.settings.applications.SpacePreference
+ android:layout_height="5dp" />
<Preference
android:key="frequency"
diff --git a/res/xml/billing_cycle.xml b/res/xml/billing_cycle.xml
new file mode 100644
index 0000000..9beebce
--- /dev/null
+++ b/res/xml/billing_cycle.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ android:title="@string/data_usage_summary_title">
+
+ <Preference
+ android:key="billing_cycle"
+ android:title="@string/billing_cycle" />
+
+ <Preference
+ android:key="data_warning"
+ android:title="@string/data_warning" />
+
+ <SwitchPreference
+ android:key="set_data_limit"
+ android:title="@string/set_data_limit" />
+
+ <Preference
+ android:key="data_limit"
+ android:title="@string/data_limit" />
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage.xml b/res/xml/data_usage.xml
new file mode 100644
index 0000000..378496e
--- /dev/null
+++ b/res/xml/data_usage.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ android:title="@string/data_usage_summary_title">
+
+ <PreferenceCategory
+ android:title="@string/usage"
+ android:layout="@layout/preference_category_short">
+
+ <com.android.settings.SummaryPreference
+ android:key="status_header"
+ android:selectable="false" />
+
+ <Preference
+ android:key="limit_summary"
+ android:selectable="false" />
+
+ <com.android.settings.datausage.RestrictBackgroundDataPreference
+ android:key="restrict_background"
+ android:title="@string/data_usage_menu_restrict_background" />
+
+ </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_cellular.xml b/res/xml/data_usage_cellular.xml
new file mode 100644
index 0000000..8bfd37d
--- /dev/null
+++ b/res/xml/data_usage_cellular.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <com.android.settings.datausage.TemplatePreferenceCategory
+ android:key="mobile_category"
+ android:title="@string/data_usage_tab_mobile">
+
+ <com.android.settings.datausage.CellDataPreference
+ android:key="data_usage_enable"
+ android:title="@string/data_usage_enable_mobile" />
+
+ <com.android.settings.datausage.DataUsagePreference
+ android:key="cellular_data_usage"
+ android:title="@string/cellular_data_usage" />
+
+ <com.android.settings.datausage.BillingCyclePreference
+ android:key="billing_preference"
+ android:title="@string/billing_cycle" />
+
+ </com.android.settings.datausage.TemplatePreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_ethernet.xml b/res/xml/data_usage_ethernet.xml
new file mode 100644
index 0000000..508b365
--- /dev/null
+++ b/res/xml/data_usage_ethernet.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <com.android.settings.datausage.TemplatePreferenceCategory
+ android:key="ethernet_category"
+ android:title="@string/ethernet">
+
+ <com.android.settings.datausage.DataUsagePreference
+ android:key="ethernet_data_usage"
+ android:title="@string/ethernet_data_usage" />
+
+ </com.android.settings.datausage.TemplatePreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_list.xml b/res/xml/data_usage_list.xml
new file mode 100644
index 0000000..725105a
--- /dev/null
+++ b/res/xml/data_usage_list.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ android:title="@string/data_usage_summary_title">
+
+ <PreferenceCategory
+ android:key="usage_amount"
+ android:layout="@layout/preference_category_short">
+
+ <com.android.settings.datausage.ChartDataUsagePreference
+ android:key="chart_data" />
+
+ <Preference
+ android:summary="@string/operator_warning"
+ android:selectable="false" />
+
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:key="apps_group"
+ android:layout="@layout/preference_category_no_label" />
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_wifi.xml b/res/xml/data_usage_wifi.xml
new file mode 100644
index 0000000..62ff17f
--- /dev/null
+++ b/res/xml/data_usage_wifi.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <com.android.settings.datausage.TemplatePreferenceCategory
+ android:key="wifi_category"
+ android:title="@string/wifi">
+
+ <com.android.settings.datausage.DataUsagePreference
+ android:key="wifi_data_usage"
+ android:title="@string/wifi_data_usage" />
+
+ <com.android.settings.datausage.NetworkRestrictionsPreference
+ android:key="network_restrictions"
+ android:title="@string/network_restrictions"
+ android:fragment="com.android.settings.datausage.DataUsageMeteredSettings" />
+
+ </com.android.settings.datausage.TemplatePreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/date_time_prefs.xml b/res/xml/date_time_prefs.xml
index d359d84..0aec43f 100644
--- a/res/xml/date_time_prefs.xml
+++ b/res/xml/date_time_prefs.xml
@@ -19,7 +19,7 @@
android:title="@string/date_and_time"
settings:keywords="@string/keywords_date_and_time">
- <SwitchPreference android:key="auto_time"
+ <com.android.settingslib.RestrictedSwitchPreference android:key="auto_time"
android:title="@string/date_time_auto"
android:summaryOn="@string/date_time_auto_summaryOn"
android:summaryOff="@string/date_time_auto_summaryOff"
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index ea4750e..6335c4e 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -86,6 +86,12 @@
android:dialogTitle="@string/select_webview_provider_dialog_title"
android:summary="%s" />
+ <SwitchPreference
+ android:key="color_temperature"
+ android:title="@string/color_temperature"
+ android:summary="@string/color_temperature_desc"
+ android:persistent="false" />
+
<PreferenceCategory android:key="debug_debugging_category"
android:title="@string/debug_debugging_category">
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index fa96a56..83a0985 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -4,9 +4,9 @@
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.
@@ -22,7 +22,7 @@
<PreferenceScreen
android:key="phone_language"
android:title="@string/phone_language"
- android:fragment="com.android.settings.LocalePicker"
+ android:fragment="com.android.settings.localepicker.LocaleListEditor"
/>
<!-- Spell checker preference title, summary and fragment will be set programmatically. -->
diff --git a/res/xml/privacy_settings.xml b/res/xml/privacy_settings.xml
index 470edc2..f67c837 100644
--- a/res/xml/privacy_settings.xml
+++ b/res/xml/privacy_settings.xml
@@ -47,7 +47,7 @@
android:selectable="false" />
<!-- Network reset -->
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:key="network_reset"
android:title="@string/reset_network_title"
settings:keywords="@string/keywords_network_reset"
diff --git a/res/xml/process_stats_summary.xml b/res/xml/process_stats_summary.xml
index d267272..f36fd11 100644
--- a/res/xml/process_stats_summary.xml
+++ b/res/xml/process_stats_summary.xml
@@ -18,13 +18,17 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/app_memory_use"
android:key="app_list">
- <PreferenceCategory
- android:title="@string/average_memory_use" />
- <com.android.settings.applications.LayoutPreference
+ <PreferenceCategory
+ android:title="@string/average_memory_use"
+ android:layout="@layout/preference_category_short" />
+
+ <com.android.settings.SummaryPreference
android:key="status_header"
- android:selectable="false"
- android:layout="@layout/proc_stats_ui" />
+ android:selectable="false" />
+
+ <com.android.settings.applications.SpacePreference
+ android:layout_height="5dp" />
<Preference
android:key="performance"
diff --git a/res/xml/security_settings_misc.xml b/res/xml/security_settings_misc.xml
index e0828e5..a437547 100644
--- a/res/xml/security_settings_misc.xml
+++ b/res/xml/security_settings_misc.xml
@@ -64,10 +64,8 @@
android:title="@string/credentials_title"
android:persistent="false">
- <Preference android:key="credential_storage_type"
+ <com.android.settingslib.RestrictedPreference android:key="credential_storage_type"
android:title="@string/credential_storage_type"
- android:enabled="false"
- android:shouldDisableView="false"
android:persistent="false" />
<Preference android:key="trusted_credentials"
@@ -82,7 +80,7 @@
android:persistent="false"
android:fragment="com.android.settings.UserCredentialsSettings"/>
- <Preference android:key="credentials_install"
+ <com.android.settingslib.RestrictedPreference android:key="credentials_install"
android:title="@string/credentials_install"
android:summary="@string/credentials_install_summary"
android:persistent="false">
@@ -91,9 +89,9 @@
android:targetPackage="com.android.certinstaller"
android:targetClass="com.android.certinstaller.CertInstallerMain"/>
- </Preference>
+ </com.android.settingslib.RestrictedPreference>
- <Preference android:key="credentials_reset"
+ <com.android.settingslib.RestrictedPreference android:key="credentials_reset"
android:title="@string/credentials_reset"
android:summary="@string/credentials_reset_summary"
android:persistent="false">
@@ -102,7 +100,7 @@
android:targetPackage="com.android.settings"
android:targetClass="com.android.settings.CredentialStorage"/>
- </Preference>
+ </com.android.settingslib.RestrictedPreference>
</PreferenceCategory>
diff --git a/res/xml/security_settings_picker.xml b/res/xml/security_settings_picker.xml
index e0c5185..3a45697 100644
--- a/res/xml/security_settings_picker.xml
+++ b/res/xml/security_settings_picker.xml
@@ -18,27 +18,27 @@
android:title="@string/lock_settings_picker_title"
android:key="lock_settings_picker">
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:key="unlock_set_off"
android:title="@string/unlock_set_unlock_off_title"
android:persistent="false"/>
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:key="unlock_set_none"
android:title="@string/unlock_set_unlock_none_title"
android:persistent="false"/>
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:key="unlock_set_pattern"
android:title="@string/unlock_set_unlock_pattern_title"
android:persistent="false"/>
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:key="unlock_set_pin"
android:title="@string/unlock_set_unlock_pin_title"
android:persistent="false"/>
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:key="unlock_set_password"
android:title="@string/unlock_set_unlock_password_title"
android:persistent="false"/>
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index 2cdebc4..2137490 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -59,7 +59,7 @@
android:summaryOff="@string/master_mono_off" />
<!-- Interruptions -->
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:key="zen_mode"
android:title="@string/zen_mode_settings_title"
settings:keywords="@string/keywords_sounds_and_notifications_interruptions"
@@ -81,14 +81,22 @@
android:persistent="false"
android:ringtoneType="notification" />
- <PreferenceScreen
+ <!-- Default alarm ringtone -->
+ <com.android.settings.DefaultRingtonePreference
+ android:key="alarm_ringtone"
+ android:title="@string/alarm_ringtone_title"
+ android:dialogTitle="@string/alarm_ringtone_title"
+ android:persistent="false"
+ android:ringtoneType="alarm" />
+
+ <com.android.settingslib.RestrictedPreference
android:key="cell_broadcast_settings"
android:title="@string/cell_broadcast_settings" >
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="com.android.cellbroadcastreceiver"
android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings" />
- </PreferenceScreen>
+ </com.android.settingslib.RestrictedPreference>
<!-- Other sounds -->
<Preference
diff --git a/res/xml/user_details_settings.xml b/res/xml/user_details_settings.xml
index 4353657..96c8ab9 100644
--- a/res/xml/user_details_settings.xml
+++ b/res/xml/user_details_settings.xml
@@ -21,7 +21,7 @@
android:key="enable_calling"
android:title="@string/user_enable_calling_sms"
android:persistent="false" />
- <Preference
+ <com.android.settingslib.RestrictedPreference
android:key="remove_user"
android:title="@string/user_remove_user" />
diff --git a/res/xml/user_settings.xml b/res/xml/user_settings.xml
index d7189de..4fefc10 100644
--- a/res/xml/user_settings.xml
+++ b/res/xml/user_settings.xml
@@ -31,7 +31,9 @@
<PreferenceCategory
android:key="lock_screen_settings"
android:title="@string/user_lockscreen_settings">
- <SwitchPreference android:key="add_users_when_locked" android:title="@string/user_add_on_lockscreen_menu"
- android:summary="@string/user_add_on_lockscreen_menu_summary" />
+ <com.android.settingslib.RestrictedSwitchPreference
+ android:key="add_users_when_locked"
+ android:title="@string/user_add_on_lockscreen_menu"
+ android:summary="@string/user_add_on_lockscreen_menu_summary" />
</PreferenceCategory>
</PreferenceScreen>
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index 2d25ed5..db7e18a 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -36,17 +36,17 @@
settings:keywords="@string/keywords_wifi_calling"
android:fragment="com.android.settings.WifiCallingSettings" />
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:fragment="com.android.settings.nfc.AndroidBeam"
android:key="android_beam_settings"
android:title="@string/android_beam_settings_title" />
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:fragment="com.android.settings.TetherSettings"
android:key="tether_settings"
android:title="@string/tether_settings_title_all" />
- <PreferenceScreen
+ <com.android.settingslib.RestrictedPreference
android:fragment="com.android.settings.vpn2.VpnSettings"
android:key="vpn_settings"
android:title="@string/vpn_settings_title" />
diff --git a/src/com/android/settings/AppHeader.java b/src/com/android/settings/AppHeader.java
index 257b2f0..36026bb 100644
--- a/src/com/android/settings/AppHeader.java
+++ b/src/com/android/settings/AppHeader.java
@@ -57,7 +57,7 @@
tintColorRes, bar);
}
- private static View setupHeaderView(final Activity activity, Drawable icon, CharSequence label,
+ public static View setupHeaderView(final Activity activity, Drawable icon, CharSequence label,
final String pkgName, final int uid, boolean includeAppInfo, int tintColorRes,
View bar) {
final ImageView appIcon = (ImageView) bar.findViewById(R.id.app_icon);
@@ -86,7 +86,7 @@
return bar;
}
- private static boolean includeAppInfo(final Fragment fragment) {
+ public static boolean includeAppInfo(final Fragment fragment) {
Bundle args = fragment.getArguments();
boolean showInfo = true;
if (args != null && args.getBoolean(EXTRA_HIDE_INFO_BUTTON, false)) {
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 3def151..c576897 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -45,6 +45,10 @@
import com.android.internal.logging.MetricsLogger;
import com.android.internal.widget.LockPatternUtils;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
public class ChooseLockGeneric extends SettingsActivity {
public static final String CONFIRM_CREDENTIALS = "confirm_credentials";
@@ -312,10 +316,12 @@
}
private String getKeyForCurrent() {
- if (mLockPatternUtils.isLockScreenDisabled(mUserId)) {
+ final int credentialOwner = UserManager.get(getContext())
+ .getCredentialOwnerProfile(mUserId);
+ if (mLockPatternUtils.isLockScreenDisabled(credentialOwner)) {
return KEY_UNLOCK_SET_OFF;
}
- switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(mUserId)) {
+ switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(credentialOwner)) {
case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
return KEY_UNLOCK_SET_PATTERN;
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
@@ -367,39 +373,60 @@
boolean hideDisabled) {
final PreferenceScreen entries = getPreferenceScreen();
+ int adminEnforcedQuality = mDPM.getPasswordQuality(null);
+ EnforcedAdmin enforcedAdmin = RestrictedLockUtils.checkIfPasswordQualityIsSet(
+ getActivity());
for (int i = entries.getPreferenceCount() - 1; i >= 0; --i) {
Preference pref = entries.getPreference(i);
- if (pref instanceof PreferenceScreen) {
+ if (pref instanceof RestrictedPreference) {
final String key = pref.getKey();
boolean enabled = true;
boolean visible = true;
+ boolean disabledByAdmin = false;
if (KEY_UNLOCK_SET_OFF.equals(key)) {
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
if (getResources().getBoolean(R.bool.config_hide_none_security_option)) {
enabled = false;
visible = false;
}
+ disabledByAdmin = adminEnforcedQuality
+ > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
} else if (KEY_UNLOCK_SET_NONE.equals(key)) {
if (mUserId != UserHandle.myUserId()) {
// Swipe doesn't make sense for profiles.
visible = false;
}
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
+ disabledByAdmin = adminEnforcedQuality
+ > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
} else if (KEY_UNLOCK_SET_PATTERN.equals(key)) {
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
+ disabledByAdmin = adminEnforcedQuality
+ > DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
} else if (KEY_UNLOCK_SET_PIN.equals(key)) {
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
+ disabledByAdmin = adminEnforcedQuality
+ > DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
} else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) {
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
+ disabledByAdmin = adminEnforcedQuality
+ > DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
}
if (hideDisabled) {
visible = enabled;
}
if (!visible) {
entries.removePreference(pref);
+ } else if (disabledByAdmin && enforcedAdmin != null) {
+ ((RestrictedPreference) pref).setDisabledByAdmin(enforcedAdmin);
} else if (!enabled) {
+ // we need to setDisabledByAdmin to null first to disable the padlock
+ // in case it was set earlier.
+ ((RestrictedPreference) pref).setDisabledByAdmin(null);
pref.setSummary(R.string.unlock_set_unlock_disabled_summary);
pref.setEnabled(false);
+ } else {
+ ((RestrictedPreference) pref).setDisabledByAdmin(null);
}
}
}
@@ -496,6 +523,7 @@
}
if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
+ mLockPatternUtils.setSeparateProfileChallengeEnabled(mUserId, true);
mChooseLockSettingsHelper.utils().clearLock(mUserId);
mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled, mUserId);
mLockPatternUtils.setSeparateProfileChallengeEnabled(mUserId, false);
diff --git a/src/com/android/settings/CredentialStorage.java b/src/com/android/settings/CredentialStorage.java
index 0924f99..9d001b4 100644
--- a/src/com/android/settings/CredentialStorage.java
+++ b/src/com/android/settings/CredentialStorage.java
@@ -48,7 +48,8 @@
import com.android.org.bouncycastle.asn1.ASN1InputStream;
import com.android.org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
-import org.apache.harmony.security.utils.AlgNameMapper;
+import sun.security.util.ObjectIdentifier;
+import sun.security.x509.AlgorithmId;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -217,8 +218,8 @@
try {
ASN1InputStream bIn = new ASN1InputStream(new ByteArrayInputStream(keyData));
PrivateKeyInfo pki = PrivateKeyInfo.getInstance(bIn.readObject());
- String algId = pki.getAlgorithmId().getAlgorithm().getId();
- String algName = AlgNameMapper.map2AlgName(algId);
+ String algOid = pki.getAlgorithmId().getAlgorithm().getId();
+ String algName = new AlgorithmId(new ObjectIdentifier(algOid)).getName();
return KeyChain.isBoundKeyAlgorithm(algName);
} catch (IOException e) {
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
deleted file mode 100644
index c9a2999..0000000
--- a/src/com/android/settings/DataUsageSummary.java
+++ /dev/null
@@ -1,2848 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.animation.LayoutTransition;
-import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.Fragment;
-import android.app.FragmentTransaction;
-import android.app.LoaderManager.LoaderCallbacks;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.Loader;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.UserInfo;
-import android.content.res.Resources;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.icu.impl.ICUResourceBundle;
-import android.icu.util.UResourceBundle;
-import android.net.ConnectivityManager;
-import android.net.INetworkPolicyManager;
-import android.net.INetworkStatsService;
-import android.net.INetworkStatsSession;
-import android.net.NetworkPolicy;
-import android.net.NetworkPolicyManager;
-import android.net.NetworkStats;
-import android.net.NetworkStatsHistory;
-import android.net.NetworkTemplate;
-import android.net.TrafficStats;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.INetworkManagementService;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.SystemProperties;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.support.v7.preference.Preference;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.text.format.DateUtils;
-import android.text.format.Formatter;
-import android.text.format.Time;
-import android.util.Log;
-import android.util.SparseArray;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.AdapterView.OnItemSelectedListener;
-import android.widget.ArrayAdapter;
-import android.widget.BaseAdapter;
-import android.widget.Button;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.NumberPicker;
-import android.widget.ProgressBar;
-import android.widget.Spinner;
-import android.widget.Switch;
-import android.widget.TabHost;
-import android.widget.TabHost.OnTabChangeListener;
-import android.widget.TabHost.TabContentFactory;
-import android.widget.TabHost.TabSpec;
-import android.widget.TabWidget;
-import android.widget.TextView;
-import android.widget.Toast;
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.settings.dashboard.SummaryLoader;
-import com.android.settings.dashboard.conditional.BackgroundDataCondition;
-import com.android.settings.dashboard.conditional.ConditionManager;
-import com.android.settings.drawable.InsetBoundsDrawable;
-import com.android.settings.net.DataUsageMeteredSettings;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
-import com.android.settings.widget.ChartDataUsageView;
-import com.android.settings.widget.ChartDataUsageView.DataUsageChartListener;
-import com.android.settings.widget.ChartNetworkSeriesView;
-import com.android.settingslib.AppItem;
-import com.android.settingslib.NetworkPolicyEditor;
-import com.android.settingslib.net.ChartData;
-import com.android.settingslib.net.ChartDataLoader;
-import com.android.settingslib.net.MobileDataController;
-import com.android.settingslib.net.SummaryForAllUidLoader;
-import com.android.settingslib.net.UidDetail;
-import com.android.settingslib.net.UidDetailProvider;
-import com.google.android.collect.Lists;
-import libcore.util.Objects;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import static android.net.ConnectivityManager.TYPE_ETHERNET;
-import static android.net.ConnectivityManager.TYPE_MOBILE;
-import static android.net.ConnectivityManager.TYPE_WIFI;
-import static android.net.ConnectivityManager.TYPE_WIMAX;
-import static android.net.NetworkPolicy.LIMIT_DISABLED;
-import static android.net.NetworkPolicy.WARNING_DISABLED;
-import static android.net.NetworkPolicyManager.EXTRA_NETWORK_TEMPLATE;
-import static android.net.NetworkPolicyManager.POLICY_NONE;
-import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
-import static android.net.NetworkPolicyManager.computeLastCycleBoundary;
-import static android.net.NetworkPolicyManager.computeNextCycleBoundary;
-import static android.net.NetworkTemplate.MATCH_MOBILE_3G_LOWER;
-import static android.net.NetworkTemplate.MATCH_MOBILE_4G;
-import static android.net.NetworkTemplate.MATCH_MOBILE_ALL;
-import static android.net.NetworkTemplate.MATCH_WIFI;
-import static android.net.NetworkTemplate.buildTemplateEthernet;
-import static android.net.NetworkTemplate.buildTemplateMobile3gLower;
-import static android.net.NetworkTemplate.buildTemplateMobile4g;
-import static android.net.NetworkTemplate.buildTemplateMobileAll;
-import static android.net.NetworkTemplate.buildTemplateWifiWildcard;
-import static android.net.TrafficStats.GB_IN_BYTES;
-import static android.net.TrafficStats.MB_IN_BYTES;
-import static android.net.TrafficStats.UID_REMOVED;
-import static android.net.TrafficStats.UID_TETHERING;
-import static android.telephony.TelephonyManager.SIM_STATE_READY;
-import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
-import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
-import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
-import static com.android.internal.util.Preconditions.checkNotNull;
-import static com.android.settings.Utils.prepareCustomPreferencesList;
-
-/**
- * Panel showing data usage history across various networks, including options
- * to inspect based on usage cycle and control through {@link NetworkPolicy}.
- */
-public class DataUsageSummary extends HighlightingFragment implements Indexable {
- private static final String TAG = "DataUsage";
- private static final boolean LOGD = false;
-
- // TODO: remove this testing code
- private static final boolean TEST_ANIM = false;
- private static final boolean TEST_RADIOS = false;
-
- private static final String TEST_RADIOS_PROP = "test.radios";
- private static final String TEST_SUBSCRIBER_PROP = "test.subscriberid";
-
- private static final String TAB_3G = "3g";
- private static final String TAB_4G = "4g";
- private static final String TAB_MOBILE = "mobile";
- private static final String TAB_WIFI = "wifi";
- private static final String TAB_ETHERNET = "ethernet";
-
- private static final String TAG_CONFIRM_DATA_DISABLE = "confirmDataDisable";
- private static final String TAG_CONFIRM_LIMIT = "confirmLimit";
- private static final String TAG_CYCLE_EDITOR = "cycleEditor";
- private static final String TAG_WARNING_EDITOR = "warningEditor";
- private static final String TAG_LIMIT_EDITOR = "limitEditor";
- private static final String TAG_CONFIRM_RESTRICT = "confirmRestrict";
- private static final String TAG_DENIED_RESTRICT = "deniedRestrict";
- private static final String TAG_CONFIRM_APP_RESTRICT = "confirmAppRestrict";
- private static final String TAG_APP_DETAILS = "appDetails";
-
- private static final String DATA_USAGE_ENABLE_MOBILE_KEY = "data_usage_enable_mobile";
- private static final String DATA_USAGE_DISABLE_MOBILE_LIMIT_KEY =
- "data_usage_disable_mobile_limit";
- private static final String DATA_USAGE_CYCLE_KEY = "data_usage_cycle";
-
- public static final String EXTRA_SHOW_APP_IMMEDIATE_PKG = "showAppImmediatePkg";
-
- private static final int LOADER_CHART_DATA = 2;
- private static final int LOADER_SUMMARY = 3;
-
- private INetworkManagementService mNetworkService;
- private INetworkStatsService mStatsService;
- private NetworkPolicyManager mPolicyManager;
- private TelephonyManager mTelephonyManager;
- private SubscriptionManager mSubscriptionManager;
- private UserManager mUserManager;
-
- private INetworkStatsSession mStatsSession;
-
- private static final String PREF_FILE = "data_usage";
- private static final String PREF_SHOW_WIFI = "show_wifi";
- private static final String PREF_SHOW_ETHERNET = "show_ethernet";
-
- private SharedPreferences mPrefs;
-
- private TabHost mTabHost;
- private ViewGroup mTabsContainer;
- private TabWidget mTabWidget;
- private ListView mListView;
- private ChartNetworkSeriesView mSeries;
- private ChartNetworkSeriesView mDetailedSeries;
- private DataUsageAdapter mAdapter;
-
- /** Distance to inset content from sides, when needed. */
- private int mInsetSide = 0;
-
- private ViewGroup mHeader;
-
- private ViewGroup mNetworkSwitchesContainer;
- private LinearLayout mNetworkSwitches;
- private boolean mDataEnabledSupported;
- private Switch mDataEnabled;
- private View mDataEnabledView;
- private boolean mDisableAtLimitSupported;
- private Switch mDisableAtLimit;
- private View mDisableAtLimitView;
-
- private View mCycleView;
- private Spinner mCycleSpinner;
- private CycleAdapter mCycleAdapter;
- private TextView mCycleSummary;
-
- private ChartDataUsageView mChart;
- private View mDisclaimer;
- private TextView mEmpty;
- private View mStupidPadding;
-
- private View mAppDetail;
- private ImageView mAppIcon;
- private ViewGroup mAppTitles;
- private TextView mAppTotal;
- private TextView mAppForeground;
- private TextView mAppBackground;
- private Button mAppSettings;
-
- private LinearLayout mAppSwitches;
- private Switch mAppRestrict;
- private View mAppRestrictView;
-
- private boolean mShowWifi = false;
- private boolean mShowEthernet = false;
-
- private NetworkTemplate mTemplate;
- private ChartData mChartData;
-
- private AppItem mCurrentApp = null;
-
- private Intent mAppSettingsIntent;
-
- private NetworkPolicyEditor mPolicyEditor;
-
- private String mCurrentTab = null;
- private String mIntentTab = null;
-
- private MenuItem mMenuRestrictBackground;
- private MenuItem mMenuShowWifi;
- private MenuItem mMenuShowEthernet;
- private MenuItem mMenuSimCards;
- private MenuItem mMenuCellularNetworks;
-
- private List<SubscriptionInfo> mSubInfoList;
- private Map<Integer,String> mMobileTagMap;
-
- /** Flag used to ignore listeners during binding. */
- private boolean mBinding;
-
- private UidDetailProvider mUidDetailProvider;
-
- // Indicates request to show app immediately rather than list.
- private String mShowAppImmediatePkg;
-
- /**
- * Local cache of data enabled for subId, used to work around delays.
- */
- private final Map<String, Boolean> mMobileDataEnabled = new HashMap<String, Boolean>();
-
- @Override
- protected int getMetricsCategory() {
- return MetricsLogger.DATA_USAGE_SUMMARY;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- final Context context = getActivity();
-
- mNetworkService = INetworkManagementService.Stub.asInterface(
- ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
- mStatsService = INetworkStatsService.Stub.asInterface(
- ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
- mPolicyManager = NetworkPolicyManager.from(context);
- mTelephonyManager = TelephonyManager.from(context);
- mSubscriptionManager = SubscriptionManager.from(context);
- mUserManager = UserManager.get(context);
-
- mPrefs = getActivity().getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
-
- mPolicyEditor = new NetworkPolicyEditor(mPolicyManager);
- mPolicyEditor.read();
-
- mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
- mMobileTagMap = initMobileTabTag(mSubInfoList);
-
- try {
- if (!mNetworkService.isBandwidthControlEnabled()) {
- Log.w(TAG, "No bandwidth control; leaving");
- getActivity().finish();
- }
- } catch (RemoteException e) {
- Log.w(TAG, "No bandwidth control; leaving");
- getActivity().finish();
- }
-
- try {
- mStatsSession = mStatsService.openSession();
- } catch (RemoteException e) {
- throw new RuntimeException(e);
- }
-
- mShowWifi = mPrefs.getBoolean(PREF_SHOW_WIFI, false);
- mShowEthernet = mPrefs.getBoolean(PREF_SHOW_ETHERNET, false);
-
- // override preferences when no mobile radio
- if (!hasReadyMobileRadio(context)) {
- mShowWifi = true;
- mShowEthernet = true;
- }
-
- mUidDetailProvider = new UidDetailProvider(context);
-
- Bundle arguments = getArguments();
- if (arguments != null) {
- mShowAppImmediatePkg = arguments.getString(EXTRA_SHOW_APP_IMMEDIATE_PKG);
- }
-
- setHasOptionsMenu(true);
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
-
- final Context context = inflater.getContext();
- final View view = inflater.inflate(R.layout.data_usage_summary, container, false);
-
-
- mTabHost = (TabHost) view.findViewById(android.R.id.tabhost);
- mTabsContainer = (ViewGroup) view.findViewById(R.id.tabs_container);
- mTabWidget = (TabWidget) view.findViewById(android.R.id.tabs);
- mListView = (ListView) view.findViewById(android.R.id.list);
-
- // decide if we need to manually inset our content, or if we should rely
- // on parent container for inset.
- final boolean shouldInset = mListView.getScrollBarStyle()
- == View.SCROLLBARS_OUTSIDE_OVERLAY;
- mInsetSide = 0;
-
- // adjust padding around tabwidget as needed
- prepareCustomPreferencesList(container, view, mListView, false);
-
- mTabHost.setup();
- mTabHost.setOnTabChangedListener(mTabListener);
-
- mHeader = (ViewGroup) inflater.inflate(R.layout.data_usage_header, mListView, false);
- mHeader.setClickable(true);
-
- mListView.addHeaderView(new View(context), null, true);
- mListView.addHeaderView(mHeader, null, true);
- mListView.setItemsCanFocus(true);
-
- if (mInsetSide > 0) {
- // inset selector and divider drawables
- insetListViewDrawables(mListView, mInsetSide);
- mHeader.setPaddingRelative(mInsetSide, 0, mInsetSide, 0);
- }
-
- {
- // bind network switches
- mNetworkSwitchesContainer = (ViewGroup) mHeader.findViewById(
- R.id.network_switches_container);
- mNetworkSwitches = (LinearLayout) mHeader.findViewById(R.id.network_switches);
-
- mDataEnabled = new Switch(inflater.getContext());
- mDataEnabled.setClickable(false);
- mDataEnabled.setFocusable(false);
- mDataEnabledView = inflatePreference(inflater, mNetworkSwitches, mDataEnabled);
- mDataEnabledView.setTag(R.id.preference_highlight_key,
- DATA_USAGE_ENABLE_MOBILE_KEY);
- mDataEnabledView.setClickable(true);
- mDataEnabledView.setFocusable(true);
- mDataEnabledView.setOnClickListener(mDataEnabledListener);
- mNetworkSwitches.addView(mDataEnabledView);
-
- mDisableAtLimit = new Switch(inflater.getContext());
- mDisableAtLimit.setClickable(false);
- mDisableAtLimit.setFocusable(false);
- mDisableAtLimitView = inflatePreference(inflater, mNetworkSwitches, mDisableAtLimit);
- mDisableAtLimitView.setTag(R.id.preference_highlight_key,
- DATA_USAGE_DISABLE_MOBILE_LIMIT_KEY);
- mDisableAtLimitView.setClickable(true);
- mDisableAtLimitView.setFocusable(true);
- mDisableAtLimitView.setOnClickListener(mDisableAtLimitListener);
- mNetworkSwitches.addView(mDisableAtLimitView);
-
- mCycleView = inflater.inflate(R.layout.data_usage_cycles, mNetworkSwitches, false);
- mCycleView.setTag(R.id.preference_highlight_key, DATA_USAGE_CYCLE_KEY);
- mCycleSpinner = (Spinner) mCycleView.findViewById(R.id.cycles_spinner);
- mCycleAdapter = new CycleAdapter(context);
- mCycleSpinner.setAdapter(mCycleAdapter);
- mCycleSpinner.setOnItemSelectedListener(mCycleListener);
- mCycleSummary = (TextView) mCycleView.findViewById(R.id.cycle_summary);
- mNetworkSwitches.addView(mCycleView);
- mSeries = (ChartNetworkSeriesView)view.findViewById(R.id.series);
- mDetailedSeries = (ChartNetworkSeriesView)view.findViewById(R.id.detail_series);
- }
-
- mChart = (ChartDataUsageView) mHeader.findViewById(R.id.chart);
- mChart.setListener(mChartListener);
- mChart.bindNetworkPolicy(null);
-
- {
- // bind app detail controls
- mAppDetail = mHeader.findViewById(R.id.app_detail);
- mAppIcon = (ImageView) mAppDetail.findViewById(R.id.app_icon);
- mAppTitles = (ViewGroup) mAppDetail.findViewById(R.id.app_titles);
- mAppForeground = (TextView) mAppDetail.findViewById(R.id.app_foreground);
- mAppBackground = (TextView) mAppDetail.findViewById(R.id.app_background);
- mAppSwitches = (LinearLayout) mAppDetail.findViewById(R.id.app_switches);
-
- mAppSettings = (Button) mAppDetail.findViewById(R.id.app_settings);
-
- mAppRestrict = new Switch(inflater.getContext());
- mAppRestrict.setClickable(false);
- mAppRestrict.setFocusable(false);
- mAppRestrictView = inflatePreference(inflater, mAppSwitches, mAppRestrict);
- mAppRestrictView.setClickable(true);
- mAppRestrictView.setFocusable(true);
- mAppRestrictView.setOnClickListener(mAppRestrictListener);
- mAppSwitches.addView(mAppRestrictView);
- }
-
- mDisclaimer = mHeader.findViewById(R.id.disclaimer);
- mEmpty = (TextView) mHeader.findViewById(android.R.id.empty);
- mStupidPadding = mHeader.findViewById(R.id.stupid_padding);
-
- final UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
- mAdapter = new DataUsageAdapter(um, mUidDetailProvider, mInsetSide);
- mListView.setOnItemClickListener(mListListener);
- mListView.setAdapter(mAdapter);
-
- showRequestedAppIfNeeded(view);
-
- return view;
- }
-
- private void showRequestedAppIfNeeded(View rootView) {
- if (mShowAppImmediatePkg == null) {
- return;
- }
- try {
- int uid = getActivity().getPackageManager().getPackageUidAsUser(mShowAppImmediatePkg,
- UserHandle.myUserId());
- AppItem app = new AppItem(uid);
- app.addUid(uid);
-
- final UidDetail detail = mUidDetailProvider.getUidDetail(app.key, true);
- // When we are going straight to an app then we are coming from App Info and want
- // a header at the top.
- FrameLayout pinnedHeader = (FrameLayout) rootView.findViewById(R.id.pinned_header);
- AppHeader.createAppHeader(getActivity(), detail.icon, detail.label,
- mShowAppImmediatePkg, uid, pinnedHeader);
- AppDetailsFragment.show(DataUsageSummary.this, app, detail.label, false);
- } catch (NameNotFoundException e) {
- Log.w(TAG, "Could not find " + mShowAppImmediatePkg, e);
- Toast.makeText(getActivity(), getString(R.string.unknown_app), Toast.LENGTH_LONG)
- .show();
- getActivity().finish();
- }
- }
-
- @Override
- public void onViewStateRestored(Bundle savedInstanceState) {
- super.onViewStateRestored(savedInstanceState);
-
- // pick default tab based on incoming intent
- final Intent intent = getActivity().getIntent();
- mIntentTab = computeTabFromIntent(intent);
-
- // this kicks off chain reaction which creates tabs, binds the body to
- // selected network, and binds chart, cycles and detail list.
- updateTabs();
- }
-
- @Override
- public void onResume() {
- super.onResume();
-
- getView().post(new Runnable() {
- @Override
- public void run() {
- highlightViewIfNeeded();
- }
- });
-
- // kick off background task to update stats
- new AsyncTask<Void, Void, Void>() {
- @Override
- protected Void doInBackground(Void... params) {
- try {
- // wait a few seconds before kicking off
- Thread.sleep(2 * DateUtils.SECOND_IN_MILLIS);
- mStatsService.forceUpdate();
- } catch (InterruptedException e) {
- } catch (RemoteException e) {
- }
- return null;
- }
-
- @Override
- protected void onPostExecute(Void result) {
- if (isAdded()) {
- updateBody();
- }
- }
- }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- }
-
- @Override
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- inflater.inflate(R.menu.data_usage, menu);
- }
-
- @Override
- public void onPrepareOptionsMenu(Menu menu) {
- final Context context = getContext();
- if (context == null) return;
- final boolean appDetailMode = isAppDetailMode();
- final boolean isAdmin = mUserManager.isAdminUser();
-
- mMenuShowWifi = menu.findItem(R.id.data_usage_menu_show_wifi);
- if (hasWifiRadio(context) && hasReadyMobileRadio(context)) {
- mMenuShowWifi.setVisible(!appDetailMode);
- } else {
- mMenuShowWifi.setVisible(false);
- }
-
- mMenuShowEthernet = menu.findItem(R.id.data_usage_menu_show_ethernet);
- if (hasEthernet(context) && hasReadyMobileRadio(context)) {
- mMenuShowEthernet.setVisible(!appDetailMode);
- } else {
- mMenuShowEthernet.setVisible(false);
- }
-
- mMenuRestrictBackground = menu.findItem(R.id.data_usage_menu_restrict_background);
- mMenuRestrictBackground.setVisible(
- hasReadyMobileRadio(context) && isAdmin && !appDetailMode);
-
- final MenuItem metered = menu.findItem(R.id.data_usage_menu_metered);
- if (hasReadyMobileRadio(context) || hasWifiRadio(context)) {
- metered.setVisible(!appDetailMode);
- } else {
- metered.setVisible(false);
- }
-
- // TODO: show when multiple sims available
- mMenuSimCards = menu.findItem(R.id.data_usage_menu_sim_cards);
- mMenuSimCards.setVisible(false);
-
- mMenuCellularNetworks = menu.findItem(R.id.data_usage_menu_cellular_networks);
- mMenuCellularNetworks.setVisible(hasReadyMobileRadio(context)
- && !appDetailMode && isAdmin);
-
- final MenuItem help = menu.findItem(R.id.data_usage_menu_help);
- String helpUrl;
- if (!TextUtils.isEmpty(helpUrl = getResources().getString(R.string.help_url_data_usage))) {
- HelpUtils.prepareHelpMenuItem(getActivity(), help, helpUrl, getClass().getName());
- } else {
- help.setVisible(false);
- }
-
- updateMenuTitles();
- }
-
- private void updateMenuTitles() {
- if (mPolicyManager.getRestrictBackground()) {
- mMenuRestrictBackground.setTitle(R.string.data_usage_menu_allow_background);
- } else {
- mMenuRestrictBackground.setTitle(R.string.data_usage_menu_restrict_background);
- }
-
- if (mShowWifi) {
- mMenuShowWifi.setTitle(R.string.data_usage_menu_hide_wifi);
- } else {
- mMenuShowWifi.setTitle(R.string.data_usage_menu_show_wifi);
- }
-
- if (mShowEthernet) {
- mMenuShowEthernet.setTitle(R.string.data_usage_menu_hide_ethernet);
- } else {
- mMenuShowEthernet.setTitle(R.string.data_usage_menu_show_ethernet);
- }
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.data_usage_menu_restrict_background: {
- final boolean restrictBackground = !mPolicyManager.getRestrictBackground();
- if (restrictBackground) {
- ConfirmRestrictFragment.show(this);
- } else {
- // no confirmation to drop restriction
- setRestrictBackground(false);
- }
- return true;
- }
- case R.id.data_usage_menu_show_wifi: {
- mShowWifi = !mShowWifi;
- mPrefs.edit().putBoolean(PREF_SHOW_WIFI, mShowWifi).apply();
- updateMenuTitles();
- updateTabs();
- return true;
- }
- case R.id.data_usage_menu_show_ethernet: {
- mShowEthernet = !mShowEthernet;
- mPrefs.edit().putBoolean(PREF_SHOW_ETHERNET, mShowEthernet).apply();
- updateMenuTitles();
- updateTabs();
- return true;
- }
- case R.id.data_usage_menu_sim_cards: {
- // TODO: hook up to sim cards
- return true;
- }
- case R.id.data_usage_menu_cellular_networks: {
- final Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setComponent(new ComponentName("com.android.phone",
- "com.android.phone.MobileNetworkSettings"));
- startActivity(intent);
- return true;
- }
- case R.id.data_usage_menu_metered: {
- final SettingsActivity sa = (SettingsActivity) getActivity();
- sa.startPreferencePanel(DataUsageMeteredSettings.class.getCanonicalName(), null,
- R.string.data_usage_metered_title, null, this, 0);
- return true;
- }
- }
- return false;
- }
-
- @Override
- public void onDestroy() {
- mDataEnabledView = null;
- mDisableAtLimitView = null;
-
- mUidDetailProvider.clearCache();
- mUidDetailProvider = null;
-
- TrafficStats.closeQuietly(mStatsSession);
-
- super.onDestroy();
- }
-
- /**
- * Build and assign {@link LayoutTransition} to various containers. Should
- * only be assigned after initial layout is complete.
- */
- private void ensureLayoutTransitions() {
- if (mShowAppImmediatePkg != null) {
- // If we are skipping right to showing an app, we don't care about transitions.
- return;
- }
- // skip when already setup
- if (mChart.getLayoutTransition() != null) return;
-
- mTabsContainer.setLayoutTransition(buildLayoutTransition());
- mHeader.setLayoutTransition(buildLayoutTransition());
- mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition());
-
- final LayoutTransition chartTransition = buildLayoutTransition();
- chartTransition.disableTransitionType(LayoutTransition.APPEARING);
- chartTransition.disableTransitionType(LayoutTransition.DISAPPEARING);
- mChart.setLayoutTransition(chartTransition);
- }
-
- private static LayoutTransition buildLayoutTransition() {
- final LayoutTransition transition = new LayoutTransition();
- if (TEST_ANIM) {
- transition.setDuration(1500);
- }
- transition.setAnimateParentHierarchy(false);
- return transition;
- }
-
- /**
- * Rebuild all tabs based on {@link NetworkPolicyEditor} and
- * {@link #mShowWifi}, hiding the tabs entirely when applicable. Selects
- * first tab, and kicks off a full rebind of body contents.
- */
- private void updateTabs() {
- final Context context = getActivity();
- mTabHost.clearAllTabs();
-
- int simCount = mTelephonyManager.getSimCount();
-
- List<SubscriptionInfo> sirs = mSubscriptionManager.getActiveSubscriptionInfoList();
- if (sirs != null) {
- for (SubscriptionInfo sir : sirs) {
- addMobileTab(context, sir, (simCount > 1));
- }
- }
-
- if (mShowWifi && hasWifiRadio(context)) {
- mTabHost.addTab(buildTabSpec(TAB_WIFI, R.string.data_usage_tab_wifi));
- }
-
- if (mShowEthernet && hasEthernet(context)) {
- mTabHost.addTab(buildTabSpec(TAB_ETHERNET, R.string.data_usage_tab_ethernet));
- }
-
- final boolean noTabs = mTabWidget.getTabCount() == 0;
- final boolean multipleTabs = mTabWidget.getTabCount() > 1;
- mTabWidget.setVisibility(multipleTabs ? View.VISIBLE : View.GONE);
- if (mIntentTab != null) {
- if (Objects.equal(mIntentTab, mTabHost.getCurrentTabTag())) {
- // already hit updateBody() when added; ignore
- updateBody();
- } else {
- mTabHost.setCurrentTabByTag(mIntentTab);
- }
- mIntentTab = null;
- } else if (noTabs) {
- // no usable tabs, so hide body
- updateBody();
- } else {
- // already hit updateBody() when added; ignore
- }
- }
-
- /**
- * Factory that provide empty {@link View} to make {@link TabHost} happy.
- */
- private TabContentFactory mEmptyTabContent = new TabContentFactory() {
- @Override
- public View createTabContent(String tag) {
- return new View(mTabHost.getContext());
- }
- };
-
- /**
- * Build {@link TabSpec} with thin indicator, and empty content.
- */
- private TabSpec buildTabSpec(String tag, int titleRes) {
- return mTabHost.newTabSpec(tag).setIndicator(getText(titleRes)).setContent(
- mEmptyTabContent);
- }
-
- /**
- * Build {@link TabSpec} with thin indicator, and empty content.
- */
- private TabSpec buildTabSpec(String tag, CharSequence title) {
- return mTabHost.newTabSpec(tag).setIndicator(title).setContent(
- mEmptyTabContent);
- }
-
-
- private OnTabChangeListener mTabListener = new OnTabChangeListener() {
- @Override
- public void onTabChanged(String tabId) {
- // user changed tab; update body
- updateBody();
- }
- };
-
- /**
- * Update body content based on current tab. Loads
- * {@link NetworkStatsHistory} and {@link NetworkPolicy} from system, and
- * binds them to visible controls.
- */
- private void updateBody() {
- mBinding = true;
- if (!isAdded()) return;
-
- final Context context = getActivity();
- final String currentTab = mTabHost.getCurrentTabTag();
- final boolean isAdmin = mUserManager.isAdminUser();
-
- if (currentTab == null) {
- Log.w(TAG, "no tab selected; hiding body");
- mListView.setVisibility(View.GONE);
- return;
- } else {
- mListView.setVisibility(View.VISIBLE);
- }
-
- mCurrentTab = currentTab;
-
- if (LOGD) Log.d(TAG, "updateBody() with currentTab=" + currentTab);
-
- mDataEnabledSupported = isAdmin;
- mDisableAtLimitSupported = true;
-
- // TODO: remove mobile tabs when SIM isn't ready probably by
- // TODO: using SubscriptionManager.getActiveSubscriptionInfoList.
- if (LOGD) Log.d(TAG, "updateBody() isMobileTab=" + isMobileTab(currentTab));
-
- if (isMobileTab(currentTab)) {
- if (LOGD) Log.d(TAG, "updateBody() mobile tab");
- setPreferenceTitle(mDataEnabledView, R.string.data_usage_enable_mobile);
- setPreferenceTitle(mDisableAtLimitView, R.string.data_usage_disable_mobile_limit);
- mDataEnabledSupported = isMobileDataAvailable(getSubId(currentTab));
-
- // Match mobile traffic for this subscriber, but normalize it to
- // catch any other merged subscribers.
- mTemplate = buildTemplateMobileAll(
- getActiveSubscriberId(context, getSubId(currentTab)));
- mTemplate = NetworkTemplate.normalize(mTemplate,
- mTelephonyManager.getMergedSubscriberIds());
-
- } else if (TAB_3G.equals(currentTab)) {
- if (LOGD) Log.d(TAG, "updateBody() 3g tab");
- setPreferenceTitle(mDataEnabledView, R.string.data_usage_enable_3g);
- setPreferenceTitle(mDisableAtLimitView, R.string.data_usage_disable_3g_limit);
- // TODO: bind mDataEnabled to 3G radio state
- mTemplate = buildTemplateMobile3gLower(getActiveSubscriberId(context));
-
- } else if (TAB_4G.equals(currentTab)) {
- if (LOGD) Log.d(TAG, "updateBody() 4g tab");
- setPreferenceTitle(mDataEnabledView, R.string.data_usage_enable_4g);
- setPreferenceTitle(mDisableAtLimitView, R.string.data_usage_disable_4g_limit);
- // TODO: bind mDataEnabled to 4G radio state
- mTemplate = buildTemplateMobile4g(getActiveSubscriberId(context));
-
- } else if (TAB_WIFI.equals(currentTab)) {
- // wifi doesn't have any controls
- if (LOGD) Log.d(TAG, "updateBody() wifi tab");
- mDataEnabledSupported = false;
- mDisableAtLimitSupported = false;
- mTemplate = buildTemplateWifiWildcard();
-
- } else if (TAB_ETHERNET.equals(currentTab)) {
- // ethernet doesn't have any controls
- if (LOGD) Log.d(TAG, "updateBody() ethernet tab");
- mDataEnabledSupported = false;
- mDisableAtLimitSupported = false;
- mTemplate = buildTemplateEthernet();
-
- } else {
- if (LOGD) Log.d(TAG, "updateBody() unknown tab");
- throw new IllegalStateException("unknown tab: " + currentTab);
- }
-
- mPolicyEditor.read();
- final NetworkPolicy policy = mPolicyEditor.getPolicy(mTemplate);
- if (policy != null) {
- final long currentTime = System.currentTimeMillis();
- final long start = computeLastCycleBoundary(currentTime, policy);
- final long end = currentTime;
- long totalBytes = 0;
-
- try {
- totalBytes = mStatsService.getNetworkTotalBytes(policy.template, start, end);
- } catch (RuntimeException e) {
- } catch (RemoteException e) {
- }
-
- if (policy.isOverLimit(totalBytes) && policy.lastLimitSnooze < start) {
- setPreferenceSummary(mDataEnabledView,
- getString(R.string.data_usage_cellular_data_summary));
- } else {
- final TextView summary = (TextView) mDataEnabledView
- .findViewById(android.R.id.summary);
- summary.setVisibility(View.GONE);
- }
- }
-
- // kick off loader for network history
- // TODO: consider chaining two loaders together instead of reloading
- // network history when showing app detail.
- getLoaderManager().restartLoader(LOADER_CHART_DATA,
- ChartDataLoader.buildArgs(mTemplate, mCurrentApp), mChartDataCallbacks);
-
- // detail mode can change visible menus, invalidate
- getActivity().invalidateOptionsMenu();
-
- mBinding = false;
-
- int seriesColor = context.getColor(R.color.sim_noitification);
- if (mCurrentTab != null && mCurrentTab.length() > TAB_MOBILE.length() ){
- final int slotId = Integer.parseInt(mCurrentTab.substring(TAB_MOBILE.length(),
- mCurrentTab.length()));
- final SubscriptionInfo sir = mSubscriptionManager
- .getActiveSubscriptionInfoForSimSlotIndex(slotId);
-
- if (sir != null) {
- seriesColor = sir.getIconTint();
- }
- }
-
- final int secondaryColor = Color.argb(127, Color.red(seriesColor), Color.green(seriesColor),
- Color.blue(seriesColor));
- mSeries.setChartColor(Color.BLACK, seriesColor, secondaryColor);
- mDetailedSeries.setChartColor(Color.BLACK, seriesColor, secondaryColor);
- }
-
- private boolean isAppDetailMode() {
- return mCurrentApp != null;
- }
-
- /**
- * Update UID details panels to match {@link #mCurrentApp}, showing or
- * hiding them depending on {@link #isAppDetailMode()}.
- */
- private void updateAppDetail() {
- final Context context = getActivity();
- final PackageManager pm = context.getPackageManager();
- final LayoutInflater inflater = getActivity().getLayoutInflater();
-
- if (isAppDetailMode()) {
- mAppDetail.setVisibility(View.VISIBLE);
- mCycleAdapter.setChangeVisible(false);
- mChart.setVisibility(View.GONE);
- } else {
- mAppDetail.setVisibility(View.GONE);
- mCycleAdapter.setChangeVisible(true);
- mChart.setVisibility(View.VISIBLE);
-
- // hide detail stats when not in detail mode
- mChart.bindDetailNetworkStats(null);
- return;
- }
-
- // remove warning/limit sweeps while in detail mode
- mChart.bindNetworkPolicy(null);
-
- // show icon and all labels appearing under this app
- final int uid = mCurrentApp.key;
- final UidDetail detail = mUidDetailProvider.getUidDetail(uid, true);
- mAppIcon.setImageDrawable(detail.icon);
-
- mAppTitles.removeAllViews();
-
- View title = null;
- if (detail.detailLabels != null) {
- final int n = detail.detailLabels.length;
- for (int i = 0; i < n; ++i) {
- CharSequence label = detail.detailLabels[i];
- CharSequence contentDescription = detail.detailContentDescriptions[i];
- title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false);
- TextView appTitle = (TextView) title.findViewById(R.id.app_title);
- appTitle.setText(label);
- appTitle.setContentDescription(contentDescription);
- mAppTitles.addView(title);
- }
- } else {
- title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false);
- TextView appTitle = (TextView) title.findViewById(R.id.app_title);
- appTitle.setText(detail.label);
- appTitle.setContentDescription(detail.contentDescription);
- mAppTitles.addView(title);
- }
-
- // Remember last slot for summary
- if (title != null) {
- mAppTotal = (TextView) title.findViewById(R.id.app_summary);
- } else {
- mAppTotal = null;
- }
-
- // enable settings button when package provides it
- final String[] packageNames = pm.getPackagesForUid(uid);
- if (packageNames != null && packageNames.length > 0) {
- mAppSettingsIntent = new Intent(Intent.ACTION_MANAGE_NETWORK_USAGE);
- mAppSettingsIntent.addCategory(Intent.CATEGORY_DEFAULT);
-
- // Search for match across all packages
- boolean matchFound = false;
- for (String packageName : packageNames) {
- mAppSettingsIntent.setPackage(packageName);
- if (pm.resolveActivity(mAppSettingsIntent, 0) != null) {
- matchFound = true;
- break;
- }
- }
-
- mAppSettings.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- if (!isAdded()) {
- return;
- }
-
- // TODO: target towards entire UID instead of just first package
- getActivity().startActivityAsUser(mAppSettingsIntent,
- new UserHandle(UserHandle.getUserId(uid)));
- }
- });
- mAppSettings.setEnabled(matchFound);
- mAppSettings.setVisibility(View.VISIBLE);
-
- } else {
- mAppSettingsIntent = null;
- mAppSettings.setOnClickListener(null);
- mAppSettings.setVisibility(View.GONE);
- }
-
- updateDetailData();
-
- if (UserHandle.isApp(uid) && !mPolicyManager.getRestrictBackground()
- && isBandwidthControlEnabled() && hasReadyMobileRadio(context)) {
- setPreferenceTitle(mAppRestrictView, R.string.data_usage_app_restrict_background);
- setPreferenceSummary(mAppRestrictView,
- getString(R.string.data_usage_app_restrict_background_summary));
-
- mAppRestrictView.setVisibility(View.VISIBLE);
- mAppRestrict.setChecked(getAppRestrictBackground());
-
- } else {
- mAppRestrictView.setVisibility(View.GONE);
- }
- }
-
- private void setPolicyWarningBytes(long warningBytes) {
- if (LOGD) Log.d(TAG, "setPolicyWarningBytes()");
- mPolicyEditor.setPolicyWarningBytes(mTemplate, warningBytes);
- updatePolicy(false);
- }
-
- private void setPolicyLimitBytes(long limitBytes) {
- if (LOGD) Log.d(TAG, "setPolicyLimitBytes()");
- mPolicyEditor.setPolicyLimitBytes(mTemplate, limitBytes);
- updatePolicy(false);
- }
-
- private boolean isMobileDataEnabled(int subId) {
- if (LOGD) Log.d(TAG, "isMobileDataEnabled:+ subId=" + subId);
- boolean isEnable = false;
- if (mMobileDataEnabled.get(String.valueOf(subId)) != null) {
- //TODO: deprecate and remove this once enabled flag is on policy
- //Multiple Subscriptions, the value need to be reseted
- isEnable = mMobileDataEnabled.get(String.valueOf(subId)).booleanValue();
- if (LOGD) {
- Log.d(TAG, "isMobileDataEnabled: != null, subId=" + subId
- + " isEnable=" + isEnable);
- }
- mMobileDataEnabled.put(String.valueOf(subId), null);
- } else {
- // SUB SELECT
- isEnable = mTelephonyManager.getDataEnabled(subId);
- if (LOGD) {
- Log.d(TAG, "isMobileDataEnabled: == null, subId=" + subId
- + " isEnable=" + isEnable);
- }
- }
- return isEnable;
- }
-
- private void setMobileDataEnabled(int subId, boolean enabled) {
- if (LOGD) Log.d(TAG, "setMobileDataEnabled()");
- mTelephonyManager.setDataEnabled(subId, enabled);
- mMobileDataEnabled.put(String.valueOf(subId), enabled);
- updatePolicy(false);
- }
-
- private boolean isNetworkPolicyModifiable(NetworkPolicy policy) {
- return policy != null && isBandwidthControlEnabled() && mDataEnabled.isChecked()
- && mUserManager.isAdminUser();
- }
-
- private boolean isBandwidthControlEnabled() {
- try {
- return mNetworkService.isBandwidthControlEnabled();
- } catch (RemoteException e) {
- Log.w(TAG, "problem talking with INetworkManagementService: " + e);
- return false;
- }
- }
-
- public void setRestrictBackground(boolean restrictBackground) {
- mPolicyManager.setRestrictBackground(restrictBackground);
- updateMenuTitles();
- ConditionManager.get(getContext()).getCondition(BackgroundDataCondition.class)
- .refreshState();
- }
-
- private boolean getAppRestrictBackground() {
- final int uid = mCurrentApp.key;
- final int uidPolicy = mPolicyManager.getUidPolicy(uid);
- return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
- }
-
- private void setAppRestrictBackground(boolean restrictBackground) {
- if (LOGD) Log.d(TAG, "setAppRestrictBackground()");
- final int uid = mCurrentApp.key;
- mPolicyManager.setUidPolicy(
- uid, restrictBackground ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE);
- mAppRestrict.setChecked(restrictBackground);
- }
-
- /**
- * Update chart sweeps and cycle list to reflect {@link NetworkPolicy} for
- * current {@link #mTemplate}.
- */
- private void updatePolicy(boolean refreshCycle) {
- boolean dataEnabledVisible = mDataEnabledSupported;
- boolean disableAtLimitVisible = mDisableAtLimitSupported;
-
- if (isAppDetailMode()) {
- dataEnabledVisible = false;
- disableAtLimitVisible = false;
- }
-
- // TODO: move enabled state directly into policy
- if (isMobileTab(mCurrentTab)) {
- mBinding = true;
- mDataEnabled.setChecked(isMobileDataEnabled(getSubId(mCurrentTab)));
- mBinding = false;
- }
-
- final NetworkPolicy policy = mPolicyEditor.getPolicy(mTemplate);
- //SUB SELECT
- if (isNetworkPolicyModifiable(policy) && isMobileDataAvailable(getSubId(mCurrentTab))) {
- mDisableAtLimit.setChecked(policy != null && policy.limitBytes != LIMIT_DISABLED);
- if (!isAppDetailMode()) {
- mChart.bindNetworkPolicy(policy);
- }
-
- } else {
- // controls are disabled; don't bind warning/limit sweeps
- disableAtLimitVisible = false;
- mChart.bindNetworkPolicy(null);
- }
-
- mDataEnabledView.setVisibility(dataEnabledVisible ? View.VISIBLE : View.GONE);
- mDisableAtLimitView.setVisibility(disableAtLimitVisible ? View.VISIBLE : View.GONE);
-
- if (refreshCycle) {
- // generate cycle list based on policy and available history
- updateCycleList(policy);
- }
- }
-
- /**
- * Rebuild {@link #mCycleAdapter} based on {@link NetworkPolicy#cycleDay}
- * and available {@link NetworkStatsHistory} data. Always selects the newest
- * item, updating the inspection range on {@link #mChart}.
- */
- private void updateCycleList(NetworkPolicy policy) {
- // stash away currently selected cycle to try restoring below
- final CycleItem previousItem = (CycleItem) mCycleSpinner.getSelectedItem();
- mCycleAdapter.clear();
-
- final Context context = mCycleSpinner.getContext();
- NetworkStatsHistory.Entry entry = null;
-
- long historyStart = Long.MAX_VALUE;
- long historyEnd = Long.MIN_VALUE;
- if (mChartData != null) {
- historyStart = mChartData.network.getStart();
- historyEnd = mChartData.network.getEnd();
- }
-
- final long now = System.currentTimeMillis();
- if (historyStart == Long.MAX_VALUE) historyStart = now;
- if (historyEnd == Long.MIN_VALUE) historyEnd = now + 1;
-
- boolean hasCycles = false;
- if (policy != null) {
- // find the next cycle boundary
- long cycleEnd = computeNextCycleBoundary(historyEnd, policy);
-
- // walk backwards, generating all valid cycle ranges
- while (cycleEnd > historyStart) {
- final long cycleStart = computeLastCycleBoundary(cycleEnd, policy);
- Log.d(TAG, "generating cs=" + cycleStart + " to ce=" + cycleEnd + " waiting for hs="
- + historyStart);
-
- final boolean includeCycle;
- if (mChartData != null) {
- entry = mChartData.network.getValues(cycleStart, cycleEnd, entry);
- includeCycle = (entry.rxBytes + entry.txBytes) > 0;
- } else {
- includeCycle = true;
- }
-
- if (includeCycle) {
- mCycleAdapter.add(new CycleItem(context, cycleStart, cycleEnd));
- hasCycles = true;
- }
- cycleEnd = cycleStart;
- }
-
- // one last cycle entry to modify policy cycle day
- mCycleAdapter.setChangePossible(isNetworkPolicyModifiable(policy));
- }
-
- if (!hasCycles) {
- // no policy defined cycles; show entry for each four-week period
- long cycleEnd = historyEnd;
- while (cycleEnd > historyStart) {
- final long cycleStart = cycleEnd - (DateUtils.WEEK_IN_MILLIS * 4);
-
- final boolean includeCycle;
- if (mChartData != null) {
- entry = mChartData.network.getValues(cycleStart, cycleEnd, entry);
- includeCycle = (entry.rxBytes + entry.txBytes) > 0;
- } else {
- includeCycle = true;
- }
-
- if (includeCycle) {
- mCycleAdapter.add(new CycleItem(context, cycleStart, cycleEnd));
- }
- cycleEnd = cycleStart;
- }
-
- mCycleAdapter.setChangePossible(false);
- }
-
- // force pick the current cycle (first item)
- if (mCycleAdapter.getCount() > 0) {
- final int position = mCycleAdapter.findNearestPosition(previousItem);
- mCycleSpinner.setSelection(position);
-
- // only force-update cycle when changed; skipping preserves any
- // user-defined inspection region.
- final CycleItem selectedItem = mCycleAdapter.getItem(position);
- if (!Objects.equal(selectedItem, previousItem)) {
- mCycleListener.onItemSelected(mCycleSpinner, null, position, 0);
- } else {
- // but still kick off loader for detailed list
- updateDetailData();
- }
- } else {
- updateDetailData();
- }
- }
-
- private void disableDataForOtherSubscriptions(SubscriptionInfo currentSir) {
- if (mSubInfoList != null) {
- for (SubscriptionInfo subInfo : mSubInfoList) {
- if (subInfo.getSubscriptionId() != currentSir.getSubscriptionId()) {
- setMobileDataEnabled(subInfo.getSubscriptionId(), false);
- }
- }
- }
- }
-
- private View.OnClickListener mDataEnabledListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (mBinding) return;
-
- final boolean enabled = !mDataEnabled.isChecked();
- final String currentTab = mCurrentTab;
- if (isMobileTab(currentTab)) {
- MetricsLogger.action(getContext(), MetricsLogger.ACTION_CELL_DATA_TOGGLE, enabled);
- if (enabled) {
- // If we are showing the Sim Card tile then we are a Multi-Sim device.
- if (Utils.showSimCardTile(getActivity())) {
- handleMultiSimDataDialog();
- } else {
- setMobileDataEnabled(getSubId(currentTab), true);
- }
- } else {
- // disabling data; show confirmation dialog which eventually
- // calls setMobileDataEnabled() once user confirms.
- ConfirmDataDisableFragment.show(DataUsageSummary.this, getSubId(mCurrentTab));
- }
- }
-
- updatePolicy(false);
- }
- };
-
- private void handleMultiSimDataDialog() {
- final Context context = getActivity();
- final SubscriptionInfo currentSir = getCurrentTabSubInfo(context);
-
- //If sim has not loaded after toggling data switch, return.
- if (currentSir == null) {
- return;
- }
-
- final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
-
- // If the device is single SIM or is enabling data on the active data SIM then forgo
- // the pop-up.
- if (!Utils.showSimCardTile(context) ||
- (nextSir != null && currentSir != null &&
- currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
- setMobileDataEnabled(currentSir.getSubscriptionId(), true);
- if (nextSir != null && currentSir != null &&
- currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
- disableDataForOtherSubscriptions(currentSir);
- }
- updateBody();
- return;
- }
-
- final String previousName = (nextSir == null)
- ? context.getResources().getString(R.string.sim_selection_required_pref)
- : nextSir.getDisplayName().toString();
-
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-
- builder.setTitle(R.string.sim_change_data_title);
- builder.setMessage(getActivity().getResources().getString(R.string.sim_change_data_message,
- currentSir.getDisplayName(), previousName));
-
- builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- mSubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId());
- setMobileDataEnabled(currentSir.getSubscriptionId(), true);
- disableDataForOtherSubscriptions(currentSir);
- updateBody();
- }
- });
- builder.setNegativeButton(R.string.cancel, null);
-
- builder.create().show();
- }
-
- private View.OnClickListener mDisableAtLimitListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final boolean disableAtLimit = !mDisableAtLimit.isChecked();
- if (disableAtLimit) {
- // enabling limit; show confirmation dialog which eventually
- // calls setPolicyLimitBytes() once user confirms.
- ConfirmLimitFragment.show(DataUsageSummary.this);
- } else {
- setPolicyLimitBytes(LIMIT_DISABLED);
- }
- }
- };
-
- private View.OnClickListener mAppRestrictListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final boolean restrictBackground = !mAppRestrict.isChecked();
-
- if (restrictBackground) {
- // enabling restriction; show confirmation dialog which
- // eventually calls setRestrictBackground() once user
- // confirms.
- ConfirmAppRestrictFragment.show(DataUsageSummary.this);
- } else {
- setAppRestrictBackground(false);
- }
- }
- };
-
- private OnItemClickListener mListListener = new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- final Context context = view.getContext();
- final AppItem app = (AppItem) parent.getItemAtPosition(position);
-
- // TODO: sigh, remove this hack once we understand 6450986
- if (mUidDetailProvider == null || app == null) return;
-
- final UidDetail detail = mUidDetailProvider.getUidDetail(app.key, true);
- AppDetailsFragment.show(DataUsageSummary.this, app, detail.label);
- }
- };
-
- private OnItemSelectedListener mCycleListener = new OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- final CycleItem cycle = (CycleItem) parent.getItemAtPosition(position);
- if (cycle instanceof CycleChangeItem) {
- // show cycle editor; will eventually call setPolicyCycleDay()
- // when user finishes editing.
- CycleEditorFragment.show(DataUsageSummary.this);
-
- // reset spinner to something other than "change cycle..."
- mCycleSpinner.setSelection(0);
-
- } else {
- if (LOGD) {
- Log.d(TAG, "showing cycle " + cycle + ", start=" + cycle.start + ", end="
- + cycle.end + "]");
- }
-
- // update chart to show selected cycle, and update detail data
- // to match updated sweep bounds.
- mChart.setVisibleRange(cycle.start, cycle.end);
-
- updateDetailData();
- }
- }
-
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- // ignored
- }
- };
-
- /**
- * Update details based on {@link #mChart} inspection range depending on
- * current mode. In network mode, updates {@link #mAdapter} with sorted list
- * of applications data usage, and when {@link #isAppDetailMode()} update
- * app details.
- */
- private void updateDetailData() {
- if (LOGD) Log.d(TAG, "updateDetailData()");
-
- final long start = mChart.getInspectStart();
- final long end = mChart.getInspectEnd();
- final long now = System.currentTimeMillis();
-
- final Context context = getActivity();
-
- NetworkStatsHistory.Entry entry = null;
- if (isAppDetailMode() && mChartData != null && mChartData.detail != null) {
- // bind foreground/background to piechart and labels
- entry = mChartData.detailDefault.getValues(start, end, now, entry);
- final long defaultBytes = entry.rxBytes + entry.txBytes;
- entry = mChartData.detailForeground.getValues(start, end, now, entry);
- final long foregroundBytes = entry.rxBytes + entry.txBytes;
- final long totalBytes = defaultBytes + foregroundBytes;
-
- if (mAppTotal != null) {
- mAppTotal.setText(Formatter.formatFileSize(context, totalBytes));
- }
- mAppBackground.setText(Formatter.formatFileSize(context, defaultBytes));
- mAppForeground.setText(Formatter.formatFileSize(context, foregroundBytes));
-
- // and finally leave with summary data for label below
- entry = mChartData.detail.getValues(start, end, now, null);
-
- getLoaderManager().destroyLoader(LOADER_SUMMARY);
-
- mCycleSummary.setVisibility(View.GONE);
-
- } else {
- if (mChartData != null) {
- entry = mChartData.network.getValues(start, end, now, null);
- }
-
- mCycleSummary.setVisibility(View.VISIBLE);
-
- // kick off loader for detailed stats
- getLoaderManager().restartLoader(LOADER_SUMMARY,
- SummaryForAllUidLoader.buildArgs(mTemplate, start, end), mSummaryCallbacks);
- }
-
- final long totalBytes = entry != null ? entry.rxBytes + entry.txBytes : 0;
- final String totalPhrase = Formatter.formatFileSize(context, totalBytes);
- mCycleSummary.setText(totalPhrase);
-
- if (isMobileTab(mCurrentTab) || TAB_3G.equals(mCurrentTab)
- || TAB_4G.equals(mCurrentTab)) {
- if (isAppDetailMode()) {
- mDisclaimer.setVisibility(View.GONE);
- } else {
- mDisclaimer.setVisibility(View.VISIBLE);
- }
- } else {
- mDisclaimer.setVisibility(View.GONE);
- }
-
- // initial layout is finished above, ensure we have transitions
- ensureLayoutTransitions();
- }
-
- private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks<
- ChartData>() {
- @Override
- public Loader<ChartData> onCreateLoader(int id, Bundle args) {
- return new ChartDataLoader(getActivity(), mStatsSession, args);
- }
-
- @Override
- public void onLoadFinished(Loader<ChartData> loader, ChartData data) {
- mChartData = data;
- mChart.bindNetworkStats(mChartData.network);
- mChart.bindDetailNetworkStats(mChartData.detail);
-
- // calcuate policy cycles based on available data
- updatePolicy(true);
- updateAppDetail();
-
- // force scroll to top of body when showing detail
- if (mChartData.detail != null) {
- mListView.smoothScrollToPosition(0);
- }
- }
-
- @Override
- public void onLoaderReset(Loader<ChartData> loader) {
- mChartData = null;
- mChart.bindNetworkStats(null);
- mChart.bindDetailNetworkStats(null);
- }
- };
-
- private final LoaderCallbacks<NetworkStats> mSummaryCallbacks = new LoaderCallbacks<
- NetworkStats>() {
- @Override
- public Loader<NetworkStats> onCreateLoader(int id, Bundle args) {
- return new SummaryForAllUidLoader(getActivity(), mStatsSession, args);
- }
-
- @Override
- public void onLoadFinished(Loader<NetworkStats> loader, NetworkStats data) {
- final int[] restrictedUids = mPolicyManager.getUidsWithPolicy(
- POLICY_REJECT_METERED_BACKGROUND);
- mAdapter.bindStats(data, restrictedUids);
- updateEmptyVisible();
- }
-
- @Override
- public void onLoaderReset(Loader<NetworkStats> loader) {
- mAdapter.bindStats(null, new int[0]);
- updateEmptyVisible();
- }
-
- private void updateEmptyVisible() {
- final boolean isEmpty = mAdapter.isEmpty() && !isAppDetailMode();
- mEmpty.setVisibility(isEmpty ? View.VISIBLE : View.GONE);
- mStupidPadding.setVisibility(isEmpty ? View.VISIBLE : View.GONE);
- }
- };
-
- private static String getActiveSubscriberId(Context context) {
- final TelephonyManager tele = TelephonyManager.from(context);
- final String actualSubscriberId = tele.getSubscriberId();
- String retVal = SystemProperties.get(TEST_SUBSCRIBER_PROP, actualSubscriberId);
- if (LOGD) Log.d(TAG, "getActiveSubscriberId=" + retVal + " actualSubscriberId=" + actualSubscriberId);
- return retVal;
- }
-
- private static String getActiveSubscriberId(Context context, int subId) {
- final TelephonyManager tele = TelephonyManager.from(context);
- String retVal = tele.getSubscriberId(subId);
- if (LOGD) Log.d(TAG, "getActiveSubscriberId=" + retVal + " subId=" + subId);
- return retVal;
- }
-
- private DataUsageChartListener mChartListener = new DataUsageChartListener() {
- @Override
- public void onWarningChanged() {
- setPolicyWarningBytes(mChart.getWarningBytes());
- }
-
- @Override
- public void onLimitChanged() {
- setPolicyLimitBytes(mChart.getLimitBytes());
- updateBody();
- }
-
- @Override
- public void requestWarningEdit() {
- WarningEditorFragment.show(DataUsageSummary.this);
- }
-
- @Override
- public void requestLimitEdit() {
- LimitEditorFragment.show(DataUsageSummary.this);
- }
- };
-
- /**
- * List item that reflects a specific data usage cycle.
- */
- public static class CycleItem implements Comparable<CycleItem> {
- public CharSequence label;
- public long start;
- public long end;
-
- CycleItem(CharSequence label) {
- this.label = label;
- }
-
- public CycleItem(Context context, long start, long end) {
- this.label = formatDateRange(context, start, end);
- this.start = start;
- this.end = end;
- }
-
- @Override
- public String toString() {
- return label.toString();
- }
-
- @Override
- public boolean equals(Object o) {
- if (o instanceof CycleItem) {
- final CycleItem another = (CycleItem) o;
- return start == another.start && end == another.end;
- }
- return false;
- }
-
- @Override
- public int compareTo(CycleItem another) {
- return Long.compare(start, another.start);
- }
- }
-
- private static final StringBuilder sBuilder = new StringBuilder(50);
- private static final java.util.Formatter sFormatter = new java.util.Formatter(
- sBuilder, Locale.getDefault());
-
- public static String formatDateRange(Context context, long start, long end) {
- final int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_MONTH;
-
- synchronized (sBuilder) {
- sBuilder.setLength(0);
- return DateUtils.formatDateRange(context, sFormatter, start, end, flags, null)
- .toString();
- }
- }
-
- /**
- * Special-case data usage cycle that triggers dialog to change
- * {@link NetworkPolicy#cycleDay}.
- */
- public static class CycleChangeItem extends CycleItem {
- public CycleChangeItem(Context context) {
- super(context.getString(R.string.data_usage_change_cycle));
- }
- }
-
- public static class CycleAdapter extends ArrayAdapter<CycleItem> {
- private boolean mChangePossible = false;
- private boolean mChangeVisible = false;
-
- private final CycleChangeItem mChangeItem;
-
- public CycleAdapter(Context context) {
- super(context, R.layout.data_usage_cycle_item);
- setDropDownViewResource(R.layout.data_usage_cycle_item_dropdown);
- mChangeItem = new CycleChangeItem(context);
- }
-
- public void setChangePossible(boolean possible) {
- mChangePossible = possible;
- updateChange();
- }
-
- public void setChangeVisible(boolean visible) {
- mChangeVisible = visible;
- updateChange();
- }
-
- private void updateChange() {
- remove(mChangeItem);
- if (mChangePossible && mChangeVisible) {
- add(mChangeItem);
- }
- }
-
- /**
- * Find position of {@link CycleItem} in this adapter which is nearest
- * the given {@link CycleItem}.
- */
- public int findNearestPosition(CycleItem target) {
- if (target != null) {
- final int count = getCount();
- for (int i = count - 1; i >= 0; i--) {
- final CycleItem item = getItem(i);
- if (item instanceof CycleChangeItem) {
- continue;
- } else if (item.compareTo(target) >= 0) {
- return i;
- }
- }
- }
- return 0;
- }
- }
-
- /**
- * Adapter of applications, sorted by total usage descending.
- */
- public static class DataUsageAdapter extends BaseAdapter {
- private final UidDetailProvider mProvider;
- private final int mInsetSide;
- private final UserManager mUm;
-
- private ArrayList<AppItem> mItems = Lists.newArrayList();
- private long mLargest;
-
- public DataUsageAdapter(final UserManager userManager, UidDetailProvider provider, int insetSide) {
- mProvider = checkNotNull(provider);
- mInsetSide = insetSide;
- mUm = userManager;
- }
-
- /**
- * Bind the given {@link NetworkStats}, or {@code null} to clear list.
- */
- public void bindStats(NetworkStats stats, int[] restrictedUids) {
- mItems.clear();
- mLargest = 0;
-
- final int currentUserId = ActivityManager.getCurrentUser();
- final List<UserHandle> profiles = mUm.getUserProfiles();
- final SparseArray<AppItem> knownItems = new SparseArray<AppItem>();
-
- NetworkStats.Entry entry = null;
- final int size = stats != null ? stats.size() : 0;
- for (int i = 0; i < size; i++) {
- entry = stats.getValues(i, entry);
-
- // Decide how to collapse items together
- final int uid = entry.uid;
-
- final int collapseKey;
- final int category;
- final int userId = UserHandle.getUserId(uid);
- if (UserHandle.isApp(uid)) {
- if (profiles.contains(new UserHandle(userId))) {
- if (userId != currentUserId) {
- // Add to a managed user item.
- final int managedKey = UidDetailProvider.buildKeyForUser(userId);
- accumulate(managedKey, knownItems, entry,
- AppItem.CATEGORY_USER);
- }
- // Add to app item.
- collapseKey = uid;
- category = AppItem.CATEGORY_APP;
- } else {
- // If it is a removed user add it to the removed users' key
- final UserInfo info = mUm.getUserInfo(userId);
- if (info == null) {
- collapseKey = UID_REMOVED;
- category = AppItem.CATEGORY_APP;
- } else {
- // Add to other user item.
- collapseKey = UidDetailProvider.buildKeyForUser(userId);
- category = AppItem.CATEGORY_USER;
- }
- }
- } else if (uid == UID_REMOVED || uid == UID_TETHERING) {
- collapseKey = uid;
- category = AppItem.CATEGORY_APP;
- } else {
- collapseKey = android.os.Process.SYSTEM_UID;
- category = AppItem.CATEGORY_APP;
- }
- accumulate(collapseKey, knownItems, entry, category);
- }
-
- final int restrictedUidsMax = restrictedUids.length;
- for (int i = 0; i < restrictedUidsMax; ++i) {
- final int uid = restrictedUids[i];
- // Only splice in restricted state for current user or managed users
- if (!profiles.contains(new UserHandle(UserHandle.getUserId(uid)))) {
- continue;
- }
-
- AppItem item = knownItems.get(uid);
- if (item == null) {
- item = new AppItem(uid);
- item.total = -1;
- mItems.add(item);
- knownItems.put(item.key, item);
- }
- item.restricted = true;
- }
-
- if (!mItems.isEmpty()) {
- final AppItem title = new AppItem();
- title.category = AppItem.CATEGORY_APP_TITLE;
- mItems.add(title);
- }
-
- Collections.sort(mItems);
- notifyDataSetChanged();
- }
-
- /**
- * Accumulate data usage of a network stats entry for the item mapped by the collapse key.
- * Creates the item if needed.
- *
- * @param collapseKey the collapse key used to map the item.
- * @param knownItems collection of known (already existing) items.
- * @param entry the network stats entry to extract data usage from.
- * @param itemCategory the item is categorized on the list view by this category. Must be
- * either AppItem.APP_ITEM_CATEGORY or AppItem.MANAGED_USER_ITEM_CATEGORY
- */
- private void accumulate(int collapseKey, final SparseArray<AppItem> knownItems,
- NetworkStats.Entry entry, int itemCategory) {
- final int uid = entry.uid;
- AppItem item = knownItems.get(collapseKey);
- if (item == null) {
- item = new AppItem(collapseKey);
- item.category = itemCategory;
- mItems.add(item);
- knownItems.put(item.key, item);
- }
- item.addUid(uid);
- item.total += entry.rxBytes + entry.txBytes;
- if (mLargest < item.total) {
- mLargest = item.total;
- }
- }
-
- @Override
- public int getCount() {
- return mItems.size();
- }
-
- @Override
- public Object getItem(int position) {
- return mItems.get(position);
- }
-
- @Override
- public long getItemId(int position) {
- return mItems.get(position).key;
- }
-
- /**
- * See {@link #getItemViewType} for the view types.
- */
- @Override
- public int getViewTypeCount() {
- return 2;
- }
-
- /**
- * Returns 1 for separator items and 0 for anything else.
- */
- @Override
- public int getItemViewType(int position) {
- final AppItem item = mItems.get(position);
- if (item.category == AppItem.CATEGORY_APP_TITLE) {
- return 1;
- } else {
- return 0;
- }
- }
-
- @Override
- public boolean areAllItemsEnabled() {
- return false;
- }
-
- @Override
- public boolean isEnabled(int position) {
- if (position > mItems.size()) {
- throw new ArrayIndexOutOfBoundsException();
- }
- return getItemViewType(position) == 0;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- final AppItem item = mItems.get(position);
- LayoutInflater inflater = LayoutInflater.from(parent.getContext());
- if (getItemViewType(position) == 1) {
- if (convertView == null) {
- convertView = Utils.inflateCategoryHeader(inflater, parent);
- }
-
- final TextView title = (TextView) convertView.findViewById(android.R.id.title);
- title.setText(R.string.data_usage_app);
-
- } else {
- if (convertView == null) {
- convertView = inflater.inflate(R.layout.data_usage_item, parent, false);
- inflater.inflate(R.layout.widget_progress_bar,
- (ViewGroup) convertView.findViewById(android.R.id.widget_frame));
-
- if (mInsetSide > 0) {
- convertView.setPaddingRelative(mInsetSide, 0, mInsetSide, 0);
- }
- }
-
- final Context context = parent.getContext();
-
- final TextView summary = (TextView) convertView.findViewById(android.R.id.summary);
- final ProgressBar progress = (ProgressBar) convertView.findViewById(
- android.R.id.progress);
-
- // kick off async load of app details
- UidDetailTask.bindView(mProvider, item, convertView);
-
- if (item.restricted && item.total <= 0) {
- summary.setText(R.string.data_usage_app_restricted);
- progress.setVisibility(View.GONE);
- } else {
- summary.setText(Formatter.formatFileSize(context, item.total));
- progress.setVisibility(View.VISIBLE);
- }
-
- final int percentTotal = mLargest != 0 ? (int) (item.total * 100 / mLargest) : 0;
- progress.setProgress(percentTotal);
- }
-
- return convertView;
- }
- }
-
- /**
- * Empty {@link Fragment} that controls display of UID details in
- * {@link DataUsageSummary}.
- */
- public static class AppDetailsFragment extends Fragment {
- private static final String EXTRA_APP = "app";
-
- public static void show(DataUsageSummary parent, AppItem app, CharSequence label) {
- show(parent, app, label, true);
- }
-
- public static void show(DataUsageSummary parent, AppItem app, CharSequence label,
- boolean addToBack) {
- if (!parent.isAdded()) return;
-
- final Bundle args = new Bundle();
- args.putParcelable(EXTRA_APP, app);
-
- final AppDetailsFragment fragment = new AppDetailsFragment();
- fragment.setArguments(args);
- fragment.setTargetFragment(parent, 0);
- final FragmentTransaction ft = parent.getFragmentManager().beginTransaction();
- ft.add(fragment, TAG_APP_DETAILS);
- if (addToBack) {
- ft.addToBackStack(TAG_APP_DETAILS);
- }
- ft.setBreadCrumbTitle(
- parent.getResources().getString(R.string.data_usage_app_summary_title));
- ft.commitAllowingStateLoss();
- }
-
- @Override
- public void onStart() {
- super.onStart();
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- target.mCurrentApp = getArguments().getParcelable(EXTRA_APP);
- target.updateBody();
- }
-
- @Override
- public void onStop() {
- super.onStop();
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- target.mCurrentApp = null;
- target.updateBody();
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- getFragmentManager().popBackStack();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- }
-
- /**
- * Dialog to request user confirmation before setting
- * {@link NetworkPolicy#limitBytes}.
- */
- public static class ConfirmLimitFragment extends DialogFragment {
- private static final String EXTRA_MESSAGE = "message";
- private static final String EXTRA_LIMIT_BYTES = "limitBytes";
-
- public static void show(DataUsageSummary parent) {
- if (!parent.isAdded()) return;
-
- final NetworkPolicy policy = parent.mPolicyEditor.getPolicy(parent.mTemplate);
- if (policy == null) return;
-
- final Resources res = parent.getResources();
- final CharSequence message;
- final long minLimitBytes = (long) (policy.warningBytes * 1.2f);
- final long limitBytes;
-
- // TODO: customize default limits based on network template
- final String currentTab = parent.mCurrentTab;
- if (TAB_3G.equals(currentTab)) {
- message = res.getString(R.string.data_usage_limit_dialog_mobile);
- limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
- } else if (TAB_4G.equals(currentTab)) {
- message = res.getString(R.string.data_usage_limit_dialog_mobile);
- limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
- } else if (isMobileTab(currentTab)) {
- message = res.getString(R.string.data_usage_limit_dialog_mobile);
- limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
- } else {
- throw new IllegalArgumentException("unknown current tab: " + currentTab);
- }
-
- final Bundle args = new Bundle();
- args.putCharSequence(EXTRA_MESSAGE, message);
- args.putLong(EXTRA_LIMIT_BYTES, limitBytes);
-
- final ConfirmLimitFragment dialog = new ConfirmLimitFragment();
- dialog.setArguments(args);
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_CONFIRM_LIMIT);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
-
- final CharSequence message = getArguments().getCharSequence(EXTRA_MESSAGE);
- final long limitBytes = getArguments().getLong(EXTRA_LIMIT_BYTES);
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setTitle(R.string.data_usage_limit_dialog_title);
- builder.setMessage(message);
-
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- if (target != null) {
- target.setPolicyLimitBytes(limitBytes);
- }
- }
- });
-
- return builder.create();
- }
- }
-
- /**
- * Dialog to edit {@link NetworkPolicy#cycleDay}.
- */
- public static class CycleEditorFragment extends DialogFragment {
- private static final String EXTRA_TEMPLATE = "template";
-
- public static void show(DataUsageSummary parent) {
- if (!parent.isAdded()) return;
-
- final Bundle args = new Bundle();
- args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);
-
- final CycleEditorFragment dialog = new CycleEditorFragment();
- dialog.setArguments(args);
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_CYCLE_EDITOR);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- final NetworkPolicyEditor editor = target.mPolicyEditor;
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
-
- final View view = dialogInflater.inflate(R.layout.data_usage_cycle_editor, null, false);
- final NumberPicker cycleDayPicker = (NumberPicker) view.findViewById(R.id.cycle_day);
-
- final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
- final int cycleDay = editor.getPolicyCycleDay(template);
-
- cycleDayPicker.setMinValue(1);
- cycleDayPicker.setMaxValue(31);
- cycleDayPicker.setValue(cycleDay);
- cycleDayPicker.setWrapSelectorWheel(true);
-
- builder.setTitle(R.string.data_usage_cycle_editor_title);
- builder.setView(view);
-
- builder.setPositiveButton(R.string.data_usage_cycle_editor_positive,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // clear focus to finish pending text edits
- cycleDayPicker.clearFocus();
-
- final int cycleDay = cycleDayPicker.getValue();
- final String cycleTimezone = new Time().timezone;
- editor.setPolicyCycleDay(template, cycleDay, cycleTimezone);
- target.updatePolicy(true);
- }
- });
-
- return builder.create();
- }
- }
-
- /**
- * Dialog to edit {@link NetworkPolicy#warningBytes}.
- */
- public static class WarningEditorFragment extends DialogFragment {
- private static final String EXTRA_TEMPLATE = "template";
-
- public static void show(DataUsageSummary parent) {
- if (!parent.isAdded()) return;
-
- final Bundle args = new Bundle();
- args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);
-
- final WarningEditorFragment dialog = new WarningEditorFragment();
- dialog.setArguments(args);
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_WARNING_EDITOR);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- final NetworkPolicyEditor editor = target.mPolicyEditor;
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
-
- final View view = dialogInflater.inflate(R.layout.data_usage_bytes_editor, null, false);
- final NumberPicker bytesPicker = (NumberPicker) view.findViewById(R.id.bytes);
-
- final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
- final long warningBytes = editor.getPolicyWarningBytes(template);
- final long limitBytes = editor.getPolicyLimitBytes(template);
-
- bytesPicker.setMinValue(0);
- if (limitBytes != LIMIT_DISABLED) {
- bytesPicker.setMaxValue((int) (limitBytes / MB_IN_BYTES) - 1);
- } else {
- bytesPicker.setMaxValue(Integer.MAX_VALUE);
- }
- bytesPicker.setValue((int) (warningBytes / MB_IN_BYTES));
- bytesPicker.setWrapSelectorWheel(false);
-
- builder.setTitle(R.string.data_usage_warning_editor_title);
- builder.setView(view);
-
- builder.setPositiveButton(R.string.data_usage_cycle_editor_positive,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // clear focus to finish pending text edits
- bytesPicker.clearFocus();
-
- final long bytes = bytesPicker.getValue() * MB_IN_BYTES;
- editor.setPolicyWarningBytes(template, bytes);
- target.updatePolicy(false);
- }
- });
-
- return builder.create();
- }
- }
-
- /**
- * Dialog to edit {@link NetworkPolicy#limitBytes}.
- */
- public static class LimitEditorFragment extends DialogFragment {
- private static final String EXTRA_TEMPLATE = "template";
-
- public static void show(DataUsageSummary parent) {
- if (!parent.isAdded()) return;
-
- final Bundle args = new Bundle();
- args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);
-
- final LimitEditorFragment dialog = new LimitEditorFragment();
- dialog.setArguments(args);
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_LIMIT_EDITOR);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- final NetworkPolicyEditor editor = target.mPolicyEditor;
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
-
- final View view = dialogInflater.inflate(R.layout.data_usage_bytes_editor, null, false);
- final NumberPicker bytesPicker = (NumberPicker) view.findViewById(R.id.bytes);
-
- final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
- final long warningBytes = editor.getPolicyWarningBytes(template);
- final long limitBytes = editor.getPolicyLimitBytes(template);
-
- bytesPicker.setMaxValue(Integer.MAX_VALUE);
- if (warningBytes != WARNING_DISABLED && limitBytes > 0) {
- bytesPicker.setMinValue((int) (warningBytes / MB_IN_BYTES) + 1);
- } else {
- bytesPicker.setMinValue(0);
- }
- bytesPicker.setValue((int) (limitBytes / MB_IN_BYTES));
- bytesPicker.setWrapSelectorWheel(false);
-
- builder.setTitle(R.string.data_usage_limit_editor_title);
- builder.setView(view);
-
- builder.setPositiveButton(R.string.data_usage_cycle_editor_positive,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // clear focus to finish pending text edits
- bytesPicker.clearFocus();
-
- final long bytes = bytesPicker.getValue() * MB_IN_BYTES;
- editor.setPolicyLimitBytes(template, bytes);
- target.updatePolicy(false);
- }
- });
-
- return builder.create();
- }
- }
- /**
- * Dialog to request user confirmation before disabling data.
- */
- public static class ConfirmDataDisableFragment extends DialogFragment {
- static int mSubId;
- public static void show(DataUsageSummary parent, int subId) {
- mSubId = subId;
- if (!parent.isAdded()) return;
-
- final ConfirmDataDisableFragment dialog = new ConfirmDataDisableFragment();
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_CONFIRM_DATA_DISABLE);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setMessage(R.string.data_usage_disable_mobile);
-
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- if (target != null) {
- // TODO: extend to modify policy enabled flag.
- target.setMobileDataEnabled(mSubId, false);
- }
- }
- });
- builder.setNegativeButton(android.R.string.cancel, null);
-
- return builder.create();
- }
- }
-
- /**
- * Dialog to request user confirmation before setting
- * {@link INetworkPolicyManager#setRestrictBackground(boolean)}.
- */
- public static class ConfirmRestrictFragment extends DialogFragment {
- public static void show(DataUsageSummary parent) {
- if (!parent.isAdded()) return;
-
- final ConfirmRestrictFragment dialog = new ConfirmRestrictFragment();
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_CONFIRM_RESTRICT);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setTitle(R.string.data_usage_restrict_background_title);
- if (Utils.hasMultipleUsers(context)) {
- builder.setMessage(R.string.data_usage_restrict_background_multiuser);
- } else {
- builder.setMessage(R.string.data_usage_restrict_background);
- }
-
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- if (target != null) {
- target.setRestrictBackground(true);
- }
- }
- });
- builder.setNegativeButton(android.R.string.cancel, null);
-
- return builder.create();
- }
- }
-
- /**
- * Dialog to inform user that {@link #POLICY_REJECT_METERED_BACKGROUND}
- * change has been denied, usually based on
- * {@link DataUsageSummary#hasLimitedNetworks()}.
- */
- public static class DeniedRestrictFragment extends DialogFragment {
- public static void show(DataUsageSummary parent) {
- if (!parent.isAdded()) return;
-
- final DeniedRestrictFragment dialog = new DeniedRestrictFragment();
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_DENIED_RESTRICT);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setTitle(R.string.data_usage_app_restrict_background);
- builder.setMessage(R.string.data_usage_restrict_denied_dialog);
- builder.setPositiveButton(android.R.string.ok, null);
-
- return builder.create();
- }
- }
-
- /**
- * Dialog to request user confirmation before setting
- * {@link #POLICY_REJECT_METERED_BACKGROUND}.
- */
- public static class ConfirmAppRestrictFragment extends DialogFragment {
- public static void show(DataUsageSummary parent) {
- if (!parent.isAdded()) return;
-
- final ConfirmAppRestrictFragment dialog = new ConfirmAppRestrictFragment();
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_CONFIRM_APP_RESTRICT);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setTitle(R.string.data_usage_app_restrict_dialog_title);
- builder.setMessage(R.string.data_usage_app_restrict_dialog);
-
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
- if (target != null) {
- target.setAppRestrictBackground(true);
- }
- }
- });
- builder.setNegativeButton(android.R.string.cancel, null);
-
- return builder.create();
- }
- }
-
- /**
- * Compute default tab that should be selected, based on
- * {@link NetworkPolicyManager#EXTRA_NETWORK_TEMPLATE} extra.
- */
- private static String computeTabFromIntent(Intent intent) {
- final NetworkTemplate template = intent.getParcelableExtra(EXTRA_NETWORK_TEMPLATE);
- if (template == null) {
- final int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
- SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- if (SubscriptionManager.isValidSubscriptionId(subId)) {
- return TAB_MOBILE + String.valueOf(subId);
- }
- return null;
- }
-
- switch (template.getMatchRule()) {
- case MATCH_MOBILE_3G_LOWER:
- return TAB_3G;
- case MATCH_MOBILE_4G:
- return TAB_4G;
- case MATCH_MOBILE_ALL:
- return TAB_MOBILE;
- case MATCH_WIFI:
- return TAB_WIFI;
- default:
- return null;
- }
- }
-
- /**
- * Background task that loads {@link UidDetail}, binding to
- * {@link DataUsageAdapter} row item when finished.
- */
- private static class UidDetailTask extends AsyncTask<Void, Void, UidDetail> {
- private final UidDetailProvider mProvider;
- private final AppItem mItem;
- private final View mTarget;
-
- private UidDetailTask(UidDetailProvider provider, AppItem item, View target) {
- mProvider = checkNotNull(provider);
- mItem = checkNotNull(item);
- mTarget = checkNotNull(target);
- }
-
- public static void bindView(
- UidDetailProvider provider, AppItem item, View target) {
- final UidDetailTask existing = (UidDetailTask) target.getTag();
- if (existing != null) {
- existing.cancel(false);
- }
-
- final UidDetail cachedDetail = provider.getUidDetail(item.key, false);
- if (cachedDetail != null) {
- bindView(cachedDetail, target);
- } else {
- target.setTag(new UidDetailTask(provider, item, target).executeOnExecutor(
- AsyncTask.THREAD_POOL_EXECUTOR));
- }
- }
-
- private static void bindView(UidDetail detail, View target) {
- final ImageView icon = (ImageView) target.findViewById(android.R.id.icon);
- final TextView title = (TextView) target.findViewById(android.R.id.title);
-
- if (detail != null) {
- icon.setImageDrawable(detail.icon);
- title.setText(detail.label);
- title.setContentDescription(detail.contentDescription);
- } else {
- icon.setImageDrawable(null);
- title.setText(null);
- }
- }
-
- @Override
- protected void onPreExecute() {
- bindView(null, mTarget);
- }
-
- @Override
- protected UidDetail doInBackground(Void... params) {
- return mProvider.getUidDetail(mItem.key, true);
- }
-
- @Override
- protected void onPostExecute(UidDetail result) {
- bindView(result, mTarget);
- }
- }
-
- /**
- * Test if device has a mobile data radio with SIM in ready state.
- */
- public static boolean hasReadyMobileRadio(Context context) {
- if (TEST_RADIOS) {
- return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
- }
-
- final ConnectivityManager conn = ConnectivityManager.from(context);
- final TelephonyManager tele = TelephonyManager.from(context);
-
- final List<SubscriptionInfo> subInfoList =
- SubscriptionManager.from(context).getActiveSubscriptionInfoList();
- // No activated Subscriptions
- if (subInfoList == null) {
- if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfoList=null");
- return false;
- }
- // require both supported network and ready SIM
- boolean isReady = true;
- for (SubscriptionInfo subInfo : subInfoList) {
- isReady = isReady & tele.getSimState(subInfo.getSimSlotIndex()) == SIM_STATE_READY;
- if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfo=" + subInfo);
- }
- boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
- if (LOGD) {
- Log.d(TAG, "hasReadyMobileRadio:"
- + " conn.isNetworkSupported(TYPE_MOBILE)="
- + conn.isNetworkSupported(TYPE_MOBILE)
- + " isReady=" + isReady);
- }
- return retVal;
- }
-
- /*
- * TODO: consider adding to TelephonyManager or SubscritpionManager.
- */
- public static boolean hasReadyMobileRadio(Context context, int subId) {
- if (TEST_RADIOS) {
- return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
- }
-
- final ConnectivityManager conn = ConnectivityManager.from(context);
- final TelephonyManager tele = TelephonyManager.from(context);
- final int slotId = SubscriptionManager.getSlotId(subId);
- final boolean isReady = tele.getSimState(slotId) == SIM_STATE_READY;
-
- boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
- if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subId=" + subId
- + " conn.isNetworkSupported(TYPE_MOBILE)=" + conn.isNetworkSupported(TYPE_MOBILE)
- + " isReady=" + isReady);
- return retVal;
- }
-
- /**
- * Test if device has a mobile 4G data radio.
- */
- public static boolean hasReadyMobile4gRadio(Context context) {
- if (!NetworkPolicyEditor.ENABLE_SPLIT_POLICIES) {
- return false;
- }
- if (TEST_RADIOS) {
- return SystemProperties.get(TEST_RADIOS_PROP).contains("4g");
- }
-
- final ConnectivityManager conn = ConnectivityManager.from(context);
- final TelephonyManager tele = TelephonyManager.from(context);
-
- final boolean hasWimax = conn.isNetworkSupported(TYPE_WIMAX);
- final boolean hasLte = (tele.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE)
- && hasReadyMobileRadio(context);
- return hasWimax || hasLte;
- }
-
- /**
- * Test if device has a Wi-Fi data radio.
- */
- public static boolean hasWifiRadio(Context context) {
- if (TEST_RADIOS) {
- return SystemProperties.get(TEST_RADIOS_PROP).contains("wifi");
- }
-
- final ConnectivityManager conn = ConnectivityManager.from(context);
- return conn.isNetworkSupported(TYPE_WIFI);
- }
-
- /**
- * Test if device has an ethernet network connection.
- */
- public boolean hasEthernet(Context context) {
- if (TEST_RADIOS) {
- return SystemProperties.get(TEST_RADIOS_PROP).contains("ethernet");
- }
-
- final ConnectivityManager conn = ConnectivityManager.from(context);
- final boolean hasEthernet = conn.isNetworkSupported(TYPE_ETHERNET);
-
- final long ethernetBytes;
- if (mStatsSession != null) {
- try {
- ethernetBytes = mStatsSession.getSummaryForNetwork(
- NetworkTemplate.buildTemplateEthernet(), Long.MIN_VALUE, Long.MAX_VALUE)
- .getTotalBytes();
- } catch (RemoteException e) {
- throw new RuntimeException(e);
- }
- } else {
- ethernetBytes = 0;
- }
-
- // only show ethernet when both hardware present and traffic has occurred
- return hasEthernet && ethernetBytes > 0;
- }
-
- /**
- * Inflate a {@link Preference} style layout, adding the given {@link View}
- * widget into {@link android.R.id#widget_frame}.
- */
- private static View inflatePreference(LayoutInflater inflater, ViewGroup root, View widget) {
- final View view = inflater.inflate(R.layout.preference, root, false);
- final LinearLayout widgetFrame = (LinearLayout) view.findViewById(
- android.R.id.widget_frame);
- widgetFrame.addView(widget, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
- return view;
- }
-
- /**
- * Test if any networks are currently limited.
- */
- private boolean hasLimitedNetworks() {
- return !buildLimitedNetworksList().isEmpty();
- }
-
- /**
- * Build string describing currently limited networks, which defines when
- * background data is restricted.
- */
- @Deprecated
- private CharSequence buildLimitedNetworksString() {
- final List<CharSequence> limited = buildLimitedNetworksList();
-
- // handle case where no networks limited
- if (limited.isEmpty()) {
- limited.add(getText(R.string.data_usage_list_none));
- }
-
- final ICUResourceBundle icuBundle = (ICUResourceBundle) UResourceBundle.
- getBundleInstance(ICUResourceBundle.ICU_BASE_NAME);
- final String listMiddlePattern =
- icuBundle.getStringWithFallback("listPattern/standard/middle");
- // The returned pattern is something like "{0}, {1}", from which we want
- // to extract the ", " part.
- final int firstClosingBrace = listMiddlePattern.indexOf('}');
- final int lastOpeningBrace = listMiddlePattern.lastIndexOf('{');
- final CharSequence delimiter = listMiddlePattern.substring(
- firstClosingBrace+1, lastOpeningBrace);
-
- return TextUtils.join(delimiter, limited);
- }
-
- /**
- * Build list of currently limited networks, which defines when background
- * data is restricted.
- */
- @Deprecated
- private List<CharSequence> buildLimitedNetworksList() {
- final Context context = getActivity();
-
- // build combined list of all limited networks
- final ArrayList<CharSequence> limited = Lists.newArrayList();
-
- final TelephonyManager tele = TelephonyManager.from(context);
- if (tele.getSimState() == SIM_STATE_READY) {
- final String subscriberId = getActiveSubscriberId(context);
- if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobileAll(subscriberId))) {
- limited.add(getText(R.string.data_usage_list_mobile));
- }
- if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile3gLower(subscriberId))) {
- limited.add(getText(R.string.data_usage_tab_3g));
- }
- if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile4g(subscriberId))) {
- limited.add(getText(R.string.data_usage_tab_4g));
- }
- }
-
- if (mPolicyEditor.hasLimitedPolicy(buildTemplateWifiWildcard())) {
- limited.add(getText(R.string.data_usage_tab_wifi));
- }
- if (mPolicyEditor.hasLimitedPolicy(buildTemplateEthernet())) {
- limited.add(getText(R.string.data_usage_tab_ethernet));
- }
-
- return limited;
- }
-
- /**
- * Inset both selector and divider {@link Drawable} on the given
- * {@link ListView} by the requested dimensions.
- */
- private static void insetListViewDrawables(ListView view, int insetSide) {
- final Drawable selector = view.getSelector();
- final Drawable divider = view.getDivider();
-
- // fully unregister these drawables so callbacks can be maintained after
- // wrapping below.
- final Drawable stub = new ColorDrawable(Color.TRANSPARENT);
- view.setSelector(stub);
- view.setDivider(stub);
-
- view.setSelector(new InsetBoundsDrawable(selector, insetSide));
- view.setDivider(new InsetBoundsDrawable(divider, insetSide));
- }
-
- /**
- * Set {@link android.R.id#title} for a preference view inflated with
- * {@link #inflatePreference(LayoutInflater, ViewGroup, View)}.
- */
- private static void setPreferenceTitle(View parent, int resId) {
- final TextView title = (TextView) parent.findViewById(android.R.id.title);
- title.setText(resId);
- }
-
- /**
- * Set {@link android.R.id#summary} for a preference view inflated with
- * {@link #inflatePreference(LayoutInflater, ViewGroup, View)}.
- */
- private static void setPreferenceSummary(View parent, CharSequence string) {
- final TextView summary = (TextView) parent.findViewById(android.R.id.summary);
- summary.setVisibility(View.VISIBLE);
- summary.setText(string);
- }
-
- private void addMobileTab(Context context, SubscriptionInfo subInfo, boolean isMultiSim) {
- if (subInfo != null && mMobileTagMap != null) {
- if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
- if (isMultiSim) {
- mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
- subInfo.getDisplayName()));
- } else {
- mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
- R.string.data_usage_tab_mobile));
- }
- }
- } else {
- if (LOGD) Log.d(TAG, "addMobileTab: subInfoList is null");
- }
- }
-
- private SubscriptionInfo getCurrentTabSubInfo(Context context) {
- if (mSubInfoList != null && mTabHost != null) {
- final int currentTagIndex = mTabHost.getCurrentTab();
- int i = 0;
- for (SubscriptionInfo subInfo : mSubInfoList) {
- if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
- if (i++ == currentTagIndex) {
- return subInfo;
- }
- }
- }
- }
- return null;
- }
-
- /**
- * Init a map with subId key and mobile tag name
- * @param subInfoList The subscription Info List
- * @return The map or null if no activated subscription
- */
- private Map<Integer, String> initMobileTabTag(List<SubscriptionInfo> subInfoList) {
- Map<Integer, String> map = null;
- if (subInfoList != null) {
- String mobileTag;
- map = new HashMap<Integer, String>();
- for (SubscriptionInfo subInfo : subInfoList) {
- mobileTag = TAB_MOBILE + String.valueOf(subInfo.getSubscriptionId());
- map.put(subInfo.getSubscriptionId(), mobileTag);
- }
- }
- return map;
- }
-
- private static boolean isMobileTab(String currentTab) {
- return currentTab != null ? currentTab.contains(TAB_MOBILE) : false;
- }
-
- private int getSubId(String currentTab) {
- if (mMobileTagMap != null) {
- Set<Integer> set = mMobileTagMap.keySet();
- for (Integer subId : set) {
- if (mMobileTagMap.get(subId).equals(currentTab)) {
- return subId;
- }
- }
- }
- Log.e(TAG, "currentTab = " + currentTab + " non mobile tab called this function");
- return -1;
- }
-
- private boolean isMobileDataAvailable(int subId) {
- return mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
- }
-
- private static class SummaryProvider
- implements SummaryLoader.SummaryProvider {
-
- private final Activity mActivity;
- private final SummaryLoader mSummaryLoader;
- private final MobileDataController mDataController;
-
- public SummaryProvider(Activity activity, SummaryLoader summaryLoader) {
- mActivity = activity;
- mSummaryLoader = summaryLoader;
- mDataController = new MobileDataController(activity);
- }
-
- @Override
- public void setListening(boolean listening) {
- if (listening) {
- MobileDataController.DataUsageInfo info = mDataController.getDataUsageInfo();
- String used;
- if (info == null) {
- used = Formatter.formatFileSize(mActivity, 0);
- } else if (info.limitLevel <= 0) {
- used = Formatter.formatFileSize(mActivity, info.usageLevel);
- } else {
- used = Utils.formatPercentage(info.usageLevel, info.limitLevel);
- }
- mSummaryLoader.setSummary(this,
- mActivity.getString(R.string.data_usage_summary_format, used));
- }
- }
- }
-
- public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
- = new SummaryLoader.SummaryProviderFactory() {
- @Override
- public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
- SummaryLoader summaryLoader) {
- return new SummaryProvider(activity, summaryLoader);
- }
- };
-
- /**
- * For search
- */
- public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider() {
- @Override
- public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
- final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>();
-
- final Resources res = context.getResources();
-
- // Add fragment title
- SearchIndexableRaw data = new SearchIndexableRaw(context);
- data.title = res.getString(R.string.data_usage_summary_title);
- data.screenTitle = res.getString(R.string.data_usage_summary_title);
- result.add(data);
-
- // Mobile data
- data = new SearchIndexableRaw(context);
- data.key = DATA_USAGE_ENABLE_MOBILE_KEY;
- data.title = res.getString(R.string.data_usage_enable_mobile);
- data.screenTitle = res.getString(R.string.data_usage_summary_title);
- result.add(data);
-
- // Set mobile data limit
- data = new SearchIndexableRaw(context);
- data.key = DATA_USAGE_DISABLE_MOBILE_LIMIT_KEY;
- data.title = res.getString(R.string.data_usage_disable_mobile_limit);
- data.screenTitle = res.getString(R.string.data_usage_summary_title);
- result.add(data);
-
- // Data usage cycle
- data = new SearchIndexableRaw(context);
- data.key = DATA_USAGE_CYCLE_KEY;
- data.title = res.getString(R.string.data_usage_cycle);
- data.screenTitle = res.getString(R.string.data_usage_summary_title);
- result.add(data);
-
- return result;
- }
- };
-}
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index d92d610..6602c3e 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -39,11 +39,15 @@
import com.android.internal.logging.MetricsLogger;
import com.android.settings.dashboard.SummaryLoader;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.datetime.ZoneGetter;
import java.util.Calendar;
import java.util.Date;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
public class DateTimeSettings extends SettingsPreferenceFragment
implements OnSharedPreferenceChangeListener,
TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener {
@@ -64,7 +68,7 @@
// have we been launched from the setup wizard?
protected static final String EXTRA_IS_FIRST_RUN = "firstRun";
- private SwitchPreference mAutoTimePref;
+ private RestrictedSwitchPreference mAutoTimePref;
private Preference mTimePref;
private Preference mTime24Pref;
private SwitchPreference mAutoTimeZonePref;
@@ -89,23 +93,17 @@
boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME);
boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE);
- mAutoTimePref = (SwitchPreference) findPreference(KEY_AUTO_TIME);
-
- DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context
- .DEVICE_POLICY_SERVICE);
- if (dpm.getAutoTimeRequired()) {
- mAutoTimePref.setEnabled(false);
-
- // If Settings.Global.AUTO_TIME is false it will be set to true
- // by the device policy manager very soon.
- // Note that this app listens to that change.
- }
+ mAutoTimePref = (RestrictedSwitchPreference) findPreference(KEY_AUTO_TIME);
+ EnforcedAdmin admin = RestrictedLockUtils.checkIfAutoTimeRequired(getActivity());
+ mAutoTimePref.setDisabledByAdmin(admin);
Intent intent = getActivity().getIntent();
boolean isFirstRun = intent.getBooleanExtra(EXTRA_IS_FIRST_RUN, false);
mDummyDate = Calendar.getInstance();
+ // If device admin requires auto time device policy manager will set
+ // Settings.Global.AUTO_TIME to true. Note that this app listens to that change.
mAutoTimePref.setChecked(autoTimeEnabled);
mAutoTimeZonePref = (SwitchPreference) findPreference(KEY_AUTO_TIME_ZONE);
// Override auto-timezone if it's a wifi-only device or if we're still in setup wizard.
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 34bf00e..b0a685c 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -124,6 +124,7 @@
private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power";
private static final String OPENGL_TRACES_PROPERTY = "debug.egl.trace";
private static final String TUNER_UI_KEY = "tuner_ui";
+ private static final String COLOR_TEMPERATURE_PROPERTY = "persist.sys.debug.color_temp";
private static final String DEBUG_APP_KEY = "debug_app";
private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger";
@@ -177,6 +178,7 @@
private static final String KEY_COLOR_MODE = "color_mode";
private static final String FORCE_RESIZABLE_KEY = "force_resizable_activities";
private static final String ENABLE_FREEFORM_SUPPORT_KEY = "enable_freeform_support";
+ private static final String COLOR_TEMPERATURE_KEY = "color_temperature";
private static final String INACTIVE_APPS_KEY = "inactive_apps";
@@ -201,6 +203,7 @@
private static final int RESULT_MOCK_LOCATION_APP = 1001;
private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst";
+ private static final String FLASH_LOCKED_PROP = "ro.boot.flash.locked";
private static final int REQUEST_CODE_ENABLE_OEM_UNLOCK = 0;
@@ -285,6 +288,8 @@
private SwitchPreference mEnableFreeformSupport;
+ private SwitchPreference mColorTemperaturePreference;
+
private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();
private final ArrayList<SwitchPreference> mResetSwitchPrefs
@@ -480,6 +485,15 @@
mColorModePreference = null;
}
updateWebViewProviderOptions();
+
+ mColorTemperaturePreference = (SwitchPreference) findPreference(COLOR_TEMPERATURE_KEY);
+ if (getResources().getBoolean(R.bool.config_enableColorTemperature)) {
+ mAllPrefs.add(mColorTemperaturePreference);
+ mResetSwitchPrefs.add(mColorTemperaturePreference);
+ } else {
+ removePreference(COLOR_TEMPERATURE_KEY);
+ mColorTemperaturePreference = null;
+ }
}
private ListPreference addListPreference(String prefKey) {
@@ -690,6 +704,10 @@
updateForceResizableOptions();
updateEnableFreeformWindowsSupportOptions();
updateWebViewProviderOptions();
+ updateOemUnlockOptions();
+ if (mColorTemperaturePreference != null) {
+ updateColorTemperature();
+ }
}
private void resetDangerousOptions() {
@@ -951,6 +969,17 @@
return !SystemProperties.get(PERSISTENT_DATA_BLOCK_PROP).equals("");
}
+ private static boolean enableOemUnlockPreference() {
+ String flashLocked = SystemProperties.get(FLASH_LOCKED_PROP);
+ return !"0".equals(flashLocked);
+ }
+
+ private void updateOemUnlockOptions() {
+ if (mEnableOemUnlock != null) {
+ mEnableOemUnlock.setEnabled(enableOemUnlockPreference());
+ }
+ }
+
private void updateBugreportOptions() {
mBugreport.setEnabled(true);
mBugreportInPower.setEnabled(true);
@@ -1257,6 +1286,17 @@
}
}
+ private void updateColorTemperature() {
+ updateSwitchPreference(mColorTemperaturePreference,
+ SystemProperties.getBoolean(COLOR_TEMPERATURE_PROPERTY, false));
+ }
+
+ private void writeColorTemperature() {
+ SystemProperties.set(COLOR_TEMPERATURE_PROPERTY,
+ mColorTemperaturePreference.isChecked() ? "1" : "0");
+ pokeSystemProperties();
+ }
+
private void updateUSBAudioOptions() {
updateSwitchPreference(mUSBAudio, Settings.Secure.getInt(getContentResolver(),
Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED, 0) != 0);
@@ -1762,12 +1802,12 @@
} else if (preference == mBtHciSnoopLog) {
writeBtHciSnoopLogOptions();
} else if (preference == mEnableOemUnlock) {
- if (!showKeyguardConfirmation(getResources(), REQUEST_CODE_ENABLE_OEM_UNLOCK)) {
- if (mEnableOemUnlock.isChecked()) {
+ if (mEnableOemUnlock.isChecked()) {
+ if (!showKeyguardConfirmation(getResources(), REQUEST_CODE_ENABLE_OEM_UNLOCK)) {
confirmEnableOemUnlock();
- } else {
- Utils.setOemUnlockEnabled(getActivity(), false);
}
+ } else {
+ Utils.setOemUnlockEnabled(getActivity(), false);
}
} else if (preference == mMockLocationAppPref) {
Intent intent = new Intent(getActivity(), AppPicker.class);
@@ -1830,6 +1870,8 @@
writeLegacyDhcpClientOptions();
} else if (preference == mMobileDataAlwaysOn) {
writeMobileDataAlwaysOnOptions();
+ } else if (preference == mColorTemperaturePreference) {
+ writeColorTemperature();
} else if (preference == mUSBAudio) {
writeUSBAudioOptions();
} else if (preference == mForceResizable) {
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 95f1a83..05bcec1 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -25,6 +25,7 @@
import android.os.SELinux;
import android.os.SystemClock;
import android.os.SystemProperties;
+import android.os.UserHandle;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
@@ -41,11 +42,14 @@
import com.android.settings.search.Index;
import com.android.settings.search.Indexable;
import com.android.settingslib.DeviceInfoUtils;
+import com.android.settingslib.RestrictedLockUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
public class DeviceInfoSettings extends SettingsPreferenceFragment implements Indexable {
private static final String LOG_TAG = "DeviceInfoSettings";
@@ -76,6 +80,9 @@
private UserManager mUm;
+ private EnforcedAdmin mFunDisallowedAdmin;
+ private EnforcedAdmin mDebuggingFeaturesDisallowedAdmin;
+
@Override
protected int getMetricsCategory() {
return MetricsLogger.DEVICEINFO;
@@ -183,6 +190,10 @@
Context.MODE_PRIVATE).getBoolean(DevelopmentSettings.PREF_SHOW,
android.os.Build.TYPE.equals("eng")) ? -1 : TAPS_TO_BE_A_DEVELOPER;
mDevHitToast = null;
+ mFunDisallowedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(
+ getActivity(), UserManager.DISALLOW_FUN, UserHandle.myUserId());
+ mDebuggingFeaturesDisallowedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(
+ getActivity(), UserManager.DISALLOW_DEBUGGING_FEATURES, UserHandle.myUserId());
}
@Override
@@ -191,7 +202,9 @@
System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
mHits[mHits.length-1] = SystemClock.uptimeMillis();
if (mHits[0] >= (SystemClock.uptimeMillis()-500)) {
- if (mUm.hasUserRestriction(UserManager.DISALLOW_FUN)) {
+ if (mFunDisallowedAdmin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(),
+ mFunDisallowedAdmin);
Log.d(LOG_TAG, "Sorry, no fun for you!");
return false;
}
@@ -215,7 +228,11 @@
return true;
}
- if (mUm.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)) return true;
+ if (mDebuggingFeaturesDisallowedAdmin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(),
+ mDebuggingFeaturesDisallowedAdmin);
+ return true;
+ }
if (mDevHitCountdown > 0) {
mDevHitCountdown--;
diff --git a/src/com/android/settings/DimmableIconPreference.java b/src/com/android/settings/DimmableIconPreference.java
index 57cdc8d..98bf551 100644
--- a/src/com/android/settings/DimmableIconPreference.java
+++ b/src/com/android/settings/DimmableIconPreference.java
@@ -25,16 +25,22 @@
import android.util.AttributeSet;
import android.widget.TextView;
+import com.android.settingslib.RestrictedPreference;
+
/**
* A preference item that can dim the icon when it's disabled, either directly or because its parent
* is disabled.
*/
-public class DimmableIconPreference extends Preference {
+public class DimmableIconPreference extends RestrictedPreference {
private static final int ICON_ALPHA_ENABLED = 255;
private static final int ICON_ALPHA_DISABLED = 102;
private final CharSequence mContentDescription;
+ public DimmableIconPreference(Context context) {
+ this(context, (AttributeSet) null);
+ }
+
public DimmableIconPreference(Context context, AttributeSet attrs) {
super(context, attrs);
mContentDescription = null;
@@ -54,23 +60,12 @@
}
@Override
- public void onParentChanged(Preference parent, boolean disableChild) {
- dimIcon(disableChild);
- super.onParentChanged(parent, disableChild);
- }
-
- @Override
- public void setEnabled(boolean enabled) {
- dimIcon(!enabled);
- super.setEnabled(enabled);
- }
-
- @Override
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
if (!TextUtils.isEmpty(mContentDescription)) {
final TextView titleView = (TextView) view.findViewById(android.R.id.title);
titleView.setContentDescription(mContentDescription);
}
+ dimIcon(!isEnabled());
}
}
diff --git a/src/com/android/settings/HighlightingFragment.java b/src/com/android/settings/HighlightingFragment.java
deleted file mode 100644
index 2d305e7..0000000
--- a/src/com/android/settings/HighlightingFragment.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.view.ViewGroup;
-
-public abstract class HighlightingFragment extends InstrumentedFragment {
-
- private static final String TAG = "HighlightSettingsFragment";
-
- private static final int DELAY_HIGHLIGHT_DURATION_MILLIS = 400;
- private static final String SAVE_HIGHLIGHTED_KEY = "android:view_highlighted";
-
- private String mViewKey;
- private boolean mViewHighlighted = false;
- private Drawable mHighlightDrawable;
-
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
-
- if (icicle != null) {
- mViewHighlighted = icicle.getBoolean(SAVE_HIGHLIGHTED_KEY);
- }
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
-
- outState.putBoolean(SAVE_HIGHLIGHTED_KEY, mViewHighlighted);
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
-
- final Bundle args = getArguments();
- if (args != null) {
- mViewKey = args.getString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY);
- highlightViewIfNeeded();
- }
- }
-
- public void highlightViewIfNeeded() {
- if (!mViewHighlighted &&!TextUtils.isEmpty(mViewKey)) {
- highlightView(mViewKey);
- }
- }
-
- private Drawable getHighlightDrawable() {
- if (mHighlightDrawable == null) {
- mHighlightDrawable = getActivity().getDrawable(R.drawable.preference_highlight);
- }
- return mHighlightDrawable;
- }
-
- private void highlightView(String key) {
- final Drawable highlight = getHighlightDrawable();
-
- // Try locating the View thru its Tag / Key
- final View view = findViewForKey(getView(), key);
- if (view != null ) {
- view.setBackground(highlight);
-
- getView().postDelayed(new Runnable() {
- @Override
- public void run() {
- final int centerX = view.getWidth() / 2;
- final int centerY = view.getHeight() / 2;
- highlight.setHotspot(centerX, centerY);
- view.setPressed(true);
- view.setPressed(false);
- }
- }, DELAY_HIGHLIGHT_DURATION_MILLIS);
-
- mViewHighlighted = true;
- }
- }
-
- private View findViewForKey(View root, String key) {
- if (checkTag(root, key)) {
- return root;
- }
- if (root instanceof ViewGroup) {
- final ViewGroup group = (ViewGroup) root;
- final int count = group.getChildCount();
- for (int n = 0; n < count; n++) {
- final View child = group.getChildAt(n);
- final View view = findViewForKey(child, key);
- if (view != null) {
- return view;
- }
- }
- }
- return null;
- }
-
- private boolean checkTag(View view, String key) {
- final Object tag = view.getTag(R.id.preference_highlight_key);
- if (tag == null || !(tag instanceof String)) {
- return false;
- }
- final String viewKey = (String) tag;
- return (!TextUtils.isEmpty(viewKey) && viewKey.equals(key));
- }
-}
diff --git a/src/com/android/settings/InstrumentedFragment.java b/src/com/android/settings/InstrumentedFragment.java
index 2d39961..bb2f948 100644
--- a/src/com/android/settings/InstrumentedFragment.java
+++ b/src/com/android/settings/InstrumentedFragment.java
@@ -34,6 +34,10 @@
public static final int CONFIGURE_WIFI = UNDECLARED + 4;
public static final int DISPLAY_SCREEN_ZOOM = UNDECLARED + 5;
public static final int ACCESSIBILITY_FONT_SIZE = UNDECLARED + 6;
+ public static final int DATA_USAGE_LIST = UNDECLARED + 7;
+ public static final int BILLING_CYCLE = UNDECLARED + 8;
+ public static final int APP_DATA_USAGE = UNDECLARED + 9;
+ public static final int USER_LOCALE_LIST = UNDECLARED + 10;
/**
* Declare the view of this category.
diff --git a/src/com/android/settings/LocalePicker.java b/src/com/android/settings/LocalePicker.java
deleted file mode 100644
index 950b79c..0000000
--- a/src/com/android/settings/LocalePicker.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ListView;
-
-import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment;
-
-import java.util.Locale;
-
-public class LocalePicker extends com.android.internal.app.LocalePickerWithRegion
- implements com.android.internal.app.LocalePickerWithRegion.LocaleSelectionListener,
- DialogCreatable {
-
- private static final String TAG = "LocalePicker";
-
- private SettingsDialogFragment mDialogFragment;
- private static final int DLG_SHOW_GLOBAL_WARNING = 1;
- private static final String SAVE_TARGET_LOCALE = "locale";
-
- private Locale mTargetLocale;
-
- public LocalePicker() {
- super();
- setLocaleSelectionListener(this);
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (savedInstanceState != null && savedInstanceState.containsKey(SAVE_TARGET_LOCALE)) {
- mTargetLocale = new Locale(savedInstanceState.getString(SAVE_TARGET_LOCALE));
- }
- }
-
- @Override
- public View onCreateView(
- LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- final View view = super.onCreateView(inflater, container, savedInstanceState);
- final ListView list = (ListView) view.findViewById(android.R.id.list);
- Utils.forcePrepareCustomPreferencesList(container, view, list, false);
- return view;
- }
-
- @Override
- public void onLocaleSelected(final Locale locale) {
- if (Utils.hasMultipleUsers(getActivity())) {
- mTargetLocale = locale;
- showDialog(DLG_SHOW_GLOBAL_WARNING);
- } else {
- getActivity().onBackPressed();
- com.android.internal.app.LocalePicker.updateLocale(locale);
- }
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
-
- if (mTargetLocale != null) {
- outState.putString(SAVE_TARGET_LOCALE, mTargetLocale.toString());
- }
- }
-
- protected void showDialog(int dialogId) {
- if (mDialogFragment != null) {
- Log.e(TAG, "Old dialog fragment not null!");
- }
- mDialogFragment = new SettingsDialogFragment(this, dialogId);
- mDialogFragment.show(getActivity().getFragmentManager(), Integer.toString(dialogId));
- }
-
- public Dialog onCreateDialog(final int dialogId) {
- return Utils.buildGlobalChangeWarningDialog(getActivity(),
- R.string.global_locale_change_title,
- new Runnable() {
- public void run() {
- removeDialog(dialogId);
- getActivity().onBackPressed();
- com.android.internal.app.LocalePicker.updateLocale(mTargetLocale);
- }
- }
- );
- }
-
- protected void removeDialog(int dialogId) {
- // mDialogFragment may not be visible yet in parent fragment's onResume().
- // To be able to dismiss dialog at that time, don't check
- // mDialogFragment.isVisible().
- if (mDialogFragment != null && mDialogFragment.getDialogId() == dialogId) {
- mDialogFragment.dismiss();
- }
- mDialogFragment = null;
- }
-}
diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java
index 0735b11..dbceb2b 100644
--- a/src/com/android/settings/PrivacySettings.java
+++ b/src/com/android/settings/PrivacySettings.java
@@ -38,6 +38,7 @@
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.RestrictedPreference;
import java.util.ArrayList;
import java.util.Collection;
@@ -167,6 +168,12 @@
mConfigure.setEnabled(configureEnabled);
mConfigure.setIntent(configIntent);
setConfigureSummary(configSummary);
+
+ RestrictedPreference networkResetPref = (RestrictedPreference) findPreference(
+ NETWORK_RESET);
+ if (networkResetPref != null) {
+ networkResetPref.checkRestrictionAndSetDisabled(UserManager.DISALLOW_NETWORK_RESET);
+ }
}
private void setConfigureSummary(String summary) {
@@ -290,9 +297,5 @@
nonVisibleKeys.add(AUTO_RESTORE);
nonVisibleKeys.add(CONFIGURE_ACCOUNT);
}
- if (UserManager.get(context).hasUserRestriction(
- UserManager.DISALLOW_NETWORK_RESET)) {
- nonVisibleKeys.add(NETWORK_RESET);
- }
}
}
diff --git a/src/com/android/settings/ProfileChallengePreferenceFragment.java b/src/com/android/settings/ProfileChallengePreferenceFragment.java
index 4e3fcfd..676f61f 100644
--- a/src/com/android/settings/ProfileChallengePreferenceFragment.java
+++ b/src/com/android/settings/ProfileChallengePreferenceFragment.java
@@ -128,12 +128,16 @@
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == UNIFY_LOCK_METHOD_REQUEST && resultCode == Activity.RESULT_OK) {
- mLockPatternUtils.clearLock(mProfileUserId);
- mLockPatternUtils.setSeparateProfileChallengeEnabled(mProfileUserId, false);
+ unifyLocks();
return;
}
}
+ private void unifyLocks() {
+ mLockPatternUtils.clearLock(mProfileUserId);
+ mLockPatternUtils.setSeparateProfileChallengeEnabled(mProfileUserId, false);
+ }
+
@Override
public void onResume() {
super.onResume();
@@ -260,6 +264,8 @@
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Bundle args = getArguments();
+ final ProfileChallengePreferenceFragment parentFragment =
+ ((ProfileChallengePreferenceFragment) getParentFragment());
return new AlertDialog.Builder(getActivity())
.setTitle(R.string.lock_settings_profile_unification_dialog_title)
.setMessage(R.string.lock_settings_profile_unification_dialog_body)
@@ -271,9 +277,13 @@
R.string.lock_settings_profile_screen_lock_title);
ChooseLockSettingsHelper helper =
new ChooseLockSettingsHelper(
- getActivity(), getParentFragment());
- helper.launchConfirmationActivity(UNIFY_LOCK_METHOD_REQUEST,
- title, true, args.getInt(ARG_USER_ID));
+ getActivity(), parentFragment);
+ if (!helper.launchConfirmationActivity(
+ UNIFY_LOCK_METHOD_REQUEST,
+ title, true, args.getInt(ARG_USER_ID))) {
+ parentFragment.unifyLocks();
+ parentFragment.createPreferenceHierarchy();
+ }
}
}
)
diff --git a/src/com/android/settings/RestrictedRadioButton.java b/src/com/android/settings/RestrictedRadioButton.java
new file mode 100644
index 0000000..6ff66ba
--- /dev/null
+++ b/src/com/android/settings/RestrictedRadioButton.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.settings;
+
+import android.content.Context;
+import android.graphics.PorterDuff;
+import android.util.AttributeSet;
+import android.widget.RadioButton;
+import android.widget.TextView;
+
+import java.util.List;
+
+import com.android.settingslib.RestrictedLockUtils;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
+public class RestrictedRadioButton extends RadioButton {
+ private Context mContext;
+ private boolean mDisabledByAdmin;
+ private EnforcedAdmin mEnforcedAdmin;
+
+ public RestrictedRadioButton(Context context) {
+ this(context, null);
+ }
+
+ public RestrictedRadioButton(Context context, AttributeSet attrs) {
+ this(context, attrs, com.android.internal.R.attr.radioButtonStyle);
+ }
+
+ public RestrictedRadioButton(Context context, AttributeSet attrs, int defStyleAttr) {
+ this(context, attrs, defStyleAttr, 0);
+ }
+
+ public RestrictedRadioButton(Context context, AttributeSet attrs, int defStyleAttr,
+ int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ mContext = context;
+ }
+
+ @Override
+ public boolean performClick() {
+ if (mDisabledByAdmin) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin);
+ return true;
+ }
+ return super.performClick();
+ }
+
+ public void setDisabledByAdmin(EnforcedAdmin admin) {
+ final boolean disabled = (admin != null);
+ mEnforcedAdmin = admin;
+ if (mDisabledByAdmin != disabled) {
+ mDisabledByAdmin = disabled;
+ RestrictedLockUtils.setTextViewAsDisabledByAdmin(mContext,
+ (TextView) this, mDisabledByAdmin);
+ if (mDisabledByAdmin) {
+ getButtonDrawable().setColorFilter(mContext.getColor(R.color.disabled_text_color),
+ PorterDuff.Mode.MULTIPLY);
+ } else {
+ getButtonDrawable().clearColorFilter();
+ }
+ }
+ }
+
+ public boolean isDisabledByAdmin() {
+ return mDisabledByAdmin;
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 1221624..d39203d 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -61,6 +61,7 @@
import com.android.settings.search.Index;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.RestrictedSwitchPreference;
import java.util.ArrayList;
@@ -130,7 +131,7 @@
private SwitchPreference mShowPassword;
private KeyStore mKeyStore;
- private Preference mResetCredentials;
+ private RestrictedPreference mResetCredentials;
private RestrictedSwitchPreference mToggleAppInstallation;
private DialogInterface mWarnInstallApps;
@@ -310,25 +311,26 @@
// Show password
mShowPassword = (SwitchPreference) root.findPreference(KEY_SHOW_PASSWORD);
- mResetCredentials = root.findPreference(KEY_RESET_CREDENTIALS);
+ mResetCredentials = (RestrictedPreference) root.findPreference(KEY_RESET_CREDENTIALS);
// Credential storage
final UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
mKeyStore = KeyStore.getInstance(); // needs to be initialized for onResume()
- if (!um.hasUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS)) {
- Preference credentialStorageType = root.findPreference(KEY_CREDENTIAL_STORAGE_TYPE);
- final int storageSummaryRes =
+ RestrictedPreference credentialStorageType = (RestrictedPreference) root.findPreference(
+ KEY_CREDENTIAL_STORAGE_TYPE);
+ credentialStorageType.checkRestrictionAndSetDisabled(
+ UserManager.DISALLOW_CONFIG_CREDENTIALS);
+ RestrictedPreference installCredentials = (RestrictedPreference) root.findPreference(
+ KEY_CREDENTIALS_INSTALL);
+ installCredentials.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_CREDENTIALS);
+ mResetCredentials.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_CREDENTIALS);
+
+ final int storageSummaryRes =
mKeyStore.isHardwareBacked() ? R.string.credential_storage_type_hardware
: R.string.credential_storage_type_software;
- credentialStorageType.setSummary(storageSummaryRes);
- } else {
- PreferenceGroup credentialsManager = (PreferenceGroup)
- root.findPreference(KEY_CREDENTIALS_MANAGER);
- credentialsManager.removePreference(root.findPreference(KEY_RESET_CREDENTIALS));
- credentialsManager.removePreference(root.findPreference(KEY_CREDENTIALS_INSTALL));
- credentialsManager.removePreference(root.findPreference(KEY_CREDENTIAL_STORAGE_TYPE));
- }
+ credentialStorageType.setSummary(storageSummaryRes);
+
// Application install
PreferenceGroup deviceAdminCategory = (PreferenceGroup)
@@ -649,7 +651,7 @@
Settings.System.TEXT_SHOW_PASSWORD, 1) != 0);
}
- if (mResetCredentials != null) {
+ if (mResetCredentials != null && !mResetCredentials.isDisabledByAdmin()) {
mResetCredentials.setEnabled(!mKeyStore.isEmpty());
}
diff --git a/src/com/android/settings/SeekBarPreference.java b/src/com/android/settings/SeekBarPreference.java
index f225967..ef28ed7 100644
--- a/src/com/android/settings/SeekBarPreference.java
+++ b/src/com/android/settings/SeekBarPreference.java
@@ -28,10 +28,12 @@
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
+import com.android.settingslib.RestrictedPreference;
+
/**
* Based on android.preference.SeekBarPreference, but uses support preference as base.
*/
-public class SeekBarPreference extends Preference
+public class SeekBarPreference extends RestrictedPreference
implements OnSeekBarChangeListener, View.OnKeyListener {
private int mProgress;
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index de66aea..88cfc74 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -68,6 +68,7 @@
import com.android.settings.bluetooth.BluetoothSettings;
import com.android.settings.dashboard.DashboardSummary;
import com.android.settings.dashboard.SearchResultsSummary;
+import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.deviceinfo.PrivateVolumeForget;
import com.android.settings.deviceinfo.PrivateVolumeSettings;
import com.android.settings.deviceinfo.PublicVolumeSettings;
@@ -79,15 +80,16 @@
import com.android.settings.inputmethod.KeyboardLayoutPickerFragment;
import com.android.settings.inputmethod.SpellCheckersSettings;
import com.android.settings.inputmethod.UserDictionaryList;
+import com.android.settings.localepicker.LocaleListEditor;
import com.android.settings.location.LocationSettings;
import com.android.settings.nfc.AndroidBeam;
import com.android.settings.nfc.PaymentSettings;
import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.NotificationAccessSettings;
-import com.android.settings.notification.SoundSettings;
import com.android.settings.notification.NotificationStation;
import com.android.settings.notification.OtherSoundSettings;
+import com.android.settings.notification.SoundSettings;
import com.android.settings.notification.ZenAccessSettings;
import com.android.settings.notification.ZenModeAutomationSettings;
import com.android.settings.notification.ZenModeEventRuleSettings;
@@ -245,7 +247,7 @@
WifiP2pSettings.class.getName(),
VpnSettings.class.getName(),
DateTimeSettings.class.getName(),
- LocalePicker.class.getName(),
+ LocaleListEditor.class.getName(),
InputMethodAndLanguageSettings.class.getName(),
SpellCheckersSettings.class.getName(),
UserDictionaryList.class.getName(),
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index f79def9..2ba49ce 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -24,7 +24,6 @@
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
-import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
@@ -187,6 +186,11 @@
setEmptyView(loading);
}
+ public void setLoading(boolean loading, boolean animate) {
+ View loading_container = getView().findViewById(R.id.loading_container);
+ Utils.handleLoadingContainer(loading_container, getListView(), !loading, animate);
+ }
+
public void registerObserverIfNeeded() {
if (!mIsDataSetObserverRegistered) {
if (mCurrentRootAdapter != null) {
diff --git a/src/com/android/settings/ShowAdminSupportDetailsDialog.java b/src/com/android/settings/ShowAdminSupportDetailsDialog.java
index 85e90cf..bc7168f 100644
--- a/src/com/android/settings/ShowAdminSupportDetailsDialog.java
+++ b/src/com/android/settings/ShowAdminSupportDetailsDialog.java
@@ -26,6 +26,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.RemoteException;
@@ -52,16 +53,10 @@
int userId = UserHandle.myUserId();
Intent intent = getIntent();
if (intent != null) {
- IActivityManager am = ActivityManagerNative.getDefault();
- try {
- int uid = am.getLaunchedFromUid(getActivityToken());
- // Only allow system to specify admin and user.
- if (UserHandle.isSameApp(uid, android.os.Process.myUid())) {
- admin = intent.getParcelableExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN);
- userId = intent.getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
- }
- } catch (RemoteException e) {
- Log.e(TAG, "Could not talk to activity manager.", e);
+ // Only allow apps with MANAGE_DEVICE_ADMINS permission to specify admin and user.
+ if (checkIfCallerHasPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS)) {
+ admin = intent.getParcelableExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN);
+ userId = intent.getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
}
}
@@ -76,6 +71,18 @@
.show();
}
+ private boolean checkIfCallerHasPermission(String permission) {
+ IActivityManager am = ActivityManagerNative.getDefault();
+ try {
+ final int uid = am.getLaunchedFromUid(getActivityToken());
+ return AppGlobals.getPackageManager().checkUidPermission(permission, uid)
+ == PackageManager.PERMISSION_GRANTED;
+ } catch (RemoteException e) {
+ Log.e(TAG, "Could not talk to activity manager.", e);
+ }
+ return false;
+ }
+
private void setAdminSupportDetails(View root, final ComponentName admin, final int userId) {
if (admin != null) {
CharSequence supportMessage = mDpm.getShortSupportMessageForUser(admin, userId);
diff --git a/src/com/android/settings/SummaryPreference.java b/src/com/android/settings/SummaryPreference.java
new file mode 100644
index 0000000..0943a2b
--- /dev/null
+++ b/src/com/android/settings/SummaryPreference.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package com.android.settings;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.TextView;
+import com.android.settings.applications.LinearColorBar;
+
+/**
+ * Provides a summary of a setting page in a preference. Such as memory or data usage.
+ */
+public class SummaryPreference extends Preference {
+
+ private static final String TAG = "SummaryPreference";
+ private String mAmount;
+ private String mUnits;
+
+ private int mLeft, mMiddle, mRight;
+ private float mLeftRatio, mMiddleRatio, mRightRatio;
+ private String mStartLabel;
+ private String mEndLabel;
+
+ public SummaryPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ setLayoutResource(R.layout.settings_summary_preference);
+ mLeft = context.getColor(R.color.summary_default_start);
+ mRight = context.getColor(R.color.summary_default_end);
+ }
+
+ public void setAmount(String amount) {
+ mAmount = amount;
+ if (mAmount != null && mUnits != null) {
+ setTitle(TextUtils.expandTemplate(getContext().getText(R.string.storage_size_large),
+ mAmount, mUnits));
+ }
+ }
+
+ public void setUnits(String units) {
+ mUnits = units;
+ if (mAmount != null && mUnits != null) {
+ setTitle(TextUtils.expandTemplate(getContext().getText(R.string.storage_size_large),
+ mAmount, mUnits));
+ }
+ }
+
+ public void setLabels(String start, String end) {
+ mStartLabel = start;
+ mEndLabel = end;
+ notifyChanged();
+ }
+
+ public void setRatios(float left, float middle, float right) {
+ mLeftRatio = left;
+ mMiddleRatio = middle;
+ mRightRatio = right;
+ notifyChanged();
+ }
+
+ public void setColors(int left, int middle, int right) {
+ mLeft = left;
+ mMiddle = middle;
+ mRight = right;
+ notifyChanged();
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+
+ LinearColorBar colorBar = (LinearColorBar) holder.itemView.findViewById(R.id.color_bar);
+ colorBar.setRatios(mLeftRatio, mMiddleRatio, mRightRatio);
+ colorBar.setColors(mLeft, mMiddle, mRight);
+
+ if (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel)) {
+ holder.findViewById(R.id.label_bar).setVisibility(View.VISIBLE);
+ ((TextView) holder.findViewById(android.R.id.text1)).setText(mStartLabel);
+ ((TextView) holder.findViewById(android.R.id.text2)).setText(mEndLabel);
+ } else {
+ holder.findViewById(R.id.label_bar).setVisibility(View.GONE);
+ }
+ }
+}
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 56795ae..b54c414 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -68,6 +68,7 @@
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextUtils;
+import android.text.format.DateUtils;
import android.text.style.TtsSpan;
import android.util.ArraySet;
import android.util.Log;
@@ -82,6 +83,7 @@
import android.widget.ListView;
import android.widget.TabWidget;
import com.android.internal.util.UserIcons;
+import com.android.settings.datausage.DataUsageList;
import java.io.IOException;
import java.io.InputStream;
@@ -92,6 +94,8 @@
import java.util.Locale;
import static android.content.Intent.EXTRA_USER;
+import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
+import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
public final class Utils extends com.android.settingslib.Utils {
@@ -1007,5 +1011,19 @@
context.getTheme().resolveAttribute(attr, value, true);
return value.resourceId;
}
+
+ private static final StringBuilder sBuilder = new StringBuilder(50);
+ private static final java.util.Formatter sFormatter = new java.util.Formatter(
+ sBuilder, Locale.getDefault());
+
+ public static String formatDateRange(Context context, long start, long end) {
+ final int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_MONTH;
+
+ synchronized (sBuilder) {
+ sBuilder.setLength(0);
+ return DateUtils.formatDateRange(context, sFormatter, start, end, flags, null)
+ .toString();
+ }
+ }
}
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index f5a9dec..63455d8 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -51,6 +51,7 @@
import com.android.settings.nfc.NfcEnabler;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.RestrictedPreference;
import java.util.ArrayList;
import java.util.Arrays;
@@ -226,7 +227,8 @@
final Activity activity = getActivity();
mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
SwitchPreference nfc = (SwitchPreference) findPreference(KEY_TOGGLE_NFC);
- PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS);
+ RestrictedPreference androidBeam = (RestrictedPreference) findPreference(
+ KEY_ANDROID_BEAM_SETTINGS);
mAirplaneModeEnabler = new AirplaneModeEnabler(activity, mAirplaneModePreference);
mNfcEnabler = new NfcEnabler(activity, nfc, androidBeam);
@@ -258,7 +260,7 @@
}
// Disable VPN.
// TODO: http://b/23693383
- if (!isAdmin || mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_VPN)) {
+ if (!isAdmin) {
removePreference(KEY_VPN_SETTINGS);
}
@@ -315,10 +317,10 @@
// Disable Tethering if it's not allowed or if it's a wifi-only device
final ConnectivityManager cm =
(ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);
- if (!isAdmin || !cm.isTetheringSupported()
- || mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING)) {
+
+ if (!isAdmin || !cm.isTetheringSupported()) {
getPreferenceScreen().removePreference(findPreference(KEY_TETHER_SETTINGS));
- } else {
+ } else if (!mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING)) {
Preference p = findPreference(KEY_TETHER_SETTINGS);
p.setTitle(com.android.settingslib.Utils.getTetheringLabel(cm));
@@ -347,6 +349,19 @@
} else {
removePreference(KEY_WFC_SETTINGS);
}
+
+ RestrictedPreference tetherSettingsPref = (RestrictedPreference) findPreference(
+ KEY_TETHER_SETTINGS);
+ if (tetherSettingsPref != null) {
+ tetherSettingsPref.checkRestrictionAndSetDisabled(
+ UserManager.DISALLOW_CONFIG_TETHERING);
+ }
+
+ RestrictedPreference vpnSettingsPref = (RestrictedPreference) findPreference(
+ KEY_VPN_SETTINGS);
+ if (vpnSettingsPref != null) {
+ vpnSettingsPref.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_VPN);
+ }
}
@Override
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 7aa5a76..f56ebe0 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -52,6 +52,8 @@
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.accessibility.AccessibilityUtils;
import java.util.ArrayList;
@@ -61,6 +63,8 @@
import java.util.Map;
import java.util.Set;
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
/**
* Activity with the accessibility settings.
*/
@@ -476,8 +480,7 @@
for (int i = 0, count = installedServices.size(); i < count; ++i) {
AccessibilityServiceInfo info = installedServices.get(i);
- PreferenceScreen preference = getPreferenceManager().createPreferenceScreen(
- getActivity());
+ RestrictedPreference preference = new RestrictedPreference(getActivity());
String title = info.getResolveInfo().loadLabel(getPackageManager()).toString();
ServiceInfo serviceInfo = info.getResolveInfo().serviceInfo;
@@ -500,7 +503,17 @@
String packageName = serviceInfo.packageName;
boolean serviceAllowed =
permittedServices == null || permittedServices.contains(packageName);
- preference.setEnabled(serviceAllowed || serviceEnabled);
+ if (!serviceAllowed && !serviceEnabled) {
+ EnforcedAdmin admin =
+ RestrictedLockUtils.getProfileOrDeviceOwnerOnCallingUser(getActivity());
+ if (admin != null) {
+ preference.setDisabledByAdmin(admin);
+ } else {
+ preference.setEnabled(false);
+ }
+ } else {
+ preference.setEnabled(true);
+ }
String summaryString;
if (serviceAllowed) {
diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java
index 3942fbb..c8e0322 100644
--- a/src/com/android/settings/accounts/AccountSettings.java
+++ b/src/com/android/settings/accounts/AccountSettings.java
@@ -39,8 +39,10 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
+import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
+import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
@@ -51,6 +53,7 @@
import com.android.internal.logging.MetricsLogger;
import com.android.settings.AccessiblePreferenceCategory;
+import com.android.settings.DimmableIconPreference;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
@@ -80,7 +83,7 @@
*/
public class AccountSettings extends SettingsPreferenceFragment
implements AuthenticatorHelper.OnAccountsUpdateListener,
- OnPreferenceClickListener, Indexable {
+ OnPreferenceClickListener, OnPreferenceChangeListener, Indexable {
public static final String TAG = "AccountSettings";
private static final String KEY_ACCOUNT = "account";
@@ -88,8 +91,9 @@
private static final String ADD_ACCOUNT_ACTION = "android.settings.ADD_ACCOUNT_SETTINGS";
private static final String TAG_CONFIRM_AUTO_SYNC_CHANGE = "confirmAutoSyncChange";
- private static final int ORDER_LAST = 1001;
- private static final int ORDER_NEXT_TO_LAST = 1000;
+ private static final int ORDER_LAST = 1002;
+ private static final int ORDER_NEXT_TO_LAST = 1001;
+ private static final int ORDER_NEXT_TO_NEXT_TO_LAST = 1000;
private UserManager mUm;
private SparseArray<ProfileData> mProfiles = new SparseArray<ProfileData>();
@@ -110,7 +114,11 @@
/**
* The preference that displays the add account button.
*/
- public Preference addAccountPreference;
+ public DimmableIconPreference addAccountPreference;
+ /**
+ * The preference that displays the button to toggle work profile.
+ */
+ public SwitchPreference workModeSwitch;
/**
* The preference that displays the button to remove the managed profile
*/
@@ -234,6 +242,21 @@
return false;
}
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ // Check the preference
+ final int count = mProfiles.size();
+ for (int i = 0; i < count; i++) {
+ ProfileData profileData = mProfiles.valueAt(i);
+ if (preference == profileData.workModeSwitch) {
+ final int userId = profileData.userInfo.id;
+ mUm.setQuietModeEnabled(userId, !((boolean) newValue));
+ return true;
+ }
+ }
+ return false;
+ }
+
void updateUi() {
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.account_settings);
@@ -286,6 +309,9 @@
profileData.preferenceGroup.setSummary(workGroupSummary);
((AccessiblePreferenceCategory) profileData.preferenceGroup).setContentDescription(
getString(R.string.accessibility_category_work, workGroupSummary));
+ profileData.workModeSwitch = newWorkModeSwitchPreference(context);
+ final UserHandle userHandle = profileData.userInfo.getUserHandle();
+ profileData.workModeSwitch.setChecked(!mUm.isQuietModeEnabled(userHandle));
profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference(context);
} else {
profileData.preferenceGroup.setTitle(R.string.category_personal);
@@ -299,20 +325,29 @@
if (userInfo.isEnabled()) {
profileData.authenticatorHelper = new AuthenticatorHelper(context,
userInfo.getUserHandle(), this);
- if (!mUm.hasUserRestriction(DISALLOW_MODIFY_ACCOUNTS, userInfo.getUserHandle())) {
- profileData.addAccountPreference = newAddAccountPreference(context);
- }
+ profileData.addAccountPreference = newAddAccountPreference(context);
+ profileData.addAccountPreference.checkRestrictionAndSetDisabled(
+ DISALLOW_MODIFY_ACCOUNTS, userInfo.id);
}
mProfiles.put(userInfo.id, profileData);
Index.getInstance(getActivity()).updateFromClassNameResource(
AccountSettings.class.getName(), true, true);
}
- private Preference newAddAccountPreference(Context context) {
- Preference preference = new Preference(getPrefContext());
+ private DimmableIconPreference newAddAccountPreference(Context context) {
+ DimmableIconPreference preference = new DimmableIconPreference(getPrefContext());
preference.setTitle(R.string.add_account_label);
preference.setIcon(R.drawable.ic_menu_add);
preference.setOnPreferenceClickListener(this);
+ preference.setOrder(ORDER_NEXT_TO_NEXT_TO_LAST);
+ return preference;
+ }
+
+ private SwitchPreference newWorkModeSwitchPreference(Context context) {
+ SwitchPreference preference = new SwitchPreference(getPrefContext());
+ preference.setTitle(R.string.work_mode_label);
+ preference.setSummary(R.string.work_mode_summary);
+ preference.setOnPreferenceChangeListener(this);
preference.setOrder(ORDER_NEXT_TO_LAST);
return preference;
}
@@ -385,6 +420,9 @@
R.string.managed_profile_not_available_label);
profileData.preferenceGroup.addPreference(mProfileNotAvailablePreference);
}
+ if (profileData.workModeSwitch != null) {
+ profileData.preferenceGroup.addPreference(profileData.workModeSwitch);
+ }
if (profileData.removeWorkProfilePreference != null) {
profileData.preferenceGroup.addPreference(profileData.removeWorkProfilePreference);
}
@@ -533,9 +571,9 @@
@Override
public void onReceive(Context context, Intent intent) {
+ Log.v(TAG, "Received broadcast: " + intent.getAction());
if (intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_REMOVED)
|| intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_ADDED)) {
- Log.v(TAG, "Received broadcast: " + intent.getAction());
// Clean old state
stopListeningToAccountUpdates();
cleanUpPreferences();
@@ -547,6 +585,17 @@
getActivity().invalidateOptionsMenu();
return;
}
+
+ if (intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED)) {
+ // We assume there's only one managed profile, otherwise this needs to change.
+ ProfileData profileData = mProfiles.valueAt(1);
+ if (intent.getIntExtra(Intent.EXTRA_USER_HANDLE,
+ UserHandle.USER_NULL) == profileData.userInfo.id) {
+ profileData.workModeSwitch.setChecked(
+ !mUm.isQuietModeEnabled(profileData.userInfo.getUserHandle()));
+ }
+ return;
+ }
Log.w(TAG, "Cannot handle received broadcast: " + intent.getAction());
}
@@ -555,6 +604,7 @@
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_REMOVED);
intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_ADDED);
+ intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED);
context.registerReceiver(this, intentFilter);
listeningToManagedProfileEvents = true;
}
@@ -665,16 +715,13 @@
for (int i = 0; i < profilesCount; i++) {
UserInfo userInfo = profiles.get(i);
if (userInfo.isEnabled()) {
- if (!um.hasUserRestriction(
- DISALLOW_MODIFY_ACCOUNTS, userInfo.getUserHandle())) {
- SearchIndexableRaw data = new SearchIndexableRaw(context);
- data = new SearchIndexableRaw(context);
- data.title = res.getString(R.string.add_account_label);
- data.screenTitle = screenTitle;
- result.add(data);
- }
+ SearchIndexableRaw data = new SearchIndexableRaw(context);
+ data = new SearchIndexableRaw(context);
+ data.title = res.getString(R.string.add_account_label);
+ data.screenTitle = screenTitle;
+ result.add(data);
if (userInfo.isManagedProfile()) {
- SearchIndexableRaw data = new SearchIndexableRaw(context);
+ data = new SearchIndexableRaw(context);
data = new SearchIndexableRaw(context);
data.title = res.getString(R.string.remove_managed_profile_label);
data.screenTitle = screenTitle;
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index ded97d3..ed56651 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -273,10 +273,8 @@
final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(
getPrefContext(), UserManager.DISALLOW_MODIFY_ACCOUNTS,
mUserHandle.getIdentifier());
- if (admin != null) {
- RestrictedLockUtils.setMenuItemAsDisabledByAdmin(getPrefContext(),
- removeAccount, admin);
- }
+ RestrictedLockUtils.setMenuItemAsDisabledByAdmin(getPrefContext(),
+ removeAccount, admin);
syncNow.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER |
MenuItem.SHOW_AS_ACTION_WITH_TEXT);
syncCancel.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER |
diff --git a/src/com/android/settings/accounts/ChooseAccountActivity.java b/src/com/android/settings/accounts/ChooseAccountActivity.java
index f2f1f86..489a165 100644
--- a/src/com/android/settings/accounts/ChooseAccountActivity.java
+++ b/src/com/android/settings/accounts/ChooseAccountActivity.java
@@ -169,6 +169,7 @@
Drawable drawable = getDrawableForType(pref.type);
ProviderPreference p = new ProviderPreference(getPreferenceScreen().getContext(),
pref.type, drawable, pref.name);
+ p.checkAccountManagementAndSetDisabled();
mAddAccountGroup.addPreference(p);
}
} else {
diff --git a/src/com/android/settings/accounts/ProviderPreference.java b/src/com/android/settings/accounts/ProviderPreference.java
index 9a63062..863fef4 100644
--- a/src/com/android/settings/accounts/ProviderPreference.java
+++ b/src/com/android/settings/accounts/ProviderPreference.java
@@ -20,11 +20,16 @@
import android.graphics.drawable.Drawable;
import android.support.v7.preference.Preference;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
/**
* ProviderPreference is used to display an image to the left of a provider name.
* The preference ultimately calls AccountManager.addAccount() for the account type.
*/
-public class ProviderPreference extends Preference {
+public class ProviderPreference extends RestrictedPreference {
private String mAccountType;
public ProviderPreference(
@@ -39,4 +44,10 @@
public String getAccountType() {
return mAccountType;
}
+
+ public void checkAccountManagementAndSetDisabled() {
+ EnforcedAdmin admin = RestrictedLockUtils.checkIfAccountManagementDisabled(
+ getContext(), getAccountType());
+ setDisabledByAdmin(admin);
+ }
}
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index 599f61e..b67eb2b 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -38,11 +38,14 @@
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
+import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
import java.util.ArrayList;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
public abstract class AppInfoBase extends SettingsPreferenceFragment
implements ApplicationsState.Callbacks {
@@ -52,7 +55,7 @@
protected static final String TAG = AppInfoBase.class.getSimpleName();
protected static final boolean localLOGV = false;
- protected boolean mAppControlRestricted = false;
+ protected EnforcedAdmin mAppsControlDisallowedAdmin;
protected ApplicationsState mState;
protected ApplicationsState.Session mSession;
@@ -92,7 +95,8 @@
public void onResume() {
super.onResume();
mSession.resume();
- mAppControlRestricted = mUserManager.hasUserRestriction(UserManager.DISALLOW_APPS_CONTROL);
+ mAppsControlDisallowedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(getActivity(),
+ UserManager.DISALLOW_APPS_CONTROL, mUserId);
if (!refreshUi()) {
setIntentAndFinish(true, true);
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 71d1667..ae0c10a 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -48,6 +48,7 @@
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.deviceinfo.StorageWizardMoveConfirm;
+import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.applications.ApplicationsState.Callbacks;
@@ -192,13 +193,19 @@
@Override
public void onClick(View v) {
if (v == mClearCacheButton) {
- // Lazy initialization of observer
- if (mClearCacheObserver == null) {
+ if (mAppsControlDisallowedAdmin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+ getActivity(), mAppsControlDisallowedAdmin);
+ return;
+ } else if (mClearCacheObserver == null) { // Lazy initialization of observer
mClearCacheObserver = new ClearCacheObserver();
}
mPm.deleteApplicationCacheFiles(mPackageName, mClearCacheObserver);
} else if (v == mClearDataButton) {
- if (mAppEntry.info.manageSpaceActivityName != null) {
+ if (mAppsControlDisallowedAdmin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+ getActivity(), mAppsControlDisallowedAdmin);
+ } else if (mAppEntry.info.manageSpaceActivityName != null) {
if (!Utils.isMonkeyRunning()) {
Intent intent = new Intent(Intent.ACTION_DEFAULT);
intent.setClassName(mAppEntry.info.packageName,
@@ -211,7 +218,12 @@
} else if (v == mChangeStorageButton && mDialogBuilder != null && !isMoveInProgress()) {
mDialogBuilder.show();
} else if (v == mClearUriButton) {
- clearUriPermissions();
+ if (mAppsControlDisallowedAdmin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+ getActivity(), mAppsControlDisallowedAdmin);
+ } else {
+ clearUriPermissions();
+ }
}
}
@@ -310,10 +322,6 @@
mClearCacheButton.setOnClickListener(this);
}
}
- if (mAppControlRestricted) {
- mClearCacheButton.setEnabled(false);
- mClearDataButton.setEnabled(false);
- }
}
@Override
@@ -360,10 +368,6 @@
}
mClearDataButton.setOnClickListener(this);
}
-
- if (mAppControlRestricted) {
- mClearDataButton.setEnabled(false);
- }
}
private void initMoveDialog() {
@@ -483,10 +487,6 @@
mUri.addPreference(pref);
}
- if (mAppControlRestricted) {
- mClearUriButton.setEnabled(false);
- }
-
mClearUri.setOrder(order);
mClearUriButton.setVisibility(View.VISIBLE);
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 7d8a7f0..7478596 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -21,7 +21,6 @@
import android.app.AlertDialog;
import android.app.LoaderManager.LoaderCallbacks;
import android.app.admin.DevicePolicyManager;
-import android.icu.text.ListFormatter;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
@@ -37,6 +36,7 @@
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
+import android.icu.text.ListFormatter;
import android.net.INetworkStatsService;
import android.net.INetworkStatsSession;
import android.net.NetworkTemplate;
@@ -48,6 +48,7 @@
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
+import android.os.UserManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.text.TextUtils;
@@ -63,22 +64,24 @@
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
-
import com.android.internal.logging.MetricsLogger;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatteryStatsHelper;
import com.android.settings.AppHeader;
-import com.android.settings.DataUsageSummary;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
import com.android.settings.applications.PermissionsSummaryHelper.PermissionsResultCallback;
+import com.android.settings.datausage.AppDataUsage;
+import com.android.settings.datausage.DataUsageList;
+import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.fuelgauge.BatteryEntry;
import com.android.settings.fuelgauge.PowerUsageDetail;
import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.NotificationBackend.AppRow;
import com.android.settingslib.AppItem;
+import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
@@ -91,6 +94,8 @@
import java.util.HashSet;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
/**
* Activity to display application information from Settings. This activity presents
* extended information associated with a package like code, data, total size, permissions
@@ -237,10 +242,6 @@
}
}
- if (mAppControlRestricted) {
- enabled = false;
- }
-
mUninstallButton.setEnabled(enabled);
if (enabled) {
// Register listener
@@ -403,7 +404,12 @@
}
menu.findItem(UNINSTALL_ALL_USERS_MENU).setVisible(showIt);
mUpdatedSysApp = (mAppEntry.info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0;
- menu.findItem(UNINSTALL_UPDATES).setVisible(mUpdatedSysApp && !mAppControlRestricted);
+ MenuItem uninstallUpdatesItem = menu.findItem(UNINSTALL_UPDATES);
+ uninstallUpdatesItem.setVisible(mUpdatedSysApp);
+ if (uninstallUpdatesItem.isVisible()) {
+ RestrictedLockUtils.setMenuItemAsDisabledByAdmin(getActivity(),
+ uninstallUpdatesItem, mAppsControlDisallowedAdmin);
+ }
}
@Override
@@ -654,12 +660,8 @@
}
private void updateForceStopButton(boolean enabled) {
- if (mAppControlRestricted) {
- mForceStopButton.setEnabled(false);
- } else {
- mForceStopButton.setEnabled(enabled);
- mForceStopButton.setOnClickListener(InstalledAppDetails.this);
- }
+ mForceStopButton.setEnabled(enabled);
+ mForceStopButton.setOnClickListener(InstalledAppDetails.this);
}
private void checkForceStop() {
@@ -715,7 +717,11 @@
}
String packageName = mAppEntry.info.packageName;
if(v == mUninstallButton) {
- if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
+ EnforcedAdmin admin = RestrictedLockUtils.checkIfUninstallBlocked(getActivity(),
+ packageName, mUserId);
+ if (admin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(), admin);
+ } else if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
if (mAppEntry.info.enabled && !isDisabledUntilUsed()) {
if (mUpdatedSysApp) {
showDialogInner(DLG_SPECIAL_DISABLE, 0);
@@ -733,8 +739,13 @@
uninstallPkg(packageName, false, false);
}
} else if (v == mForceStopButton) {
- showDialogInner(DLG_FORCE_STOP, 0);
- //forceStopPackage(mAppInfo.packageName);
+ if (mAppsControlDisallowedAdmin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+ getActivity(), mAppsControlDisallowedAdmin);
+ } else {
+ showDialogInner(DLG_FORCE_STOP, 0);
+ //forceStopPackage(mAppInfo.packageName);
+ }
}
}
@@ -753,13 +764,7 @@
ProcessStatsBase.launchMemoryDetail((SettingsActivity) getActivity(),
mStatsManager.getMemInfo(), mStats, false);
} else if (preference == mDataPreference) {
- Bundle args = new Bundle();
- args.putString(DataUsageSummary.EXTRA_SHOW_APP_IMMEDIATE_PKG,
- mAppEntry.info.packageName);
-
- SettingsActivity sa = (SettingsActivity) getActivity();
- sa.startPreferencePanel(DataUsageSummary.class.getName(), args, -1,
- getString(R.string.app_data_usage), this, SUB_INFO_FRAGMENT);
+ startAppInfoFragment(AppDataUsage.class, getString(R.string.app_data_usage));
} else if (preference == mBatteryPreference) {
BatteryEntry entry = new BatteryEntry(getActivity(), null, mUserManager, mSipper);
PowerUsageDetail.startBatteryDetailPage((SettingsActivity) getActivity(),
@@ -794,7 +799,7 @@
}
public static NetworkTemplate getTemplate(Context context) {
- if (DataUsageSummary.hasReadyMobileRadio(context)) {
+ if (DataUsageList.hasReadyMobileRadio(context)) {
return NetworkTemplate.buildTemplateMobileWildcard();
}
if (DataUsageSummary.hasWifiRadio(context)) {
diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java
index 9db79bc..4ad480e 100644
--- a/src/com/android/settings/applications/ProcessStatsDetail.java
+++ b/src/com/android/settings/applications/ProcessStatsDetail.java
@@ -40,14 +40,13 @@
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
-import android.widget.TextView;
-
import com.android.internal.logging.MetricsLogger;
import com.android.settings.AppHeader;
import com.android.settings.CancellablePreference;
import com.android.settings.CancellablePreference.OnCancelListener;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.SummaryPreference;
import com.android.settings.applications.ProcStatsEntry.Service;
import java.util.ArrayList;
@@ -87,8 +86,6 @@
private long mTotalTime;
private long mOnePercentTime;
- private LinearColorBar mColorBar;
-
private double mMaxMemoryUsage;
private double mTotalScale;
@@ -177,20 +174,19 @@
mProcGroup = (PreferenceCategory) findPreference(KEY_PROCS);
fillProcessesSection();
- LayoutPreference headerLayout = (LayoutPreference) findPreference(KEY_DETAILS_HEADER);
+ SummaryPreference summaryPreference = (SummaryPreference) findPreference(KEY_DETAILS_HEADER);
// TODO: Find way to share this code with ProcessStatsPreference.
boolean statsForeground = mApp.mRunWeight > mApp.mBgWeight;
double avgRam = (statsForeground ? mApp.mRunWeight : mApp.mBgWeight) * mWeightToRam;
float avgRatio = (float) (avgRam / mMaxMemoryUsage);
float remainingRatio = 1 - avgRatio;
- mColorBar = (LinearColorBar) headerLayout.findViewById(R.id.color_bar);
Context context = getActivity();
- mColorBar.setColors( context.getColor(R.color.memory_max_use), 0,
- context.getColor(R.color.memory_remaining));
- mColorBar.setRatios(avgRatio, 0, remainingRatio);
- ((TextView) headerLayout.findViewById(R.id.memory_state)).setText(
- Formatter.formatShortFileSize(getContext(), (long) avgRam));
+ summaryPreference.setRatios(avgRatio, 0, remainingRatio);
+ Formatter.BytesResult usedResult = Formatter.formatBytes(context.getResources(),
+ (long) avgRam, Formatter.FLAG_SHORTER);
+ summaryPreference.setAmount(usedResult.value);
+ summaryPreference.setUnits(usedResult.units);
long duration = Math.max(mApp.mRunDuration, mApp.mBgDuration);
CharSequence frequency = ProcStatsPackageEntry.getFrequency(duration
diff --git a/src/com/android/settings/applications/ProcessStatsSummary.java b/src/com/android/settings/applications/ProcessStatsSummary.java
index 09fea89..28917c8 100644
--- a/src/com/android/settings/applications/ProcessStatsSummary.java
+++ b/src/com/android/settings/applications/ProcessStatsSummary.java
@@ -16,18 +16,15 @@
package com.android.settings.applications;
import android.app.Activity;
-import android.content.BroadcastReceiver;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
-import android.text.TextUtils;
import android.text.format.Formatter;
import android.text.format.Formatter.BytesResult;
-import android.widget.TextView;
-
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
+import com.android.settings.SummaryPreference;
import com.android.settings.Utils;
import com.android.settings.applications.ProcStatsData.MemInfo;
import com.android.settings.dashboard.SummaryLoader;
@@ -42,9 +39,7 @@
private static final String KEY_FREE = "free";
private static final String KEY_APP_LIST = "apps_list";
- private LinearColorBar mColors;
- private LayoutPreference mHeader;
- private TextView mMemStatus;
+ private SummaryPreference mSummaryPref;
private Preference mPerformance;
private Preference mTotalMemory;
@@ -57,9 +52,10 @@
super.onCreate(icicle);
addPreferencesFromResource(R.xml.process_stats_summary);
- mHeader = (LayoutPreference) findPreference(KEY_STATUS_HEADER);
- mMemStatus = (TextView) mHeader.findViewById(R.id.memory_state);
- mColors = (LinearColorBar) mHeader.findViewById(R.id.color_bar);
+ mSummaryPref = (SummaryPreference) findPreference(KEY_STATUS_HEADER);
+ int memColor = getContext().getColor(R.color.running_processes_apps_ram);
+ mSummaryPref.setColors(memColor, memColor,
+ getContext().getColor(R.color.running_processes_free_ram));
mPerformance = findPreference(KEY_PERFORMANCE);
mTotalMemory = findPreference(KEY_TOTAL_MEMORY);
@@ -72,8 +68,6 @@
@Override
public void refreshUi() {
Context context = getContext();
- int memColor = context.getColor(R.color.running_processes_apps_ram);
- mColors.setColors(memColor, memColor, context.getColor(R.color.running_processes_free_ram));
MemInfo memInfo = mStatsManager.getMemInfo();
@@ -92,10 +86,10 @@
} else {
memString = memStatesStr[memStatesStr.length - 1];
}
- mMemStatus.setText(TextUtils.expandTemplate(getText(R.string.storage_size_large),
- usedResult.value, usedResult.units));
+ mSummaryPref.setAmount(usedResult.value);
+ mSummaryPref.setUnits(usedResult.units);
float usedRatio = (float)(usedRam / (freeRam + usedRam));
- mColors.setRatios(usedRatio, 0, 1 - usedRatio);
+ mSummaryPref.setRatios(usedRatio, 0, 1 - usedRatio);
mPerformance.setSummary(memString);
mTotalMemory.setSummary(totalString);
diff --git a/src/com/android/settings/dashboard/conditional/ConditionManager.java b/src/com/android/settings/dashboard/conditional/ConditionManager.java
index a245222..cd044ac 100644
--- a/src/com/android/settings/dashboard/conditional/ConditionManager.java
+++ b/src/com/android/settings/dashboard/conditional/ConditionManager.java
@@ -132,6 +132,7 @@
addIfMissing(BatterySaverCondition.class);
addIfMissing(CellularDataCondition.class);
addIfMissing(BackgroundDataCondition.class);
+ addIfMissing(WorkModeCondition.class);
}
private void addIfMissing(Class<? extends Condition> clz) {
@@ -154,6 +155,8 @@
return new CellularDataCondition(this);
} else if (BackgroundDataCondition.class == clz) {
return new BackgroundDataCondition(this);
+ } else if (WorkModeCondition.class == clz) {
+ return new WorkModeCondition(this);
}
throw new RuntimeException("Unexpected Condition " + clz);
}
diff --git a/src/com/android/settings/dashboard/conditional/WorkModeCondition.java b/src/com/android/settings/dashboard/conditional/WorkModeCondition.java
new file mode 100644
index 0000000..be333ea
--- /dev/null
+++ b/src/com/android/settings/dashboard/conditional/WorkModeCondition.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2016 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.dashboard.conditional;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.UserInfo;
+import android.graphics.drawable.Icon;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.Settings;
+
+import java.util.List;
+
+public class WorkModeCondition extends Condition {
+
+ private UserManager mUm;
+ private UserHandle mUserHandle;
+
+ public WorkModeCondition(ConditionManager conditionManager) {
+ super(conditionManager);
+ mUm = (UserManager) mManager.getContext().getSystemService(Context.USER_SERVICE);
+ }
+
+ private void updateUserHandle() {
+ List<UserInfo> profiles = mUm.getProfiles(UserHandle.myUserId());
+ final int profilesCount = profiles.size();
+ mUserHandle = null;
+ for (int i = 0; i < profilesCount; i++) {
+ UserInfo userInfo = profiles.get(i);
+ if (userInfo.isManagedProfile()) {
+ // We assume there's only one managed profile, otherwise UI needs to change.
+ mUserHandle = userInfo.getUserHandle();
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void refreshState() {
+ updateUserHandle();
+ setActive(mUserHandle != null && mUm.isQuietModeEnabled(mUserHandle));
+ }
+
+ @Override
+ public Icon getIcon() {
+ return Icon.createWithResource(mManager.getContext(),
+ R.drawable.ic_signal_workmode_enable);
+ }
+
+ @Override
+ public CharSequence getTitle() {
+ return mManager.getContext().getString(R.string.condition_work_title);
+ }
+
+ @Override
+ public CharSequence getSummary() {
+ return mManager.getContext().getString(R.string.condition_work_summary);
+ }
+
+ @Override
+ public CharSequence[] getActions() {
+ return new CharSequence[] {
+ mManager.getContext().getString(R.string.condition_turn_on)
+ };
+ }
+
+ @Override
+ public void onPrimaryClick() {
+ mManager.getContext().startActivity(new Intent(mManager.getContext(),
+ Settings.AccountSettingsActivity.class));
+ }
+
+ @Override
+ public void onActionClick(int index) {
+ if (index == 0) {
+ mUm.setQuietModeEnabled(mUserHandle.getIdentifier(), false);
+ setActive(false);
+ } else {
+ throw new IllegalArgumentException("Unexpected index " + index);
+ }
+ }
+}
diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java
new file mode 100644
index 0000000..9ca066f
--- /dev/null
+++ b/src/com/android/settings/datausage/AppDataUsage.java
@@ -0,0 +1,343 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import com.android.settings.AppHeader;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settingslib.AppItem;
+import com.android.settingslib.net.ChartData;
+import com.android.settingslib.net.ChartDataLoader;
+
+import android.app.LoaderManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.Loader;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.net.INetworkStatsSession;
+import android.net.NetworkPolicy;
+import android.net.NetworkStatsHistory;
+import android.net.NetworkTemplate;
+import android.net.TrafficStats;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceCategory;
+import android.text.format.Formatter;
+import android.util.ArraySet;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.Spinner;
+
+import static android.net.NetworkPolicyManager.POLICY_NONE;
+import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+
+public class AppDataUsage extends DataUsageBase implements Preference.OnPreferenceChangeListener {
+
+ public static final String ARG_APP_ITEM = "app_item";
+ public static final String ARG_NETWORK_TEMPLATE = "network_template";
+
+ private static final String KEY_TOTAL_USAGE = "total_usage";
+ private static final String KEY_FOREGROUND_USAGE = "foreground_usage";
+ private static final String KEY_BACKGROUND_USAGE = "background_usage";
+ private static final String KEY_APP_SETTINGS = "app_settings";
+ private static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
+ private static final String KEY_APP_LIST = "app_list";
+
+ private static final int LOADER_CHART_DATA = 2;
+
+ private final ArraySet<String> mPackages = new ArraySet<>();
+ private Preference mTotalUsage;
+ private Preference mForegroundUsage;
+ private Preference mBackgroundUsage;
+ private Preference mAppSettings;
+ private SwitchPreference mRestrictBackground;
+ private PreferenceCategory mAppList;
+
+ private Drawable mIcon;
+ private CharSequence mLabel;
+ private INetworkStatsSession mStatsSession;
+ private Spinner mCycleSpinner;
+ private CycleAdapter mCycleAdapter;
+
+ private long mStart;
+ private long mEnd;
+ private ChartData mChartData;
+ private NetworkTemplate mTemplate;
+ private NetworkPolicy mPolicy;
+ private AppItem mAppItem;
+ private Intent mAppSettingsIntent;
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+ final Bundle args = getArguments();
+
+ try {
+ mStatsSession = services.mStatsService.openSession();
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+
+ mAppItem = (args != null) ? (AppItem) args.getParcelable(ARG_APP_ITEM) : null;
+ mTemplate = (args != null) ? (NetworkTemplate) args.getParcelable(ARG_NETWORK_TEMPLATE)
+ : null;
+ if (mTemplate == null) {
+ Context context = getContext();
+ mTemplate = DataUsageSummary.getDefaultTemplate(context,
+ DataUsageSummary.getDefaultSubscriptionId(context));
+ }
+ if (mAppItem == null) {
+ int uid = (args != null) ? args.getInt(AppInfoBase.ARG_PACKAGE_UID, -1)
+ : getActivity().getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
+ if (uid == -1) {
+ // TODO: Log error.
+ getActivity().finish();
+ } else {
+ addUid(uid);
+ mAppItem = new AppItem(uid);
+ mAppItem.addUid(uid);
+ }
+ } else {
+ for (int i = 0; i < mAppItem.uids.size(); i++) {
+ addUid(mAppItem.uids.keyAt(i));
+ }
+ }
+ if (mPackages.size() != 0) {
+ PackageManager pm = getPackageManager();
+ try {
+ ApplicationInfo info = pm.getApplicationInfo(mPackages.valueAt(0), 0);
+ mIcon = info.loadIcon(pm);
+ mLabel = info.loadLabel(pm);
+ } catch (PackageManager.NameNotFoundException e) {
+ }
+ }
+ addPreferencesFromResource(R.xml.app_data_usage);
+
+ mTotalUsage = findPreference(KEY_TOTAL_USAGE);
+ mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
+ mBackgroundUsage = findPreference(KEY_BACKGROUND_USAGE);
+
+ if (UserHandle.isApp(mAppItem.key)) {
+ mRestrictBackground = (SwitchPreference) findPreference(KEY_RESTRICT_BACKGROUND);
+ mRestrictBackground.setOnPreferenceChangeListener(this);
+ mAppSettings = findPreference(KEY_APP_SETTINGS);
+
+ mAppSettingsIntent = new Intent(Intent.ACTION_MANAGE_NETWORK_USAGE);
+ mAppSettingsIntent.addCategory(Intent.CATEGORY_DEFAULT);
+
+ PackageManager pm = getPackageManager();
+ boolean matchFound = false;
+ for (String packageName : mPackages) {
+ mAppSettingsIntent.setPackage(packageName);
+ if (pm.resolveActivity(mAppSettingsIntent, 0) != null) {
+ matchFound = true;
+ break;
+ }
+ }
+ if (!matchFound) {
+ removePreference(KEY_APP_SETTINGS);
+ mAppSettings = null;
+ }
+
+ if (mPackages.size() > 1) {
+ mAppList = (PreferenceCategory) findPreference(KEY_APP_LIST);
+ for (int i = 1 ; i < mPackages.size(); i++) {
+ new AppPrefLoader().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
+ mPackages.valueAt(i));
+ }
+ } else {
+ removePreference(KEY_APP_LIST);
+ }
+ } else {
+ removePreference(KEY_APP_SETTINGS);
+ removePreference(KEY_RESTRICT_BACKGROUND);
+ removePreference(KEY_APP_LIST);
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ TrafficStats.closeQuietly(mStatsSession);
+ super.onDestroy();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mPolicy = services.mPolicyEditor.getPolicy(mTemplate);
+ getLoaderManager().restartLoader(LOADER_CHART_DATA,
+ ChartDataLoader.buildArgs(mTemplate, mAppItem), mChartDataCallbacks);
+ updatePrefs();
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ if (preference == mRestrictBackground) {
+ setAppRestrictBackground((Boolean) newValue);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
+ if (preference == mAppSettings) {
+ // TODO: target towards entire UID instead of just first package
+ getActivity().startActivityAsUser(mAppSettingsIntent, new UserHandle(
+ UserHandle.getUserId(mAppItem.key)));
+ return true;
+ }
+ return super.onPreferenceTreeClick(preference);
+ }
+
+ private void updatePrefs() {
+ if (mRestrictBackground != null) {
+ mRestrictBackground.setChecked(getAppRestrictBackground());
+ }
+ }
+
+ private void addUid(int uid) {
+ String[] packages = getPackageManager().getPackagesForUid(uid);
+ if (packages != null) {
+ for (int i = 0; i < packages.length; i++) {
+ mPackages.add(packages[i]);
+ }
+ }
+ }
+
+ private void bindData() {
+ if (mChartData == null || mStart == 0) {
+ return;
+ }
+ final Context context = getContext();
+ final long now = System.currentTimeMillis();
+
+ NetworkStatsHistory.Entry entry = null;
+ entry = mChartData.detailDefault.getValues(mStart, mEnd, now, entry);
+ final long backgroundBytes = entry.rxBytes + entry.txBytes;
+ entry = mChartData.detailForeground.getValues(mStart, mEnd, now, entry);
+ final long foregroundBytes = entry.rxBytes + entry.txBytes;
+ final long totalBytes = backgroundBytes + foregroundBytes;
+
+ mTotalUsage.setSummary(Formatter.formatFileSize(context, totalBytes));
+ mForegroundUsage.setSummary(Formatter.formatFileSize(context, foregroundBytes));
+ mBackgroundUsage.setSummary(Formatter.formatFileSize(context, backgroundBytes));
+ }
+
+ private boolean getAppRestrictBackground() {
+ final int uid = mAppItem.key;
+ final int uidPolicy = services.mPolicyManager.getUidPolicy(uid);
+ return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
+ }
+
+ private void setAppRestrictBackground(boolean restrictBackground) {
+ final int uid = mAppItem.key;
+ services.mPolicyManager.setUidPolicy(
+ uid, restrictBackground ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE);
+ }
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ View header = setPinnedHeaderView(R.layout.data_usage_app_header);
+ String pkg = mPackages.size() != 0 ? mPackages.valueAt(0) : null;
+ int uid = 0;
+ try {
+ uid = pkg != null ? getPackageManager().getPackageUid(pkg, 0) : 0;
+ } catch (PackageManager.NameNotFoundException e) {
+ }
+ AppHeader.setupHeaderView(getActivity(), mIcon, mLabel,
+ pkg, uid, AppHeader.includeAppInfo(this), 0, header);
+
+ mCycleSpinner = (Spinner) header.findViewById(R.id.filter_spinner);
+ mCycleAdapter = new CycleAdapter(getContext(), mCycleSpinner, mCycleListener);
+ }
+
+ @Override
+ protected int getMetricsCategory() {
+ return InstrumentedFragment.APP_DATA_USAGE;
+ }
+
+ private AdapterView.OnItemSelectedListener mCycleListener =
+ new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ final CycleAdapter.CycleItem cycle =
+ (CycleAdapter.CycleItem) parent.getItemAtPosition(position);
+
+ mStart = cycle.start;
+ mEnd = cycle.end;
+ bindData();
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ // ignored
+ }
+ };
+
+ private final LoaderManager.LoaderCallbacks<ChartData> mChartDataCallbacks =
+ new LoaderManager.LoaderCallbacks<ChartData>() {
+ @Override
+ public Loader<ChartData> onCreateLoader(int id, Bundle args) {
+ return new ChartDataLoader(getActivity(), mStatsSession, args);
+ }
+
+ @Override
+ public void onLoadFinished(Loader<ChartData> loader, ChartData data) {
+ mChartData = data;
+ mCycleAdapter.updateCycleList(mPolicy, mChartData);
+ bindData();
+ }
+
+ @Override
+ public void onLoaderReset(Loader<ChartData> loader) {
+ }
+ };
+
+ private class AppPrefLoader extends AsyncTask<String, Void, Preference> {
+ @Override
+ protected Preference doInBackground(String... params) {
+ PackageManager pm = getPackageManager();
+ String pkg = params[0];
+ try {
+ ApplicationInfo info = pm.getApplicationInfo(pkg, 0);
+ Preference preference = new Preference(getPrefContext());
+ preference.setIcon(info.loadIcon(pm));
+ preference.setTitle(info.loadLabel(pm));
+ preference.setSelectable(false);
+ return preference;
+ } catch (PackageManager.NameNotFoundException e) {
+ }
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Preference pref) {
+ if (pref != null && mAppList != null) {
+ mAppList.addPreference(pref);
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/datausage/AppDataUsagePreference.java b/src/com/android/settings/datausage/AppDataUsagePreference.java
new file mode 100644
index 0000000..04e2b6d
--- /dev/null
+++ b/src/com/android/settings/datausage/AppDataUsagePreference.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.content.Context;
+import android.os.AsyncTask;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.text.format.Formatter;
+import android.view.View;
+import android.widget.ProgressBar;
+import com.android.settingslib.AppItem;
+import com.android.settingslib.net.UidDetail;
+import com.android.settingslib.net.UidDetailProvider;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+public class AppDataUsagePreference extends Preference {
+
+ private final AppItem mItem;
+ private final int mPercent;
+
+ public AppDataUsagePreference(Context context, AppItem item, int percent,
+ UidDetailProvider provider) {
+ super(context);
+ mItem = item;
+ mPercent = percent;
+ setLayoutResource(com.android.settings.R.layout.data_usage_item);
+ setWidgetLayoutResource(com.android.settings.R.layout.widget_progress_bar);
+ if (item.restricted && item.total <= 0) {
+ setSummary(com.android.settings.R.string.data_usage_app_restricted);
+ } else {
+ setSummary(Formatter.formatFileSize(context, item.total));
+ }
+
+ // kick off async load of app details
+ UidDetailTask.bindView(provider, item, this);
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+
+ final ProgressBar progress = (ProgressBar) holder.findViewById(
+ android.R.id.progress);
+
+ if (mItem.restricted && mItem.total <= 0) {
+ progress.setVisibility(View.GONE);
+ } else {
+ progress.setVisibility(View.VISIBLE);
+ }
+ progress.setProgress(mPercent);
+ }
+
+ public AppItem getItem() {
+ return mItem;
+ }
+
+ /**
+ * Background task that loads {@link UidDetail}, binding to
+ * {@link DataUsageAdapter} row item when finished.
+ */
+ private static class UidDetailTask extends AsyncTask<Void, Void, UidDetail> {
+ private final UidDetailProvider mProvider;
+ private final AppItem mItem;
+ private final AppDataUsagePreference mTarget;
+
+ private UidDetailTask(UidDetailProvider provider, AppItem item,
+ AppDataUsagePreference target) {
+ mProvider = checkNotNull(provider);
+ mItem = checkNotNull(item);
+ mTarget = checkNotNull(target);
+ }
+
+ public static void bindView(UidDetailProvider provider, AppItem item,
+ AppDataUsagePreference target) {
+ final UidDetail cachedDetail = provider.getUidDetail(item.key, false);
+ if (cachedDetail != null) {
+ bindView(cachedDetail, target);
+ } else {
+ new UidDetailTask(provider, item, target).executeOnExecutor(
+ AsyncTask.THREAD_POOL_EXECUTOR);
+ }
+ }
+
+ private static void bindView(UidDetail detail, Preference target) {
+ if (detail != null) {
+ target.setIcon(detail.icon);
+ target.setTitle(detail.label);
+ } else {
+ target.setIcon(null);
+ target.setTitle(null);
+ }
+ }
+
+ @Override
+ protected void onPreExecute() {
+ bindView(null, mTarget);
+ }
+
+ @Override
+ protected UidDetail doInBackground(Void... params) {
+ return mProvider.getUidDetail(mItem.key, true);
+ }
+
+ @Override
+ protected void onPostExecute(UidDetail result) {
+ bindView(result, mTarget);
+ }
+ }
+}
diff --git a/src/com/android/settings/datausage/BillingCyclePreference.java b/src/com/android/settings/datausage/BillingCyclePreference.java
new file mode 100644
index 0000000..84eaabb
--- /dev/null
+++ b/src/com/android/settings/datausage/BillingCyclePreference.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.NetworkPolicy;
+import android.net.NetworkTemplate;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.support.v7.preference.Preference;
+import android.util.AttributeSet;
+import com.android.settings.R;
+import com.android.settings.Utils;
+
+public class BillingCyclePreference extends Preference implements TemplatePreference {
+
+ private NetworkTemplate mTemplate;
+ private NetworkServices mServices;
+ private NetworkPolicy mPolicy;
+ private int mSubId;
+
+ public BillingCyclePreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void onAttached() {
+ super.onAttached();
+ getContext().registerReceiver(mReceiver, new IntentFilter(
+ CellDataPreference.ACTION_DATA_ENABLED_CHANGED));
+ }
+
+ @Override
+ public void onDetached() {
+ getContext().unregisterReceiver(mReceiver);
+ super.onDetached();
+ }
+
+ @Override
+ public void setTemplate(NetworkTemplate template, int subId,
+ NetworkServices services) {
+ mTemplate = template;
+ mSubId = subId;
+ mServices = services;
+ mPolicy = services.mPolicyEditor.getPolicy(mTemplate);
+ setSummary(getContext().getString(R.string.billing_cycle_fragment_summary,
+ mPolicy != null ? mPolicy.cycleDay : 1));
+ setIntent(getIntent());
+ }
+
+ private void updateEnabled() {
+ try {
+ setEnabled(mPolicy != null && mServices.mNetworkService.isBandwidthControlEnabled()
+ && mServices.mTelephonyManager.getDataEnabled(mSubId)
+ && mServices.mUserManager.isAdminUser());
+ } catch (RemoteException e) {
+ setEnabled(false);
+ }
+ }
+
+ @Override
+ public Intent getIntent() {
+ Bundle args = new Bundle();
+ args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
+ return Utils.onBuildStartFragmentIntent(getContext(), BillingCycleSettings.class.getName(),
+ args, null, 0, getTitle(), false);
+ }
+
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ updateEnabled();
+ }
+ };
+}
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
new file mode 100644
index 0000000..5807992
--- /dev/null
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -0,0 +1,357 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.res.Resources;
+import android.net.NetworkPolicy;
+import android.net.NetworkTemplate;
+import android.os.Bundle;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.text.format.Formatter;
+import android.text.format.Time;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.NumberPicker;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settingslib.NetworkPolicyEditor;
+import com.android.settingslib.net.DataUsageController;
+
+import static android.net.NetworkPolicy.LIMIT_DISABLED;
+import static android.net.NetworkPolicy.WARNING_DISABLED;
+import static android.net.TrafficStats.GB_IN_BYTES;
+import static android.net.TrafficStats.MB_IN_BYTES;
+
+public class BillingCycleSettings extends DataUsageBase implements
+ Preference.OnPreferenceChangeListener {
+
+ private static final String TAG = "BillingCycleSettings";
+ private static final boolean LOGD = false;
+
+ private static final String TAG_CONFIRM_LIMIT = "confirmLimit";
+ private static final String TAG_CYCLE_EDITOR = "cycleEditor";
+ private static final String TAG_WARNING_EDITOR = "warningEditor";
+
+ private static final String KEY_BILLING_CYCLE = "billing_cycle";
+ private static final String KEY_DATA_WARNING = "data_warning";
+ private static final String KEY_SET_DATA_LIMIT = "set_data_limit";
+ private static final String KEY_DATA_LIMIT = "data_limit";
+
+ private NetworkTemplate mNetworkTemplate;
+ private Preference mBillingCycle;
+ private Preference mDataWarning;
+ private SwitchPreference mEnableDataLimit;
+ private Preference mDataLimit;
+ private DataUsageController mDataUsageController;
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+
+ mDataUsageController = new DataUsageController(getContext());
+
+ Bundle args = getArguments();
+ mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE);
+
+ addPreferencesFromResource(R.xml.billing_cycle);
+ mBillingCycle = findPreference(KEY_BILLING_CYCLE);
+ mDataWarning = findPreference(KEY_DATA_WARNING);
+ mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT);
+ mEnableDataLimit.setOnPreferenceChangeListener(this);
+ mDataLimit = findPreference(KEY_DATA_LIMIT);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ updatePrefs();
+ }
+
+ private void updatePrefs() {
+ NetworkPolicy policy = services.mPolicyEditor.getPolicy(mNetworkTemplate);
+ mBillingCycle.setSummary(getString(R.string.billing_cycle_summary, policy != null ?
+ policy.cycleDay : 1));
+ mDataWarning.setSummary(Formatter.formatFileSize(getContext(), policy != null
+ ? policy.warningBytes : DataUsageController.DEFAULT_WARNING_LEVEL));
+ if (policy != null && policy.limitBytes != LIMIT_DISABLED) {
+ mDataLimit.setSummary(Formatter.formatFileSize(getContext(), policy.limitBytes));
+ mDataLimit.setEnabled(true);
+ mEnableDataLimit.setChecked(true);
+ } else {
+ mDataLimit.setSummary(null);
+ mDataLimit.setEnabled(false);
+ mEnableDataLimit.setChecked(false);
+ }
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
+ if (preference == mBillingCycle) {
+ CycleEditorFragment.show(this);
+ return true;
+ } else if (preference == mDataWarning) {
+ BytesEditorFragment.show(this, false);
+ return true;
+ } else if (preference == mDataLimit) {
+ BytesEditorFragment.show(this, true);
+ return true;
+ }
+ return super.onPreferenceTreeClick(preference);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ if (mEnableDataLimit == preference) {
+ boolean enabled = (Boolean) newValue;
+ if (enabled) {
+ ConfirmLimitFragment.show(this);
+ } else {
+ setPolicyLimitBytes(LIMIT_DISABLED);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ protected int getMetricsCategory() {
+ return InstrumentedFragment.BILLING_CYCLE;
+ }
+
+ private void setPolicyLimitBytes(long limitBytes) {
+ if (LOGD) Log.d(TAG, "setPolicyLimitBytes()");
+ services.mPolicyEditor.setPolicyLimitBytes(mNetworkTemplate, limitBytes);
+ updatePrefs();
+ }
+
+ /**
+ * Dialog to edit {@link NetworkPolicy#warningBytes}.
+ */
+ public static class BytesEditorFragment extends DialogFragment
+ implements DialogInterface.OnClickListener{
+ private static final String EXTRA_TEMPLATE = "template";
+ private static final String EXTRA_LIMIT = "limit";
+ private View mView;
+
+ public static void show(BillingCycleSettings parent, boolean isLimit) {
+ if (!parent.isAdded()) return;
+
+ final Bundle args = new Bundle();
+ args.putParcelable(EXTRA_TEMPLATE, parent.mNetworkTemplate);
+ args.putBoolean(EXTRA_LIMIT, isLimit);
+
+ final BytesEditorFragment dialog = new BytesEditorFragment();
+ dialog.setArguments(args);
+ dialog.setTargetFragment(parent, 0);
+ dialog.show(parent.getFragmentManager(), TAG_WARNING_EDITOR);
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ final Context context = getActivity();
+
+
+ final LayoutInflater dialogInflater = LayoutInflater.from(context);
+ mView = dialogInflater.inflate(R.layout.data_usage_bytes_editor, null, false);
+ setupPicker((NumberPicker) mView.findViewById(R.id.bytes));
+ return new AlertDialog.Builder(context)
+ .setTitle(R.string.data_usage_warning_editor_title)
+ .setView(mView)
+ .setPositiveButton(R.string.data_usage_cycle_editor_positive, this)
+ .create();
+ }
+
+ private void setupPicker(NumberPicker bytesPicker) {
+ final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+ final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+ final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+ final boolean isLimit = getArguments().getBoolean(EXTRA_LIMIT);
+ final long warningBytes = editor.getPolicyWarningBytes(template);
+ final long limitBytes = editor.getPolicyLimitBytes(template);
+
+ if (isLimit) {
+ bytesPicker.setMaxValue(Integer.MAX_VALUE);
+ if (warningBytes != WARNING_DISABLED) {
+ bytesPicker.setMinValue((int) (warningBytes / MB_IN_BYTES) + 1);
+ } else {
+ bytesPicker.setMinValue(0);
+ }
+ } else {
+ bytesPicker.setMinValue(0);
+ if (limitBytes != LIMIT_DISABLED) {
+ bytesPicker.setMaxValue((int) (limitBytes / MB_IN_BYTES) - 1);
+ } else {
+ bytesPicker.setMaxValue(Integer.MAX_VALUE);
+ }
+ }
+ bytesPicker.setValue((int) ((isLimit ? limitBytes : warningBytes) / MB_IN_BYTES));
+ bytesPicker.setWrapSelectorWheel(false);
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (which != DialogInterface.BUTTON_POSITIVE) {
+ return;
+ }
+ final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+ final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+ final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+ final boolean isLimit = getArguments().getBoolean(EXTRA_LIMIT);
+ NumberPicker bytesPicker = (NumberPicker) mView.findViewById(R.id.bytes);
+ // clear focus to finish pending text edits
+ bytesPicker.clearFocus();
+
+ final long bytes = bytesPicker.getValue() * MB_IN_BYTES;
+ if (isLimit) {
+ editor.setPolicyLimitBytes(template, bytes);
+ } else {
+ editor.setPolicyWarningBytes(template, bytes);
+ }
+ target.updatePrefs();
+ }
+ }
+
+ /**
+ * Dialog to edit {@link NetworkPolicy#cycleDay}.
+ */
+ public static class CycleEditorFragment extends DialogFragment implements
+ DialogInterface.OnClickListener{
+ private static final String EXTRA_TEMPLATE = "template";
+ private NumberPicker mCycleDayPicker;
+
+ public static void show(BillingCycleSettings parent) {
+ if (!parent.isAdded()) return;
+
+ final Bundle args = new Bundle();
+ args.putParcelable(EXTRA_TEMPLATE, parent.mNetworkTemplate);
+
+ final CycleEditorFragment dialog = new CycleEditorFragment();
+ dialog.setArguments(args);
+ dialog.setTargetFragment(parent, 0);
+ dialog.show(parent.getFragmentManager(), TAG_CYCLE_EDITOR);
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ final Context context = getActivity();
+ final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+ final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+ final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
+
+ final View view = dialogInflater.inflate(R.layout.data_usage_cycle_editor, null, false);
+ mCycleDayPicker = (NumberPicker) view.findViewById(R.id.cycle_day);
+
+ final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+ final int cycleDay = editor.getPolicyCycleDay(template);
+
+ mCycleDayPicker.setMinValue(1);
+ mCycleDayPicker.setMaxValue(31);
+ mCycleDayPicker.setValue(cycleDay);
+ mCycleDayPicker.setWrapSelectorWheel(true);
+
+ return builder.setTitle(R.string.data_usage_cycle_editor_title)
+ .setView(view)
+ .setPositiveButton(R.string.data_usage_cycle_editor_positive, this)
+ .create();
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+ final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+ final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+ // clear focus to finish pending text edits
+ mCycleDayPicker.clearFocus();
+
+ final int cycleDay = mCycleDayPicker.getValue();
+ final String cycleTimezone = new Time().timezone;
+ editor.setPolicyCycleDay(template, cycleDay, cycleTimezone);
+ target.updatePrefs();
+ }
+ }
+
+ /**
+ * Dialog to request user confirmation before setting
+ * {@link NetworkPolicy#limitBytes}.
+ */
+ public static class ConfirmLimitFragment extends DialogFragment implements
+ DialogInterface.OnClickListener{
+ private static final String EXTRA_MESSAGE = "message";
+ private static final String EXTRA_LIMIT_BYTES = "limitBytes";
+ public static final float FLOAT = 1.2f;
+
+ public static void show(BillingCycleSettings parent) {
+ if (!parent.isAdded()) return;
+
+ final NetworkPolicy policy = parent.services.mPolicyEditor
+ .getPolicy(parent.mNetworkTemplate);
+ if (policy == null) return;
+
+ final Resources res = parent.getResources();
+ final CharSequence message;
+ final long minLimitBytes = (long) (policy.warningBytes * FLOAT);
+ final long limitBytes;
+
+ // TODO: customize default limits based on network template
+ message = res.getString(R.string.data_usage_limit_dialog_mobile);
+ limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
+
+ final Bundle args = new Bundle();
+ args.putCharSequence(EXTRA_MESSAGE, message);
+ args.putLong(EXTRA_LIMIT_BYTES, limitBytes);
+
+ final ConfirmLimitFragment dialog = new ConfirmLimitFragment();
+ dialog.setArguments(args);
+ dialog.setTargetFragment(parent, 0);
+ dialog.show(parent.getFragmentManager(), TAG_CONFIRM_LIMIT);
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ final Context context = getActivity();
+
+ final CharSequence message = getArguments().getCharSequence(EXTRA_MESSAGE);
+
+ return new AlertDialog.Builder(context)
+ .setTitle(R.string.data_usage_limit_dialog_title)
+ .setMessage(message)
+ .setPositiveButton(android.R.string.ok, this)
+ .setNegativeButton(android.R.string.cancel, null)
+ .create();
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (which != DialogInterface.BUTTON_POSITIVE) return;
+ final long limitBytes = getArguments().getLong(EXTRA_LIMIT_BYTES);
+ final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+ if (target != null) {
+ target.setPolicyLimitBytes(limitBytes);
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
new file mode 100644
index 0000000..0a91be2
--- /dev/null
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -0,0 +1,276 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.app.AlertDialog;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.NetworkTemplate;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.widget.Checkable;
+import com.android.internal.logging.MetricsLogger;
+import com.android.settings.CustomDialogPreference;
+import com.android.settings.R;
+import com.android.settings.Utils;
+
+import java.util.List;
+
+public class CellDataPreference extends CustomDialogPreference implements TemplatePreference {
+
+ // TODO: Get Telephony to broadcast when this changes, and remove this.
+ static final String ACTION_DATA_ENABLED_CHANGED =
+ "com.android.settings.action.DATA_ENABLED_CHANGED";
+
+ private static final String TAG = "CellDataPreference";
+
+ public int mSubId;
+ public boolean mChecked;
+ public boolean mMultiSimDialog;
+ private TelephonyManager mTelephonyManager;
+ private SubscriptionManager mSubscriptionManager;
+
+ public CellDataPreference(Context context, AttributeSet attrs) {
+ super(context, attrs, android.R.attr.switchPreferenceStyle);
+ }
+
+ @Override
+ protected void onRestoreInstanceState(Parcelable s) {
+ CellDataState state = (CellDataState) s;
+ super.onRestoreInstanceState(state.getSuperState());
+ mTelephonyManager = TelephonyManager.from(getContext());
+ mChecked = state.mChecked;
+ mMultiSimDialog = state.mMultiSimDialog;
+ mSubId = state.mSubId;
+ setKey(getKey() + mSubId);
+ notifyChanged();
+ }
+
+ @Override
+ protected Parcelable onSaveInstanceState() {
+ CellDataState state = new CellDataState(super.onSaveInstanceState());
+ state.mChecked = mChecked;
+ state.mMultiSimDialog = mMultiSimDialog;
+ state.mSubId = mSubId;
+ return state;
+ }
+
+ @Override
+ public void onAttached() {
+ super.onAttached();
+ getContext().registerReceiver(mReceiver, new IntentFilter(ACTION_DATA_ENABLED_CHANGED));
+ }
+
+ @Override
+ public void onDetached() {
+ getContext().unregisterReceiver(mReceiver);
+ super.onDetached();
+ }
+
+ @Override
+ public void setTemplate(NetworkTemplate template, int subId, NetworkServices services) {
+ if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ throw new IllegalArgumentException("CellDataPreference needs a SubscriptionInfo");
+ }
+ mTelephonyManager = TelephonyManager.from(getContext());
+ if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ mSubId = subId;
+ setKey(getKey() + subId);
+ }
+ updateChecked();
+ }
+
+ private void updateChecked() {
+ setChecked(mTelephonyManager.getDataEnabled(mSubId));
+ }
+
+ @Override
+ protected void performClick(View view) {
+ super.performClick(view);
+ MetricsLogger.action(getContext(), MetricsLogger.ACTION_CELL_DATA_TOGGLE, !mChecked);
+ if (mChecked) {
+ // disabling data; show confirmation dialog which eventually
+ // calls setMobileDataEnabled() once user confirms.
+ mMultiSimDialog = false;
+ super.performClick(view);
+ } else {
+ // If we are showing the Sim Card tile then we are a Multi-Sim device.
+ if (Utils.showSimCardTile(getContext())) {
+ mMultiSimDialog = true;
+ super.performClick(view);
+ } else {
+ setMobileDataEnabled(true);
+ }
+ }
+ }
+
+ private void setMobileDataEnabled(boolean enabled) {
+ if (DataUsageSummary.LOGD) Log.d(TAG, "setMobileDataEnabled()");
+ mTelephonyManager.setDataEnabled(mSubId, enabled);
+ setChecked(enabled);
+ getContext().sendBroadcast(new Intent(ACTION_DATA_ENABLED_CHANGED));
+ }
+
+ private void setChecked(boolean checked) {
+ if (mChecked == checked) return;
+ mChecked = checked;
+ notifyChanged();
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+ View switchView = holder.findViewById(android.R.id.switch_widget);
+ switchView.setClickable(false);
+ ((Checkable) switchView).setChecked(mChecked);
+ }
+
+ @Override
+ protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+ DialogInterface.OnClickListener listener) {
+ if (mMultiSimDialog) {
+ showMultiSimDialog(builder, listener);
+ } else {
+ showDisableDialog(builder, listener);
+ }
+ }
+
+ private void showDisableDialog(AlertDialog.Builder builder,
+ DialogInterface.OnClickListener listener) {
+ builder.setTitle(null)
+ .setMessage(R.string.data_usage_disable_mobile)
+ .setPositiveButton(android.R.string.ok, listener)
+ .setNegativeButton(android.R.string.cancel, null);
+ }
+
+ private void showMultiSimDialog(AlertDialog.Builder builder,
+ DialogInterface.OnClickListener listener) {
+ mSubscriptionManager = SubscriptionManager.from(getContext());
+ final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
+
+ final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
+
+ // If the device is single SIM or is enabling data on the active data SIM then forgo
+ // the pop-up.
+ if (!Utils.showSimCardTile(getContext()) ||
+ (nextSir != null && currentSir != null &&
+ currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
+ setMobileDataEnabled(true);
+ if (nextSir != null && currentSir != null &&
+ currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
+ disableDataForOtherSubscriptions(currentSir);
+ }
+ return;
+ }
+
+ final String previousName = (nextSir == null)
+ ? getContext().getResources().getString(R.string.sim_selection_required_pref)
+ : nextSir.getDisplayName().toString();
+
+ builder.setTitle(R.string.sim_change_data_title);
+ builder.setMessage(getContext().getString(R.string.sim_change_data_message,
+ currentSir.getDisplayName(), previousName));
+
+ builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int id) {
+ mSubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId());
+ setMobileDataEnabled(true);
+ disableDataForOtherSubscriptions(currentSir);
+ }
+ });
+ builder.setNegativeButton(R.string.cancel, null);
+
+ builder.create().show();
+ }
+
+ private void disableDataForOtherSubscriptions(SubscriptionInfo currentSir) {
+ List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
+ if (subInfoList != null) {
+ for (SubscriptionInfo subInfo : subInfoList) {
+ if (subInfo.getSubscriptionId() != currentSir.getSubscriptionId()) {
+ mTelephonyManager.setDataEnabled(subInfo.getSubscriptionId(), false);
+ }
+ }
+ }
+ getContext().sendBroadcast(new Intent(ACTION_DATA_ENABLED_CHANGED));
+ }
+
+ @Override
+ protected void onClick(DialogInterface dialog, int which) {
+ if (which != DialogInterface.BUTTON_POSITIVE) {
+ return;
+ }
+ if (mMultiSimDialog) {
+ } else {
+ // TODO: extend to modify policy enabled flag.
+ setMobileDataEnabled(false);
+ }
+ }
+
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ updateChecked();
+ }
+ };
+
+ public static class CellDataState extends BaseSavedState {
+ public int mSubId;
+ public boolean mChecked;
+ public boolean mMultiSimDialog;
+
+ public CellDataState(Parcelable base) {
+ super(base);
+ }
+
+ public CellDataState(Parcel source) {
+ super(source);
+ mChecked = source.readByte() != 0;
+ mMultiSimDialog = source.readByte() != 0;
+ mSubId = source.readInt();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ super.writeToParcel(dest, flags);
+ dest.writeByte((byte) (mChecked ? 1 : 0));
+ dest.writeByte((byte) (mMultiSimDialog ? 1 : 0));
+ dest.writeInt(mSubId);
+ }
+
+ public static final Creator<CellDataState> CREATOR = new Creator<CellDataState>() {
+ @Override
+ public CellDataState createFromParcel(Parcel source) {
+ return new CellDataState(source);
+ }
+
+ @Override
+ public CellDataState[] newArray(int size) {
+ return new CellDataState[size];
+ }
+ };
+ }
+}
diff --git a/src/com/android/settings/datausage/ChartDataUsagePreference.java b/src/com/android/settings/datausage/ChartDataUsagePreference.java
new file mode 100644
index 0000000..f328cf6
--- /dev/null
+++ b/src/com/android/settings/datausage/ChartDataUsagePreference.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.net.NetworkPolicy;
+import android.net.NetworkStatsHistory;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.util.AttributeSet;
+import com.android.settings.R;
+import com.android.settings.widget.ChartDataUsageView;
+import com.android.settings.widget.ChartNetworkSeriesView;
+
+public class ChartDataUsagePreference extends Preference {
+
+ private NetworkPolicy mPolicy;
+ private long mStart;
+ private long mEnd;
+ private NetworkStatsHistory mNetwork;
+ private int mSecondaryColor;
+ private int mSeriesColor;
+
+ public ChartDataUsagePreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ setLayoutResource(R.layout.data_usage_chart);
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+ ChartDataUsageView chart = (ChartDataUsageView) holder.itemView;
+ chart.setVisibleRange(mStart, mEnd);
+ chart.bindNetworkPolicy(mPolicy);
+ chart.bindNetworkStats(mNetwork);
+ ChartNetworkSeriesView series = (ChartNetworkSeriesView) holder.findViewById(R.id.series);
+ series.setChartColor(Color.BLACK, mSeriesColor, mSecondaryColor);
+ }
+
+ public void bindNetworkPolicy(NetworkPolicy policy) {
+ mPolicy = policy;
+ notifyChanged();
+ }
+
+ public void setVisibleRange(long start, long end) {
+ mStart = start;
+ mEnd = end;
+ notifyChanged();
+ }
+
+ public long getInspectStart() {
+ return mStart;
+ }
+
+ public long getInspectEnd() {
+ return mEnd;
+ }
+
+ public void bindNetworkStats(NetworkStatsHistory network) {
+ mNetwork = network;
+ notifyChanged();
+ }
+
+ public void setColors(int seriesColor, int secondaryColor) {
+ mSeriesColor = seriesColor;
+ mSecondaryColor = secondaryColor;
+ notifyChanged();
+ }
+}
diff --git a/src/com/android/settings/datausage/CycleAdapter.java b/src/com/android/settings/datausage/CycleAdapter.java
new file mode 100644
index 0000000..682cc8a
--- /dev/null
+++ b/src/com/android/settings/datausage/CycleAdapter.java
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import com.android.settings.Utils;
+import com.android.settingslib.net.ChartData;
+
+import android.content.Context;
+import android.net.NetworkPolicy;
+import android.net.NetworkStatsHistory;
+import android.text.format.DateUtils;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Spinner;
+
+import libcore.util.Objects;
+
+import static android.net.NetworkPolicyManager.computeLastCycleBoundary;
+import static android.net.NetworkPolicyManager.computeNextCycleBoundary;
+
+public class CycleAdapter extends ArrayAdapter<CycleAdapter.CycleItem> {
+
+ private final Spinner mSpinner;
+ private final AdapterView.OnItemSelectedListener mListener;
+
+ public CycleAdapter(Context context, Spinner spinner,
+ AdapterView.OnItemSelectedListener listener) {
+ super(context, com.android.settings.R.layout.filter_spinner_item);
+ setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ mSpinner = spinner;
+ mListener = listener;
+ mSpinner.setAdapter(this);
+ mSpinner.setOnItemSelectedListener(mListener);
+ }
+
+ /**
+ * Find position of {@link CycleItem} in this adapter which is nearest
+ * the given {@link CycleItem}.
+ */
+ public int findNearestPosition(CycleItem target) {
+ if (target != null) {
+ final int count = getCount();
+ for (int i = count - 1; i >= 0; i--) {
+ final CycleItem item = getItem(i);
+ if (item.compareTo(target) >= 0) {
+ return i;
+ }
+ }
+ }
+ return 0;
+ }
+
+ /**
+ * Rebuild list based on {@link NetworkPolicy#cycleDay}
+ * and available {@link NetworkStatsHistory} data. Always selects the newest
+ * item, updating the inspection range on chartData.
+ */
+ public boolean updateCycleList(NetworkPolicy policy, ChartData chartData) {
+ // stash away currently selected cycle to try restoring below
+ final CycleAdapter.CycleItem previousItem = (CycleAdapter.CycleItem)
+ mSpinner.getSelectedItem();
+ clear();
+
+ final Context context = mSpinner.getContext();
+ NetworkStatsHistory.Entry entry = null;
+
+ long historyStart = Long.MAX_VALUE;
+ long historyEnd = Long.MIN_VALUE;
+ if (chartData != null) {
+ historyStart = chartData.network.getStart();
+ historyEnd = chartData.network.getEnd();
+ }
+
+ final long now = System.currentTimeMillis();
+ if (historyStart == Long.MAX_VALUE) historyStart = now;
+ if (historyEnd == Long.MIN_VALUE) historyEnd = now + 1;
+
+ boolean hasCycles = false;
+ if (policy != null) {
+ // find the next cycle boundary
+ long cycleEnd = computeNextCycleBoundary(historyEnd, policy);
+
+ // walk backwards, generating all valid cycle ranges
+ while (cycleEnd > historyStart) {
+ final long cycleStart = computeLastCycleBoundary(cycleEnd, policy);
+
+ final boolean includeCycle;
+ if (chartData != null) {
+ entry = chartData.network.getValues(cycleStart, cycleEnd, entry);
+ includeCycle = (entry.rxBytes + entry.txBytes) > 0;
+ } else {
+ includeCycle = true;
+ }
+
+ if (includeCycle) {
+ add(new CycleAdapter.CycleItem(context, cycleStart, cycleEnd));
+ hasCycles = true;
+ }
+ cycleEnd = cycleStart;
+ }
+ }
+
+ if (!hasCycles) {
+ // no policy defined cycles; show entry for each four-week period
+ long cycleEnd = historyEnd;
+ while (cycleEnd > historyStart) {
+ final long cycleStart = cycleEnd - (DateUtils.WEEK_IN_MILLIS * 4);
+
+ final boolean includeCycle;
+ if (chartData != null) {
+ entry = chartData.network.getValues(cycleStart, cycleEnd, entry);
+ includeCycle = (entry.rxBytes + entry.txBytes) > 0;
+ } else {
+ includeCycle = true;
+ }
+
+ if (includeCycle) {
+ add(new CycleAdapter.CycleItem(context, cycleStart, cycleEnd));
+ }
+ cycleEnd = cycleStart;
+ }
+ }
+
+ // force pick the current cycle (first item)
+ if (getCount() > 0) {
+ final int position = findNearestPosition(previousItem);
+ mSpinner.setSelection(position);
+
+ // only force-update cycle when changed; skipping preserves any
+ // user-defined inspection region.
+ final CycleAdapter.CycleItem selectedItem = getItem(position);
+ if (!Objects.equal(selectedItem, previousItem)) {
+ mListener.onItemSelected(mSpinner, null, position, 0);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * List item that reflects a specific data usage cycle.
+ */
+ public static class CycleItem implements Comparable<CycleItem> {
+ public CharSequence label;
+ public long start;
+ public long end;
+
+ public CycleItem(CharSequence label) {
+ this.label = label;
+ }
+
+ public CycleItem(Context context, long start, long end) {
+ this.label = Utils.formatDateRange(context, start, end);
+ this.start = start;
+ this.end = end;
+ }
+
+ @Override
+ public String toString() {
+ return label.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof CycleItem) {
+ final CycleItem another = (CycleItem) o;
+ return start == another.start && end == another.end;
+ }
+ return false;
+ }
+
+ @Override
+ public int compareTo(CycleItem another) {
+ return Long.compare(start, another.start);
+ }
+ }
+}
diff --git a/src/com/android/settings/datausage/DataUsageBase.java b/src/com/android/settings/datausage/DataUsageBase.java
new file mode 100644
index 0000000..ef565a1
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageBase.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settingslib.NetworkPolicyEditor;
+
+import android.content.Context;
+import android.net.INetworkStatsService;
+import android.net.NetworkPolicy;
+import android.net.NetworkPolicyManager;
+import android.os.Bundle;
+import android.os.INetworkManagementService;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.UserManager;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+
+public abstract class DataUsageBase extends SettingsPreferenceFragment {
+
+ private static final String TAG = "DataUsageBase";
+
+ protected final TemplatePreference.NetworkServices services =
+ new TemplatePreference.NetworkServices();
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+ final Context context = getActivity();
+
+ services.mNetworkService = INetworkManagementService.Stub.asInterface(
+ ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
+ services.mStatsService = INetworkStatsService.Stub.asInterface(
+ ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
+ services.mPolicyManager = NetworkPolicyManager.from(context);
+
+ services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
+
+ services.mTelephonyManager = TelephonyManager.from(context);
+ services.mSubscriptionManager = SubscriptionManager.from(context);
+ services.mUserManager = UserManager.get(context);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ services.mPolicyEditor.read();
+ }
+
+ protected boolean isAdmin() {
+ return services.mUserManager.isAdminUser();
+ }
+
+ protected boolean isMobileDataAvailable(int subId) {
+ return services.mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
+ }
+
+ protected boolean isNetworkPolicyModifiable(NetworkPolicy policy, int subId) {
+ return policy != null && isBandwidthControlEnabled() && services.mUserManager.isAdminUser()
+ && isDataEnabled(subId);
+ }
+
+ private boolean isDataEnabled(int subId) {
+ if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ return true;
+ }
+ return services.mTelephonyManager.getDataEnabled(subId);
+ }
+
+ protected boolean isBandwidthControlEnabled() {
+ try {
+ return services.mNetworkService.isBandwidthControlEnabled();
+ } catch (RemoteException e) {
+ Log.w(TAG, "problem talking with INetworkManagementService: " + e);
+ return false;
+ }
+ }
+}
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
new file mode 100644
index 0000000..4aa52ba
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -0,0 +1,550 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.app.ActivityManager;
+import android.app.LoaderManager.LoaderCallbacks;
+import android.content.Context;
+import android.content.Loader;
+import android.content.pm.UserInfo;
+import android.graphics.Color;
+import android.net.ConnectivityManager;
+import android.net.INetworkStatsSession;
+import android.net.NetworkPolicy;
+import android.net.NetworkStats;
+import android.net.NetworkStatsHistory;
+import android.net.NetworkTemplate;
+import android.net.TrafficStats;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceGroup;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.text.format.DateUtils;
+import android.text.format.Formatter;
+import android.util.Log;
+import android.util.SparseArray;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemSelectedListener;
+import android.widget.Spinner;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settingslib.AppItem;
+import com.android.settingslib.net.ChartData;
+import com.android.settingslib.net.ChartDataLoader;
+import com.android.settingslib.net.SummaryForAllUidLoader;
+import com.android.settingslib.net.UidDetailProvider;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static android.net.ConnectivityManager.TYPE_MOBILE;
+import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+import static android.net.TrafficStats.UID_REMOVED;
+import static android.net.TrafficStats.UID_TETHERING;
+import static android.telephony.TelephonyManager.SIM_STATE_READY;
+import static com.android.settings.datausage.DataUsageSummary.TEST_RADIOS;
+import static com.android.settings.datausage.DataUsageSummary.TEST_RADIOS_PROP;
+
+/**
+ * Panel showing data usage history across various networks, including options
+ * to inspect based on usage cycle and control through {@link NetworkPolicy}.
+ */
+public class DataUsageList extends DataUsageBase {
+ private static final String TAG = "DataUsage";
+ private static final boolean LOGD = false;
+
+ private static final String KEY_USAGE_AMOUNT = "usage_amount";
+ private static final String KEY_CHART_DATA = "chart_data";
+ private static final String KEY_APPS_GROUP = "apps_group";
+
+ private static final int LOADER_CHART_DATA = 2;
+ private static final int LOADER_SUMMARY = 3;
+ public static final String EXTRA_SUB_ID = "sub_id";
+ public static final String EXTRA_NETWORK_TEMPLATE = "network_template";
+
+ private INetworkStatsSession mStatsSession;
+
+ private ChartDataUsagePreference mChart;
+
+ private NetworkTemplate mTemplate;
+ private int mSubId;
+ private ChartData mChartData;
+
+ /** Flag used to ignore listeners during binding. */
+ private boolean mBinding;
+
+ private UidDetailProvider mUidDetailProvider;
+
+ /**
+ * Local cache of data enabled for subId, used to work around delays.
+ */
+ private final Map<String, Boolean> mMobileDataEnabled = new HashMap<String, Boolean>();
+ private CycleAdapter mCycleAdapter;
+ private Spinner mCycleSpinner;
+ private Preference mUsageAmount;
+ private PreferenceGroup mApps;
+ private View mHeader;
+
+ @Override
+ protected int getMetricsCategory() {
+ return InstrumentedFragment.DATA_USAGE_LIST;
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ final Context context = getActivity();
+
+ if (!isBandwidthControlEnabled()) {
+ Log.w(TAG, "No bandwidth control; leaving");
+ getActivity().finish();
+ }
+
+ try {
+ mStatsSession = services.mStatsService.openSession();
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+
+ mUidDetailProvider = new UidDetailProvider(context);
+
+ addPreferencesFromResource(R.xml.data_usage_list);
+ mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
+ mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
+ mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
+
+ final Bundle args = getArguments();
+ mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+ mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
+ }
+
+ @Override
+ public void onViewCreated(View v, Bundle savedInstanceState) {
+ super.onViewCreated(v, savedInstanceState);
+
+ mHeader = setPinnedHeaderView(R.layout.apps_filter_spinner);
+ mCycleSpinner = (Spinner) mHeader.findViewById(R.id.filter_spinner);
+ mCycleAdapter = new CycleAdapter(getContext(), mCycleSpinner, mCycleListener);
+ setLoading(true, false);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ updateBody();
+
+ // kick off background task to update stats
+ new AsyncTask<Void, Void, Void>() {
+ @Override
+ protected Void doInBackground(Void... params) {
+ try {
+ // wait a few seconds before kicking off
+ Thread.sleep(2 * DateUtils.SECOND_IN_MILLIS);
+ services.mStatsService.forceUpdate();
+ } catch (InterruptedException e) {
+ } catch (RemoteException e) {
+ }
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void result) {
+ if (isAdded()) {
+ updateBody();
+ }
+ }
+ }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ }
+
+ @Override
+ public void onDestroy() {
+ mUidDetailProvider.clearCache();
+ mUidDetailProvider = null;
+
+ TrafficStats.closeQuietly(mStatsSession);
+
+ super.onDestroy();
+ }
+
+ /**
+ * Update body content based on current tab. Loads
+ * {@link NetworkStatsHistory} and {@link NetworkPolicy} from system, and
+ * binds them to visible controls.
+ */
+ private void updateBody() {
+ mBinding = true;
+ if (!isAdded()) return;
+
+ final Context context = getActivity();
+
+ // kick off loader for network history
+ // TODO: consider chaining two loaders together instead of reloading
+ // network history when showing app detail.
+ getLoaderManager().restartLoader(LOADER_CHART_DATA,
+ ChartDataLoader.buildArgs(mTemplate, null), mChartDataCallbacks);
+
+ // detail mode can change visible menus, invalidate
+ getActivity().invalidateOptionsMenu();
+
+ mBinding = false;
+
+ int seriesColor = context.getColor(R.color.sim_noitification);
+ if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID){
+ final SubscriptionInfo sir = services.mSubscriptionManager
+ .getActiveSubscriptionInfo(mSubId);
+
+ if (sir != null) {
+ seriesColor = sir.getIconTint();
+ }
+ }
+
+ final int secondaryColor = Color.argb(127, Color.red(seriesColor), Color.green(seriesColor),
+ Color.blue(seriesColor));
+ mChart.setColors(seriesColor, secondaryColor);
+ }
+
+ /**
+ * Update chart sweeps and cycle list to reflect {@link NetworkPolicy} for
+ * current {@link #mTemplate}.
+ */
+ private void updatePolicy(boolean refreshCycle) {
+ final NetworkPolicy policy = services.mPolicyEditor.getPolicy(mTemplate);
+ //SUB SELECT
+ if (isNetworkPolicyModifiable(policy, mSubId) && isMobileDataAvailable(mSubId)) {
+ mChart.bindNetworkPolicy(policy);
+ mHeader.findViewById(R.id.filter_settings).setVisibility(View.VISIBLE);
+ mHeader.findViewById(R.id.filter_settings).setOnClickListener(
+ new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Bundle args = new Bundle();
+ args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
+ startFragment(DataUsageList.this, BillingCycleSettings.class.getName(),
+ R.string.billing_cycle, 0, args);
+ }
+ });
+ } else {
+ // controls are disabled; don't bind warning/limit sweeps
+ mChart.bindNetworkPolicy(null);
+ mHeader.findViewById(R.id.filter_settings).setVisibility(View.GONE);
+ }
+
+ if (refreshCycle) {
+ // generate cycle list based on policy and available history
+ if (mCycleAdapter.updateCycleList(policy, mChartData)) {
+ updateDetailData();
+ }
+ }
+ }
+
+ /**
+ * Update details based on {@link #mChart} inspection range depending on
+ * current mode. Updates {@link #mAdapter} with sorted list
+ * of applications data usage.
+ */
+ private void updateDetailData() {
+ if (LOGD) Log.d(TAG, "updateDetailData()");
+
+ final long start = mChart.getInspectStart();
+ final long end = mChart.getInspectEnd();
+ final long now = System.currentTimeMillis();
+
+ final Context context = getActivity();
+
+ NetworkStatsHistory.Entry entry = null;
+ if (mChartData != null) {
+ entry = mChartData.network.getValues(start, end, now, null);
+ }
+
+ // kick off loader for detailed stats
+ getLoaderManager().restartLoader(LOADER_SUMMARY,
+ SummaryForAllUidLoader.buildArgs(mTemplate, start, end), mSummaryCallbacks);
+
+ final long totalBytes = entry != null ? entry.rxBytes + entry.txBytes : 0;
+ final String totalPhrase = Formatter.formatFileSize(context, totalBytes);
+ mUsageAmount.setTitle(getString(R.string.data_used_template, totalPhrase));
+ }
+
+ /**
+ * Bind the given {@link NetworkStats}, or {@code null} to clear list.
+ */
+ public void bindStats(NetworkStats stats, int[] restrictedUids) {
+ ArrayList<AppItem> items = new ArrayList<>();
+ long largest = 0;
+
+ final int currentUserId = ActivityManager.getCurrentUser();
+ UserManager userManager = UserManager.get(getContext());
+ final List<UserHandle> profiles = userManager.getUserProfiles();
+ final SparseArray<AppItem> knownItems = new SparseArray<AppItem>();
+
+ NetworkStats.Entry entry = null;
+ final int size = stats != null ? stats.size() : 0;
+ for (int i = 0; i < size; i++) {
+ entry = stats.getValues(i, entry);
+
+ // Decide how to collapse items together
+ final int uid = entry.uid;
+
+ final int collapseKey;
+ final int category;
+ final int userId = UserHandle.getUserId(uid);
+ if (UserHandle.isApp(uid)) {
+ if (profiles.contains(new UserHandle(userId))) {
+ if (userId != currentUserId) {
+ // Add to a managed user item.
+ final int managedKey = UidDetailProvider.buildKeyForUser(userId);
+ largest = accumulate(managedKey, knownItems, entry, AppItem.CATEGORY_USER,
+ items, largest);
+ }
+ // Add to app item.
+ collapseKey = uid;
+ category = AppItem.CATEGORY_APP;
+ } else {
+ // If it is a removed user add it to the removed users' key
+ final UserInfo info = userManager.getUserInfo(userId);
+ if (info == null) {
+ collapseKey = UID_REMOVED;
+ category = AppItem.CATEGORY_APP;
+ } else {
+ // Add to other user item.
+ collapseKey = UidDetailProvider.buildKeyForUser(userId);
+ category = AppItem.CATEGORY_USER;
+ }
+ }
+ } else if (uid == UID_REMOVED || uid == UID_TETHERING) {
+ collapseKey = uid;
+ category = AppItem.CATEGORY_APP;
+ } else {
+ collapseKey = android.os.Process.SYSTEM_UID;
+ category = AppItem.CATEGORY_APP;
+ }
+ largest = accumulate(collapseKey, knownItems, entry, category, items, largest);
+ }
+
+ final int restrictedUidsMax = restrictedUids.length;
+ for (int i = 0; i < restrictedUidsMax; ++i) {
+ final int uid = restrictedUids[i];
+ // Only splice in restricted state for current user or managed users
+ if (!profiles.contains(new UserHandle(UserHandle.getUserId(uid)))) {
+ continue;
+ }
+
+ AppItem item = knownItems.get(uid);
+ if (item == null) {
+ item = new AppItem(uid);
+ item.total = -1;
+ items.add(item);
+ knownItems.put(item.key, item);
+ }
+ item.restricted = true;
+ }
+
+ Collections.sort(items);
+ mApps.removeAll();
+ for (int i = 0; i < items.size(); i++) {
+ final int percentTotal = largest != 0 ? (int) (items.get(i).total * 100 / largest) : 0;
+ AppDataUsagePreference preference = new AppDataUsagePreference(getContext(),
+ items.get(i), percentTotal, mUidDetailProvider);
+ preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ AppDataUsagePreference pref = (AppDataUsagePreference) preference;
+ AppItem item = pref.getItem();
+ startAppDataUsage(item);
+ return true;
+ }
+ });
+ mApps.addPreference(preference);
+ }
+ }
+
+ private void startAppDataUsage(AppItem item) {
+ Bundle args = new Bundle();
+ args.putParcelable(AppDataUsage.ARG_APP_ITEM, item);
+ args.putParcelable(AppDataUsage.ARG_NETWORK_TEMPLATE, mTemplate);
+ startFragment(this, AppDataUsage.class.getName(), R.string.app_data_usage, 0, args);
+ }
+
+ /**
+ * Accumulate data usage of a network stats entry for the item mapped by the collapse key.
+ * Creates the item if needed.
+ * @param collapseKey the collapse key used to map the item.
+ * @param knownItems collection of known (already existing) items.
+ * @param entry the network stats entry to extract data usage from.
+ * @param itemCategory the item is categorized on the list view by this category. Must be
+ */
+ private static long accumulate(int collapseKey, final SparseArray<AppItem> knownItems,
+ NetworkStats.Entry entry, int itemCategory, ArrayList<AppItem> items, long largest) {
+ final int uid = entry.uid;
+ AppItem item = knownItems.get(collapseKey);
+ if (item == null) {
+ item = new AppItem(collapseKey);
+ item.category = itemCategory;
+ items.add(item);
+ knownItems.put(item.key, item);
+ }
+ item.addUid(uid);
+ item.total += entry.rxBytes + entry.txBytes;
+ return Math.max(largest, item.total);
+ }
+
+ /**
+ * Test if device has a mobile data radio with SIM in ready state.
+ */
+ public static boolean hasReadyMobileRadio(Context context) {
+ if (TEST_RADIOS) {
+ return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
+ }
+
+ final ConnectivityManager conn = ConnectivityManager.from(context);
+ final TelephonyManager tele = TelephonyManager.from(context);
+
+ final List<SubscriptionInfo> subInfoList =
+ SubscriptionManager.from(context).getActiveSubscriptionInfoList();
+ // No activated Subscriptions
+ if (subInfoList == null) {
+ if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfoList=null");
+ return false;
+ }
+ // require both supported network and ready SIM
+ boolean isReady = true;
+ for (SubscriptionInfo subInfo : subInfoList) {
+ isReady = isReady & tele.getSimState(subInfo.getSimSlotIndex()) == SIM_STATE_READY;
+ if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfo=" + subInfo);
+ }
+ boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
+ if (LOGD) {
+ Log.d(TAG, "hasReadyMobileRadio:"
+ + " conn.isNetworkSupported(TYPE_MOBILE)="
+ + conn.isNetworkSupported(TYPE_MOBILE)
+ + " isReady=" + isReady);
+ }
+ return retVal;
+ }
+
+ /*
+ * TODO: consider adding to TelephonyManager or SubscriptionManager.
+ */
+ public static boolean hasReadyMobileRadio(Context context, int subId) {
+ if (TEST_RADIOS) {
+ return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
+ }
+
+ final ConnectivityManager conn = ConnectivityManager.from(context);
+ final TelephonyManager tele = TelephonyManager.from(context);
+ final int slotId = SubscriptionManager.getSlotId(subId);
+ final boolean isReady = tele.getSimState(slotId) == SIM_STATE_READY;
+
+ boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
+ if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subId=" + subId
+ + " conn.isNetworkSupported(TYPE_MOBILE)=" + conn.isNetworkSupported(TYPE_MOBILE)
+ + " isReady=" + isReady);
+ return retVal;
+ }
+
+ private OnItemSelectedListener mCycleListener = new OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ final CycleAdapter.CycleItem cycle = (CycleAdapter.CycleItem)
+ parent.getItemAtPosition(position);
+
+ if (LOGD) {
+ Log.d(TAG, "showing cycle " + cycle + ", start=" + cycle.start + ", end="
+ + cycle.end + "]");
+ }
+
+ // update chart to show selected cycle, and update detail data
+ // to match updated sweep bounds.
+ mChart.setVisibleRange(cycle.start, cycle.end);
+
+ updateDetailData();
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ // ignored
+ }
+ };
+
+ private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks<
+ ChartData>() {
+ @Override
+ public Loader<ChartData> onCreateLoader(int id, Bundle args) {
+ return new ChartDataLoader(getActivity(), mStatsSession, args);
+ }
+
+ @Override
+ public void onLoadFinished(Loader<ChartData> loader, ChartData data) {
+ setLoading(false, true);
+ mChartData = data;
+ mChart.bindNetworkStats(mChartData.network);
+
+ // calcuate policy cycles based on available data
+ updatePolicy(true);
+ }
+
+ @Override
+ public void onLoaderReset(Loader<ChartData> loader) {
+ mChartData = null;
+ mChart.bindNetworkStats(null);
+ }
+ };
+
+ private final LoaderCallbacks<NetworkStats> mSummaryCallbacks = new LoaderCallbacks<
+ NetworkStats>() {
+ @Override
+ public Loader<NetworkStats> onCreateLoader(int id, Bundle args) {
+ return new SummaryForAllUidLoader(getActivity(), mStatsSession, args);
+ }
+
+ @Override
+ public void onLoadFinished(Loader<NetworkStats> loader, NetworkStats data) {
+ final int[] restrictedUids = services.mPolicyManager.getUidsWithPolicy(
+ POLICY_REJECT_METERED_BACKGROUND);
+ bindStats(data, restrictedUids);
+ updateEmptyVisible();
+ }
+
+ @Override
+ public void onLoaderReset(Loader<NetworkStats> loader) {
+ bindStats(null, new int[0]);
+ updateEmptyVisible();
+ }
+
+ private void updateEmptyVisible() {
+ if ((mApps.getPreferenceCount() != 0) !=
+ (getPreferenceScreen().getPreferenceCount() != 0)) {
+ if (mApps.getPreferenceCount() != 0) {
+ getPreferenceScreen().addPreference(mUsageAmount);
+ getPreferenceScreen().addPreference(mApps);
+ } else {
+ getPreferenceScreen().removeAll();
+ }
+ }
+ }
+ };
+}
diff --git a/src/com/android/settings/net/DataUsageMeteredSettings.java b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
similarity index 93%
rename from src/com/android/settings/net/DataUsageMeteredSettings.java
rename to src/com/android/settings/datausage/DataUsageMeteredSettings.java
index ef3a705..9790704 100644
--- a/src/com/android/settings/net/DataUsageMeteredSettings.java
+++ b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
@@ -1,20 +1,18 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 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
+ * 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.
+ * 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.net;
+package com.android.settings.datausage;
import android.content.Context;
import android.content.res.Resources;
@@ -42,8 +40,8 @@
import static android.net.NetworkPolicy.LIMIT_DISABLED;
import static android.net.wifi.WifiInfo.removeDoubleQuotes;
-import static com.android.settings.DataUsageSummary.hasReadyMobileRadio;
-import static com.android.settings.DataUsageSummary.hasWifiRadio;
+import static com.android.settings.datausage.DataUsageList.hasReadyMobileRadio;
+import static com.android.settings.datausage.DataUsageSummary.hasWifiRadio;
/**
* Panel to configure {@link NetworkPolicy#metered} for networks.
diff --git a/src/com/android/settings/datausage/DataUsagePreference.java b/src/com/android/settings/datausage/DataUsagePreference.java
new file mode 100644
index 0000000..bd865b5
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsagePreference.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.content.Context;
+import android.content.Intent;
+import android.net.NetworkTemplate;
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+import android.telephony.SubscriptionManager;
+import android.text.format.Formatter;
+import android.util.AttributeSet;
+import com.android.settings.Utils;
+import com.android.settingslib.net.DataUsageController;
+import com.android.settings.R;
+
+public class DataUsagePreference extends Preference implements TemplatePreference {
+
+ private NetworkTemplate mTemplate;
+ private int mSubId;
+
+ public DataUsagePreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void setTemplate(NetworkTemplate template, int subId,
+ NetworkServices services) {
+ mTemplate = template;
+ mSubId = subId;
+ DataUsageController controller = new DataUsageController(getContext());
+ DataUsageController.DataUsageInfo usageInfo = controller.getDataUsageInfo(mTemplate);
+ setSummary(getContext().getString(R.string.data_usage_template,
+ Formatter.formatFileSize(getContext(), usageInfo.usageLevel), usageInfo.period));
+ setIntent(getIntent());
+ }
+
+ @Override
+ public Intent getIntent() {
+ Bundle args = new Bundle();
+ args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
+ args.putInt(DataUsageList.EXTRA_SUB_ID, mSubId);
+ return Utils.onBuildStartFragmentIntent(getContext(), DataUsageList.class.getName(), args,
+ getContext().getPackageName(), 0, getTitle(), false);
+ }
+}
diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java
new file mode 100644
index 0000000..f9c9ba6
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageSummary.java
@@ -0,0 +1,378 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.net.INetworkStatsSession;
+import android.net.NetworkTemplate;
+import android.net.TrafficStats;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.provider.SearchIndexableResource;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.text.format.Formatter;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import com.android.internal.logging.MetricsLogger;
+import com.android.settings.R;
+import com.android.settings.SummaryPreference;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settingslib.net.DataUsageController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static android.net.ConnectivityManager.TYPE_ETHERNET;
+import static android.net.ConnectivityManager.TYPE_WIFI;
+
+public class DataUsageSummary extends DataUsageBase implements Indexable {
+
+ private static final String TAG = "DataUsageSummary";
+ static final boolean LOGD = false;
+
+ public static final boolean TEST_RADIOS = false;
+ public static final String TEST_RADIOS_PROP = "test.radios";
+
+ private static final String KEY_STATUS_HEADER = "status_header";
+ private static final String KEY_LIMIT_SUMMARY = "limit_summary";
+ private static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
+
+ private DataUsageController mDataUsageController;
+ private SummaryPreference mSummaryPreference;
+ private Preference mLimitPreference;
+ private NetworkTemplate mDefaultTemplate;
+ private int mDataUsageTemplate;
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+
+ boolean hasMobileData = hasMobileData(getContext());
+ mDataUsageController = new DataUsageController(getContext());
+ addPreferencesFromResource(R.xml.data_usage);
+
+ int defaultSubId = getDefaultSubscriptionId(getContext());
+ if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ hasMobileData = false;
+ }
+ mDefaultTemplate = getDefaultTemplate(getContext(), defaultSubId);
+ if (hasMobileData) {
+ mLimitPreference = findPreference(KEY_LIMIT_SUMMARY);
+ } else {
+ removePreference(KEY_LIMIT_SUMMARY);
+ }
+ if (!hasMobileData || !isAdmin()) {
+ removePreference(KEY_RESTRICT_BACKGROUND);
+ }
+ if (hasMobileData) {
+ List<SubscriptionInfo> subscriptions =
+ services.mSubscriptionManager.getActiveSubscriptionInfoList();
+ if (subscriptions == null || subscriptions.size() == 0) {
+ addMobileSection(defaultSubId);
+ }
+ for (int i = 0; subscriptions != null && i < subscriptions.size(); i++) {
+ addMobileSection(subscriptions.get(i).getSubscriptionId());
+ }
+ }
+ boolean hasWifiRadio = hasWifiRadio(getContext());
+ if (hasWifiRadio) {
+ addWifiSection();
+ }
+ if (hasEthernet(getContext())) {
+ addEthernetSection();
+ }
+ mDataUsageTemplate = hasMobileData ? R.string.cell_data_template
+ : hasWifiRadio ? R.string.wifi_data_template
+ : R.string.ethernet_data_template;
+
+ mSummaryPreference = (SummaryPreference) findPreference(KEY_STATUS_HEADER);
+ setHasOptionsMenu(true);
+ }
+
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ inflater.inflate(R.menu.data_usage, menu);
+ super.onCreateOptionsMenu(menu, inflater);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.data_usage_menu_cellular_networks: {
+ final Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.setComponent(new ComponentName("com.android.phone",
+ "com.android.phone.MobileNetworkSettings"));
+ startActivity(intent);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void addMobileSection(int subId) {
+ TemplatePreferenceCategory category = (TemplatePreferenceCategory)
+ inflatePreferences(R.xml.data_usage_cellular);
+ category.setTemplate(getNetworkTemplate(subId), subId, services);
+ }
+
+ private void addWifiSection() {
+ TemplatePreferenceCategory category = (TemplatePreferenceCategory)
+ inflatePreferences(R.xml.data_usage_wifi);
+ category.setTemplate(NetworkTemplate.buildTemplateWifiWildcard(), 0, services);
+ }
+
+ private void addEthernetSection() {
+ TemplatePreferenceCategory category = (TemplatePreferenceCategory)
+ inflatePreferences(R.xml.data_usage_ethernet);
+ category.setTemplate(NetworkTemplate.buildTemplateEthernet(), 0, services);
+ }
+
+ private Preference inflatePreferences(int resId) {
+ PreferenceScreen rootPreferences = getPreferenceManager().inflateFromResource(
+ getPrefContext(), resId, null);
+ Preference pref = rootPreferences.getPreference(0);
+ rootPreferences.removeAll();
+
+ PreferenceScreen screen = getPreferenceScreen();
+ pref.setOrder(screen.getPreferenceCount());
+ screen.addPreference(pref);
+
+ return pref;
+ }
+
+ private NetworkTemplate getNetworkTemplate(int subscriptionId) {
+ NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
+ services.mTelephonyManager.getSubscriberId(subscriptionId));
+ return NetworkTemplate.normalize(mobileAll,
+ services.mTelephonyManager.getMergedSubscriberIds());
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ updateState();
+ }
+
+ private void updateState() {
+ DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(
+ mDefaultTemplate);
+ Context context = getContext();
+ if (mSummaryPreference != null) {
+ Formatter.BytesResult usedResult = Formatter.formatBytes(context.getResources(),
+ info.usageLevel, Formatter.FLAG_SHORTER);
+ mSummaryPreference.setAmount(usedResult.value);
+ mSummaryPreference.setUnits(getString(mDataUsageTemplate, usedResult.units));
+ long limit = info.limitLevel;
+ if (limit <= 0) {
+ limit = info.warningLevel;
+ }
+ if (info.usageLevel > limit) {
+ limit = info.usageLevel;
+ }
+ mSummaryPreference.setSummary(info.period);
+ mSummaryPreference.setLabels(Formatter.formatFileSize(context, 0),
+ Formatter.formatFileSize(context, limit));
+ mSummaryPreference.setRatios(info.usageLevel / (float) limit, 0,
+ (limit - info.usageLevel) / (float) limit);
+ }
+ if (mLimitPreference != null) {
+ String warning = Formatter.formatFileSize(context, info.warningLevel);
+ String limit = Formatter.formatFileSize(context, info.limitLevel);
+ mLimitPreference.setSummary(getString(info.limitLevel <= 0 ? R.string.cell_warning_only
+ : R.string.cell_warning_and_limit, warning, limit));
+ }
+
+ PreferenceScreen screen = getPreferenceScreen();
+ for (int i = 1; i < screen.getPreferenceCount(); i++) {
+ ((TemplatePreferenceCategory) screen.getPreference(i)).pushTemplates(services);
+ }
+ }
+
+ @Override
+ protected int getMetricsCategory() {
+ return MetricsLogger.DATA_USAGE_SUMMARY;
+ }
+
+ /**
+ * Test if device has an ethernet network connection.
+ */
+ public boolean hasEthernet(Context context) {
+ if (TEST_RADIOS) {
+ return SystemProperties.get(TEST_RADIOS_PROP).contains("ethernet");
+ }
+
+ final ConnectivityManager conn = ConnectivityManager.from(context);
+ final boolean hasEthernet = conn.isNetworkSupported(TYPE_ETHERNET);
+
+ final long ethernetBytes;
+ try {
+ INetworkStatsSession statsSession = services.mStatsService.openSession();
+ if (statsSession != null) {
+ ethernetBytes = statsSession.getSummaryForNetwork(
+ NetworkTemplate.buildTemplateEthernet(), Long.MIN_VALUE, Long.MAX_VALUE)
+ .getTotalBytes();
+ TrafficStats.closeQuietly(statsSession);
+ } else {
+ ethernetBytes = 0;
+ }
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+
+ // only show ethernet when both hardware present and traffic has occurred
+ return hasEthernet && ethernetBytes > 0;
+ }
+
+ public static boolean hasMobileData(Context context) {
+ return ConnectivityManager.from(context).isNetworkSupported(
+ ConnectivityManager.TYPE_MOBILE);
+ }
+
+ /**
+ * Test if device has a Wi-Fi data radio.
+ */
+ public static boolean hasWifiRadio(Context context) {
+ if (TEST_RADIOS) {
+ return SystemProperties.get(TEST_RADIOS_PROP).contains("wifi");
+ }
+
+ final ConnectivityManager conn = ConnectivityManager.from(context);
+ return conn.isNetworkSupported(TYPE_WIFI);
+ }
+
+ public static int getDefaultSubscriptionId(Context context) {
+ SubscriptionManager subManager = SubscriptionManager.from(context);
+ if (subManager == null) {
+ return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+ }
+ SubscriptionInfo subscriptionInfo = subManager.getDefaultDataSubscriptionInfo();
+ if (subscriptionInfo == null) {
+ List<SubscriptionInfo> list = subManager.getAllSubscriptionInfoList();
+ if (list.size() == 0) {
+ return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+ }
+ subscriptionInfo = list.get(0);
+ }
+ return subscriptionInfo.getSubscriptionId();
+ }
+
+ public static NetworkTemplate getDefaultTemplate(Context context, int defaultSubId) {
+ if (hasMobileData(context) && defaultSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ TelephonyManager telephonyManager = TelephonyManager.from(context);
+ NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
+ telephonyManager.getSubscriberId(defaultSubId));
+ return NetworkTemplate.normalize(mobileAll,
+ telephonyManager.getMergedSubscriberIds());
+ } else if (hasWifiRadio(context)) {
+ return NetworkTemplate.buildTemplateWifiWildcard();
+ } else {
+ return NetworkTemplate.buildTemplateEthernet();
+ }
+ }
+
+ private static class SummaryProvider
+ implements SummaryLoader.SummaryProvider {
+
+ private final Activity mActivity;
+ private final SummaryLoader mSummaryLoader;
+ private final DataUsageController mDataController;
+
+ public SummaryProvider(Activity activity, SummaryLoader summaryLoader) {
+ mActivity = activity;
+ mSummaryLoader = summaryLoader;
+ mDataController = new DataUsageController(activity);
+ }
+
+ @Override
+ public void setListening(boolean listening) {
+ if (listening) {
+ DataUsageController.DataUsageInfo info = mDataController.getDataUsageInfo();
+ String used;
+ if (info == null) {
+ used = Formatter.formatFileSize(mActivity, 0);
+ } else if (info.limitLevel <= 0) {
+ used = Formatter.formatFileSize(mActivity, info.usageLevel);
+ } else {
+ used = Utils.formatPercentage(info.usageLevel, info.limitLevel);
+ }
+ mSummaryLoader.setSummary(this,
+ mActivity.getString(R.string.data_usage_summary_format, used));
+ }
+ }
+ }
+
+ public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+ = new SummaryLoader.SummaryProviderFactory() {
+ @Override
+ public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+ SummaryLoader summaryLoader) {
+ return new SummaryProvider(activity, summaryLoader);
+ }
+ };
+
+ /**
+ * For search
+ */
+ public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+ new BaseSearchIndexProvider() {
+
+ @Override
+ public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+ boolean enabled) {
+ ArrayList<SearchIndexableResource> resources = new ArrayList<>();
+ SearchIndexableResource resource = new SearchIndexableResource(context);
+ resource.xmlResId = R.xml.data_usage;
+ resources.add(resource);
+
+ if (hasMobileData(context)) {
+ resource = new SearchIndexableResource(context);
+ resource.xmlResId = R.xml.data_usage_cellular;
+ resources.add(resource);
+ }
+ if (hasWifiRadio(context)) {
+ resource = new SearchIndexableResource(context);
+ resource.xmlResId = R.xml.data_usage_wifi;
+ resources.add(resource);
+ }
+ return resources;
+ }
+
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ ArrayList<String> keys = new ArrayList<>();
+ boolean hasMobileData = ConnectivityManager.from(context).isNetworkSupported(
+ ConnectivityManager.TYPE_MOBILE);
+
+ if (hasMobileData) {
+ keys.add(KEY_RESTRICT_BACKGROUND);
+ }
+
+ return keys;
+ }
+ };
+}
diff --git a/src/com/android/settings/datausage/NetworkRestrictionsPreference.java b/src/com/android/settings/datausage/NetworkRestrictionsPreference.java
new file mode 100644
index 0000000..e2e9d1e
--- /dev/null
+++ b/src/com/android/settings/datausage/NetworkRestrictionsPreference.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.content.Context;
+import android.net.NetworkTemplate;
+import android.support.v7.preference.Preference;
+import android.util.AttributeSet;
+
+public class NetworkRestrictionsPreference extends Preference implements TemplatePreference {
+
+ public NetworkRestrictionsPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void setTemplate(NetworkTemplate template, int subId,
+ NetworkServices services) {
+ // TODO: Summary
+ }
+}
diff --git a/src/com/android/settings/datausage/RestrictBackgroundDataPreference.java b/src/com/android/settings/datausage/RestrictBackgroundDataPreference.java
new file mode 100644
index 0000000..67bce03
--- /dev/null
+++ b/src/com/android/settings/datausage/RestrictBackgroundDataPreference.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.net.NetworkPolicyManager;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.Checkable;
+import com.android.settings.CustomDialogPreference;
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.conditional.BackgroundDataCondition;
+import com.android.settings.dashboard.conditional.ConditionManager;
+
+public class RestrictBackgroundDataPreference extends CustomDialogPreference {
+
+ private NetworkPolicyManager mPolicyManager;
+ private boolean mChecked;
+
+ public RestrictBackgroundDataPreference(Context context, AttributeSet attrs) {
+ super(context, attrs, android.R.attr.switchPreferenceStyle);
+ }
+
+ @Override
+ public void onAttached() {
+ super.onAttached();
+ mPolicyManager = NetworkPolicyManager.from(getContext());
+ setChecked(mPolicyManager.getRestrictBackground());
+ }
+
+ public void setRestrictBackground(boolean restrictBackground) {
+ mPolicyManager.setRestrictBackground(restrictBackground);
+ setChecked(restrictBackground);
+ ConditionManager.get(getContext()).getCondition(BackgroundDataCondition.class)
+ .refreshState();
+ }
+
+ private void setChecked(boolean checked) {
+ if (mChecked == checked) return;
+ mChecked = checked;
+ notifyChanged();
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+ View switchView = holder.findViewById(android.R.id.switch_widget);
+ switchView.setClickable(false);
+ ((Checkable) switchView).setChecked(mChecked);
+ }
+
+ @Override
+ protected void performClick(View view) {
+ if (mChecked) {
+ setRestrictBackground(false);
+ } else {
+ super.performClick(view);
+ }
+ }
+
+ @Override
+ protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+ DialogInterface.OnClickListener listener) {
+ super.onPrepareDialogBuilder(builder, listener);
+ builder.setTitle(R.string.data_usage_restrict_background_title);
+ if (Utils.hasMultipleUsers(getContext())) {
+ builder.setMessage(R.string.data_usage_restrict_background_multiuser);
+ } else {
+ builder.setMessage(R.string.data_usage_restrict_background);
+ }
+
+ builder.setPositiveButton(android.R.string.ok, listener);
+ builder.setNegativeButton(android.R.string.cancel, null);
+ }
+
+ @Override
+ protected void onClick(DialogInterface dialog, int which) {
+ if (which != DialogInterface.BUTTON_POSITIVE) {
+ return;
+ }
+ setRestrictBackground(true);
+ }
+}
diff --git a/src/com/android/settings/datausage/TemplatePreference.java b/src/com/android/settings/datausage/TemplatePreference.java
new file mode 100644
index 0000000..4b1cd0c
--- /dev/null
+++ b/src/com/android/settings/datausage/TemplatePreference.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.net.INetworkStatsService;
+import android.net.NetworkPolicyManager;
+import android.net.NetworkTemplate;
+import android.os.INetworkManagementService;
+import android.os.UserManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import com.android.settingslib.NetworkPolicyEditor;
+
+public interface TemplatePreference {
+
+ void setTemplate(NetworkTemplate template, int subId, NetworkServices services);
+
+ class NetworkServices {
+ INetworkManagementService mNetworkService;
+ INetworkStatsService mStatsService;
+ NetworkPolicyManager mPolicyManager;
+ TelephonyManager mTelephonyManager;
+ SubscriptionManager mSubscriptionManager;
+ UserManager mUserManager;
+ NetworkPolicyEditor mPolicyEditor;
+ }
+
+}
diff --git a/src/com/android/settings/datausage/TemplatePreferenceCategory.java b/src/com/android/settings/datausage/TemplatePreferenceCategory.java
new file mode 100644
index 0000000..0be5c73
--- /dev/null
+++ b/src/com/android/settings/datausage/TemplatePreferenceCategory.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2016 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.datausage;
+
+import android.content.Context;
+import android.net.NetworkTemplate;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceCategory;
+import android.util.AttributeSet;
+
+public class TemplatePreferenceCategory extends PreferenceCategory implements TemplatePreference {
+
+ private NetworkTemplate mTemplate;
+ private int mSubId;
+
+ public TemplatePreferenceCategory(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void setTemplate(NetworkTemplate template, int subId,
+ NetworkServices services) {
+ mTemplate = template;
+ mSubId = subId;
+ }
+
+ @Override
+ public boolean addPreference(Preference preference) {
+ if (!(preference instanceof TemplatePreference)) {
+ throw new IllegalArgumentException(
+ "TemplatePreferenceCategories can only hold TemplatePreferences");
+ }
+ return super.addPreference(preference);
+ }
+
+ public void pushTemplates(NetworkServices services) {
+ if (mTemplate == null) {
+ throw new RuntimeException("null mTemplate for " + getKey());
+ }
+ for (int i = 0; i < getPreferenceCount(); i++) {
+ ((TemplatePreference) getPreference(i)).setTemplate(mTemplate, mSubId, services);
+ }
+ }
+
+}
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index 6b42986..06c287b 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -28,6 +28,8 @@
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
import android.os.storage.DiskInfo;
import android.os.storage.StorageEventListener;
import android.os.storage.StorageManager;
@@ -48,11 +50,15 @@
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.RestrictedLockUtils;
+
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
/**
* Panel showing both internal storage (both built-in storage and private
* volumes) and removable storage (public volumes).
@@ -386,6 +392,13 @@
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
+ EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(
+ getActivity(), UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,
+ UserHandle.myUserId());
+ if (admin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(), admin);
+ return;
+ }
new MountTask(context, vol).execute();
}
});
diff --git a/src/com/android/settings/deviceinfo/UsbBackend.java b/src/com/android/settings/deviceinfo/UsbBackend.java
index e7ff254..53895fe 100644
--- a/src/com/android/settings/deviceinfo/UsbBackend.java
+++ b/src/com/android/settings/deviceinfo/UsbBackend.java
@@ -134,13 +134,16 @@
? UsbPort.POWER_ROLE_SOURCE : UsbPort.POWER_ROLE_SINK;
}
- public boolean isModeSupported(int mode) {
+ public boolean isModeDisallowedByAdmin(int mode) {
if (mRestricted && (mode & MODE_DATA_MASK) != MODE_DATA_NONE
&& (mode & MODE_DATA_MASK) != MODE_DATA_MIDI) {
// No USB data modes are supported.
- return false;
+ return true;
}
+ return false;
+ }
+ public boolean isModeSupported(int mode) {
if (!mMidi && (mode & MODE_DATA_MASK) == MODE_DATA_MIDI) {
return false;
}
diff --git a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
index 1105718..c2f9477 100644
--- a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
+++ b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
@@ -25,8 +25,12 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
+import android.graphics.drawable.Drawable;
+import android.graphics.PorterDuff;
import android.hardware.usb.UsbManager;
import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -35,6 +39,9 @@
import android.widget.TextView;
import com.android.settings.R;
+import com.android.settingslib.RestrictedLockUtils;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
/**
* UI for the USB chooser dialog.
@@ -53,6 +60,7 @@
private UsbBackend mBackend;
private AlertDialog mDialog;
private LayoutInflater mLayoutInflater;
+ private EnforcedAdmin mEnforcedAdmin;
private BroadcastReceiver mDisconnectedReceiver = new BroadcastReceiver() {
@Override
@@ -93,11 +101,14 @@
LinearLayout container = (LinearLayout) mDialog.findViewById(R.id.container);
+ mEnforcedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(this,
+ UserManager.DISALLOW_USB_FILE_TRANSFER, UserHandle.myUserId());
mBackend = new UsbBackend(this);
int current = mBackend.getCurrentMode();
for (int i = 0; i < DEFAULT_MODES.length; i++) {
if (mBackend.isModeSupported(DEFAULT_MODES[i])) {
- inflateOption(DEFAULT_MODES[i], current == DEFAULT_MODES[i], container);
+ inflateOption(DEFAULT_MODES[i], current == DEFAULT_MODES[i], container,
+ mBackend.isModeDisallowedByAdmin(DEFAULT_MODES[i]));
}
}
}
@@ -116,15 +127,31 @@
super.onStop();
}
- private void inflateOption(final int mode, boolean selected, LinearLayout container) {
+ private void inflateOption(final int mode, boolean selected, LinearLayout container,
+ final boolean disallowedByAdmin) {
View v = mLayoutInflater.inflate(R.layout.radio_with_summary, container, false);
- ((TextView) v.findViewById(android.R.id.title)).setText(getTitle(mode));
- ((TextView) v.findViewById(android.R.id.summary)).setText(getSummary(mode));
+ TextView titleView = (TextView) v.findViewById(android.R.id.title);
+ titleView.setText(getTitle(mode));
+ TextView summaryView = (TextView) v.findViewById(android.R.id.summary);
+ summaryView.setText(getSummary(mode));
+
+ if (disallowedByAdmin) {
+ if (mEnforcedAdmin != null) {
+ setDisabledByAdmin(titleView, summaryView);
+ } else {
+ return;
+ }
+ }
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
+ if (disallowedByAdmin && mEnforcedAdmin != null) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+ UsbModeChooserActivity.this, mEnforcedAdmin);
+ return;
+ }
if (!ActivityManager.isUserAMonkey()) {
mBackend.setMode(mode);
}
@@ -136,6 +163,18 @@
container.addView(v);
}
+ private void setDisabledByAdmin(TextView titleView, TextView summaryView) {
+ if (mEnforcedAdmin != null) {
+ titleView.setEnabled(false);
+ summaryView.setEnabled(false);
+ RestrictedLockUtils.setTextViewPadlock(this,
+ titleView, true /* showPadlock */);
+ Drawable[] compoundDrawables = titleView.getCompoundDrawablesRelative();
+ compoundDrawables[0 /* start */].mutate().setColorFilter(
+ getColor(R.color.disabled_text_color), PorterDuff.Mode.MULTIPLY);
+ }
+ }
+
private static int getSummary(int mode) {
switch (mode) {
case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
diff --git a/src/com/android/settings/fuelgauge/FakeUid.java b/src/com/android/settings/fuelgauge/FakeUid.java
index eb1e724..9d3e2ad 100644
--- a/src/com/android/settings/fuelgauge/FakeUid.java
+++ b/src/com/android/settings/fuelgauge/FakeUid.java
@@ -78,6 +78,11 @@
}
@Override
+ public long getBluetoothControllerActivity(int type, int which) {
+ return 0;
+ }
+
+ @Override
public void noteWifiRunningLocked(long elapsedRealtime) {
}
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index aa2d68a..9022538 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -43,6 +43,7 @@
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
+import android.util.LocaleList;
import android.view.InputDevice;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
@@ -50,6 +51,7 @@
import android.view.textservice.SpellCheckerInfo;
import android.view.textservice.TextServicesManager;
+import com.android.internal.app.LocaleHelper;
import com.android.internal.app.LocalePicker;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
@@ -266,8 +268,8 @@
if (!mShowsOnlyFullImeAndKeyboardList) {
if (mLanguagePref != null) {
- String localeName = getLocaleName(getActivity());
- mLanguagePref.setSummary(localeName);
+ String localeNames = getLocaleNames(getActivity());
+ mLanguagePref.setSummary(localeNames);
}
updateUserDictionaryPreference(findPreference(KEY_USER_DICTIONARY_SETTINGS));
@@ -340,19 +342,9 @@
return super.onPreferenceTreeClick(preference);
}
- private static String getLocaleName(Context context) {
- // We want to show the same string that the LocalePicker used.
- // TODO: should this method be in LocalePicker instead?
- Locale currentLocale = context.getResources().getConfiguration().locale;
- List<LocalePicker.LocaleInfo> locales = LocalePicker.getAllAssetLocales(context, true);
- for (LocalePicker.LocaleInfo locale : locales) {
- if (locale.getLocale().equals(currentLocale)) {
- return locale.getLabel();
- }
- }
- // This can't happen as long as the locale was one set by Settings.
- // Fall back in case a developer is testing an unsupported locale.
- return currentLocale.getDisplayName(currentLocale);
+ private static String getLocaleNames(Context context) {
+ final LocaleList locales = LocalePicker.getLocales();
+ return LocaleHelper.getDisplayLocaleList(locales, Locale.getDefault());
}
private void saveInputMethodSelectorVisibility(String value) {
@@ -665,8 +657,8 @@
@Override
public void setListening(boolean listening) {
if (listening) {
- String localeName = getLocaleName(mContext);
- mSummaryLoader.setSummary(this, localeName);
+ String localeNames = getLocaleNames(mContext);
+ mSummaryLoader.setSummary(this, localeNames);
}
}
}
@@ -690,12 +682,12 @@
// Locale picker.
if (context.getAssets().getLocales().length > 1) {
- String localeName = getLocaleName(context);
+ String localeNames = getLocaleNames(context);
SearchIndexableRaw indexable = new SearchIndexableRaw(context);
indexable.key = KEY_PHONE_LANGUAGE;
indexable.title = context.getString(R.string.phone_language);
- indexable.summaryOn = localeName;
- indexable.summaryOff = localeName;
+ indexable.summaryOn = localeNames;
+ indexable.summaryOff = localeNames;
indexable.screenTitle = screenTitle;
indexables.add(indexable);
}
diff --git a/src/com/android/settings/inputmethod/InputMethodPreference.java b/src/com/android/settings/inputmethod/InputMethodPreference.java
index 0d812e5..8c87080 100755
--- a/src/com/android/settings/inputmethod/InputMethodPreference.java
+++ b/src/com/android/settings/inputmethod/InputMethodPreference.java
@@ -34,11 +34,15 @@
import com.android.internal.inputmethod.InputMethodUtils;
import com.android.settings.R;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
import java.text.Collator;
import java.util.ArrayList;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
/**
* Input method preference.
*
@@ -46,7 +50,7 @@
* is used to enable or disable the IME. 2) An instance without a switch is used to invoke the
* setting activity of the IME.
*/
-class InputMethodPreference extends SwitchPreference implements OnPreferenceClickListener,
+class InputMethodPreference extends RestrictedSwitchPreference implements OnPreferenceClickListener,
OnPreferenceChangeListener {
private static final String TAG = InputMethodPreference.class.getSimpleName();
private static final String EMPTY_TEXT = "";
@@ -80,7 +84,7 @@
* @param isImeEnabler true if this preference is the IME enabler that has enable/disable
* switches for all available IMEs, not the list of enabled IMEs.
* @param isAllowedByOrganization false if the IME has been disabled by a device or profile
- owner.
+ * owner.
* @param onSaveListener The listener called when this preference has been changed and needs
* to save the state to shared preference.
*/
@@ -115,6 +119,11 @@
&& mInputMethodSettingValues.isValidSystemNonAuxAsciiCapableIme(imi, context);
setOnPreferenceClickListener(this);
setOnPreferenceChangeListener(this);
+ if (!isAllowedByOrganization) {
+ EnforcedAdmin admin =
+ RestrictedLockUtils.getProfileOrDeviceOwnerOnCallingUser(context);
+ setDisabledByAdmin(admin);
+ }
}
public InputMethodInfo getInputMethodInfo() {
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
new file mode 100644
index 0000000..b1f68b9
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright (C) 2016 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.localepicker;
+
+import android.content.Context;
+import android.support.v4.view.MotionEventCompat;
+import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.helper.ItemTouchHelper;
+import android.util.LocaleList;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.CompoundButton;
+
+import com.android.settings.R;
+
+import com.android.internal.app.LocalePicker;
+import com.android.internal.app.LocaleStore;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+
+
+class LocaleDragAndDropAdapter
+ extends RecyclerView.Adapter<LocaleDragAndDropAdapter.CustomViewHolder> {
+
+ private final Context mContext;
+ private final List<LocaleStore.LocaleInfo> mFeedItemList;
+ private final ItemTouchHelper mItemTouchHelper;
+ private boolean mRemoveMode = false;
+ private boolean mDragEnabled = true;
+
+ class CustomViewHolder extends RecyclerView.ViewHolder implements View.OnTouchListener {
+ private final LocaleDragCell mLocaleDragCell;
+
+ public CustomViewHolder(LocaleDragCell view) {
+ super(view);
+ mLocaleDragCell = view;
+ mLocaleDragCell.getDragHandle().setOnTouchListener(this);
+ mLocaleDragCell.getTextLabel().setOnTouchListener(this);
+ mLocaleDragCell.getTranslateableLabel().setOnTouchListener(this);
+ }
+
+ public LocaleDragCell getLocaleDragCell() {
+ return mLocaleDragCell;
+ }
+
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ if (mDragEnabled) {
+ switch (MotionEventCompat.getActionMasked(event)) {
+ case MotionEvent.ACTION_DOWN:
+ mItemTouchHelper.startDrag(this);
+ }
+ }
+ return false;
+ }
+ }
+
+ public LocaleDragAndDropAdapter(Context context, List<LocaleStore.LocaleInfo> feedItemList) {
+ this.mFeedItemList = feedItemList;
+
+ this.mContext = context;
+ this.mItemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(
+ ItemTouchHelper.UP | ItemTouchHelper.DOWN, 0 /* no swipe */) {
+
+ @Override
+ public boolean onMove(RecyclerView view, RecyclerView.ViewHolder source,
+ RecyclerView.ViewHolder target) {
+ onItemMove(source.getAdapterPosition(), target.getAdapterPosition());
+ return true;
+ }
+
+ @Override
+ public void onSwiped(RecyclerView.ViewHolder viewHolder, int i) {
+ // Swipe is disabled, this is intentionally empty.
+ }
+ });
+ }
+
+ public void setRecyclerView(RecyclerView rv) {
+ mItemTouchHelper.attachToRecyclerView(rv);
+ }
+
+ @Override
+ public CustomViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
+ final LocaleDragCell item = (LocaleDragCell) LayoutInflater.from(mContext)
+ .inflate(R.layout.locale_drag_cell, viewGroup, false);
+ return new CustomViewHolder(item);
+ }
+
+ @Override
+ public void onBindViewHolder(final CustomViewHolder holder, int i) {
+ final LocaleStore.LocaleInfo feedItem = mFeedItemList.get(i);
+ final LocaleDragCell dragCell = holder.getLocaleDragCell();
+
+ String label = feedItem.getFullNameNative();
+ dragCell.setLabel(label);
+ dragCell.setLocalized(feedItem.isTranslated());
+ dragCell.setMiniLabel(Integer.toString(i + 1));
+ dragCell.setShowCheckbox(mRemoveMode);
+ dragCell.setShowMiniLabel(!mRemoveMode);
+ dragCell.setShowHandle(!mRemoveMode);
+ dragCell.setChecked(false);
+ dragCell.setTag(feedItem);
+ dragCell.getCheckbox()
+ .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ LocaleStore.LocaleInfo feedItem =
+ (LocaleStore.LocaleInfo) holder.getLocaleDragCell().getTag();
+ feedItem.setChecked(isChecked);
+ }
+ });
+ }
+
+ @Override
+ public int getItemCount() {
+ int itemCount = (null != mFeedItemList ? mFeedItemList.size() : 0);
+ if (itemCount < 2 || mRemoveMode) {
+ setDragEnabled(false);
+ } else {
+ setDragEnabled(true);
+ }
+ return itemCount;
+ }
+
+ private void onItemMove(int fromPosition, int toPosition) {
+ Collections.swap(mFeedItemList, fromPosition, toPosition);
+ notifyItemChanged(fromPosition); // to update the numbers
+ notifyItemChanged(toPosition);
+ notifyItemMoved(fromPosition, toPosition);
+ }
+
+ void setRemoveMode(boolean removeMode) {
+ mRemoveMode = removeMode;
+ int itemCount = mFeedItemList.size();
+ for (int i = 0; i < itemCount; i++) {
+ mFeedItemList.get(i).setChecked(false);
+ notifyItemChanged(i);
+ }
+ }
+
+ void removeChecked() {
+ int itemCount = mFeedItemList.size();
+ for (int i = itemCount - 1; i >= 0; i--) {
+ if (mFeedItemList.get(i).getChecked()) {
+ mFeedItemList.remove(i);
+ }
+ }
+ notifyDataSetChanged();
+ doTheUpdate();
+ }
+
+ int getCheckedCount() {
+ int result = 0;
+ for (LocaleStore.LocaleInfo li : mFeedItemList) {
+ if (li.getChecked()) {
+ result++;
+ }
+ }
+ return result;
+ }
+
+ void addLocale(LocaleStore.LocaleInfo li) {
+ mFeedItemList.add(li);
+ notifyItemInserted(mFeedItemList.size() - 1);
+ doTheUpdate();
+ }
+
+ public void doTheUpdate() {
+ int count = mFeedItemList.size();
+ Locale[] newList = new Locale[count];
+
+ for (int i = 0; i < count; i++) {
+ LocaleStore.LocaleInfo li = mFeedItemList.get(i);
+ newList[i] = li.getLocale();
+ }
+
+ LocaleList ll = new LocaleList(newList);
+ LocalePicker.updateLocales(ll);
+ }
+
+ private void setDragEnabled(boolean enabled) {
+ mDragEnabled = enabled;
+ }
+}
diff --git a/src/com/android/settings/localepicker/LocaleDragCell.java b/src/com/android/settings/localepicker/LocaleDragCell.java
new file mode 100644
index 0000000..8b1fa3c
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocaleDragCell.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2016 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.localepicker;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.CheckBox;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.android.settings.R;
+
+class LocaleDragCell extends LinearLayout {
+ private TextView mLabel;
+ private TextView mMiniLabel;
+ private ImageView mLocalized;
+ private CheckBox mCheckbox;
+ private ImageView mDragHandle;
+
+ public LocaleDragCell(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ mLabel = (TextView) findViewById(R.id.label);
+ mLocalized = (ImageView) findViewById(R.id.l10nWarn);
+ mMiniLabel = (TextView) findViewById(R.id.miniLabel);
+ mCheckbox = (CheckBox) findViewById(R.id.checkbox);
+ mDragHandle = (ImageView) findViewById(R.id.dragHandle);
+ }
+
+ public void setShowHandle(boolean showHandle) {
+ mDragHandle.setVisibility(showHandle ? VISIBLE : GONE);
+ invalidate();
+ requestLayout();
+ }
+
+ public void setShowCheckbox(boolean showCheckbox) {
+ mCheckbox.setVisibility(showCheckbox ? VISIBLE : GONE);
+ invalidate();
+ requestLayout();
+ }
+
+ public void setChecked(boolean checked) {
+ mCheckbox.setChecked(checked);
+ }
+
+ public void setShowMiniLabel(boolean showMiniLabel) {
+ mMiniLabel.setVisibility(showMiniLabel ? VISIBLE : GONE);
+ invalidate();
+ requestLayout();
+ }
+
+ public void setMiniLabel(String miniLabelText) {
+ mMiniLabel.setText(miniLabelText);
+ invalidate();
+ }
+
+ public void setLabel(String labelText) {
+ mLabel.setText(labelText);
+ invalidate();
+ }
+
+ public void setLocalized(boolean localized) {
+ mLocalized.setVisibility(localized ? INVISIBLE : VISIBLE);
+ invalidate();
+ }
+
+ public ImageView getDragHandle() {
+ return mDragHandle;
+ }
+
+ public ImageView getTranslateableLabel() {
+ return mLocalized;
+ }
+
+ public TextView getTextLabel() {
+ return mLabel;
+ }
+
+ public CheckBox getCheckbox() {
+ return mCheckbox;
+ }
+}
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
new file mode 100644
index 0000000..24e5e53
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright (C) 2016 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.localepicker;
+
+import android.app.AlertDialog;
+import android.app.FragmentTransaction;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.LocaleList;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+
+import com.android.settings.R;
+
+import com.android.internal.app.LocalePicker;
+import com.android.internal.app.LocalePickerWithRegion;
+import com.android.internal.app.LocaleStore;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.SettingsPreferenceFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * Drag-and-drop editor for the user-ordered locale lists.
+ */
+public class LocaleListEditor extends SettingsPreferenceFragment
+ implements LocalePickerWithRegion.LocaleSelectedListener {
+
+ private static final int MENU_ID_REMOVE = Menu.FIRST + 1;
+
+ private LocaleDragAndDropAdapter mAdapter;
+ private Menu mMenu;
+ private boolean mRemoveMode;
+ private View mAddLanguage;
+
+ @Override
+ protected int getMetricsCategory() {
+ return InstrumentedFragment.USER_LOCALE_LIST;
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setHasOptionsMenu(true);
+
+ LocaleStore.fillCache(this.getContext());
+ List<LocaleStore.LocaleInfo> feedsList = getUserLocaleList(this.getContext());
+ mAdapter = new LocaleDragAndDropAdapter(this.getContext(), feedsList);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstState) {
+ View result = super.onCreateView(inflater, container, savedInstState);
+ LinearLayout ll = (LinearLayout) result;
+ View myLayout = inflater.inflate(R.layout.locale_order_list, ll);
+
+ getActivity().setTitle(R.string.pref_title_lang_selection);
+
+ configureDragAndDrop(myLayout);
+ return result;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem menuItem) {
+ if (menuItem.getItemId() == MENU_ID_REMOVE) {
+ if (mRemoveMode) {
+ removeLocaleWarningDialog();
+ } else {
+ setRemoveMode(true);
+ }
+ return true;
+ }
+ return super.onOptionsItemSelected(menuItem);
+ }
+
+ private void setRemoveMode(boolean mRemoveMode) {
+ this.mRemoveMode = mRemoveMode;
+ mAdapter.setRemoveMode(mRemoveMode);
+ mMenu.findItem(MENU_ID_REMOVE).setShowAsAction(
+ mRemoveMode ? MenuItem.SHOW_AS_ACTION_ALWAYS : MenuItem.SHOW_AS_ACTION_NEVER);
+ mAddLanguage.setVisibility(mRemoveMode ? View.INVISIBLE : View.VISIBLE);
+ }
+
+ private void removeLocaleWarningDialog() {
+ int checked = mAdapter.getCheckedCount();
+
+ // Nothing checked, just exit remove mode without a warning dialog
+ if (checked == 0) {
+ setRemoveMode(!mRemoveMode);
+ return;
+ }
+
+ // All locales selected, warning dialog, can't remove them all
+ if (checked == mAdapter.getItemCount()) {
+ new AlertDialog.Builder(getActivity())
+ .setTitle(R.string.dlg_remove_locales_error_title)
+ .setMessage(R.string.dlg_remove_locales_error_message)
+ .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ }
+ })
+ .create()
+ .show();
+ return;
+ }
+
+ new AlertDialog.Builder(getActivity())
+ .setTitle(R.string.dlg_remove_locales_title)
+ .setMessage(R.string.dlg_remove_locales_message)
+ .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ setRemoveMode(!mRemoveMode);
+ }
+ })
+ .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ mAdapter.removeChecked();
+ setRemoveMode(!mRemoveMode);
+ }
+ })
+ .create()
+ .show();
+ }
+
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ final MenuItem menuItem =
+ menu.add(Menu.NONE, MENU_ID_REMOVE, 0, R.string.locale_remove_menu);
+ menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+ menuItem.setIcon(android.R.drawable.ic_menu_delete);
+ super.onCreateOptionsMenu(menu, inflater);
+ mMenu = menu;
+ }
+
+ private static List<LocaleStore.LocaleInfo> getUserLocaleList(Context context) {
+ List<LocaleStore.LocaleInfo> result = new ArrayList<>();
+
+ LocaleList localeList = LocalePicker.getLocales();
+ for (int i = 0; i < localeList.size(); i++) {
+ Locale locale = localeList.get(i);
+ result.add(LocaleStore.getLocaleInfo(locale));
+ }
+
+ return result;
+ }
+
+ private void configureDragAndDrop(View view) {
+ RecyclerView list = (RecyclerView) view.findViewById(R.id.dragList);
+ list.setLayoutManager(new LinearLayoutManager(this.getContext()));
+
+ list.setHasFixedSize(true);
+ mAdapter.setRecyclerView(list);
+ list.setAdapter(mAdapter);
+
+ mAddLanguage = view.findViewById(R.id.add_language);
+ mAddLanguage.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ final LocalePickerWithRegion selector = LocalePickerWithRegion.createLanguagePicker(
+ getContext(), LocaleListEditor.this, false /* translate only */);
+ getFragmentManager()
+ .beginTransaction()
+ .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
+ .replace(getId(), selector)
+ .addToBackStack("localeListEditor")
+ .commit();
+ }
+ });
+ }
+
+ @Override
+ public void onLocaleSelected(LocaleStore.LocaleInfo locale) {
+ mAdapter.addLocale(locale);
+ }
+
+}
diff --git a/src/com/android/settings/localepicker/LocaleRecyclerView.java b/src/com/android/settings/localepicker/LocaleRecyclerView.java
new file mode 100644
index 0000000..b9c2b96
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocaleRecyclerView.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2016 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.localepicker;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+
+class LocaleRecyclerView extends RecyclerView {
+ public LocaleRecyclerView(Context context) {
+ super(context);
+ }
+
+ public LocaleRecyclerView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public LocaleRecyclerView(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent e) {
+ if (e.getAction() == MotionEvent.ACTION_UP) {
+ LocaleDragAndDropAdapter adapter = (LocaleDragAndDropAdapter) this.getAdapter();
+ if (adapter != null) {
+ adapter.doTheUpdate();
+ }
+ }
+ return super.onTouchEvent(e);
+ }
+}
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 9974e89..047fcbb 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -46,6 +46,7 @@
import com.android.settings.applications.InstalledAppDetails;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.location.RecentLocationApps;
import java.util.ArrayList;
@@ -53,6 +54,8 @@
import java.util.Comparator;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
/**
* System location settings (Settings > Location). The screen has three parts:
* <ul>
@@ -373,9 +376,15 @@
// corner cases, the location might still be enabled. In such case the master switch should
// be disabled but checked.
final boolean enabled = (mode != android.provider.Settings.Secure.LOCATION_MODE_OFF);
+ EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(getActivity(),
+ UserManager.DISALLOW_SHARE_LOCATION, UserHandle.myUserId());
// Disable the whole switch bar instead of the switch itself. If we disabled the switch
// only, it would be re-enabled again if the switch bar is not disabled.
- mSwitchBar.setEnabled(!restricted);
+ if (admin != null) {
+ mSwitchBar.setDisabledByAdmin(admin);
+ } else {
+ mSwitchBar.setEnabled(!restricted);
+ }
mLocationMode.setEnabled(enabled && !restricted);
mCategoryRecentLocationRequests.setEnabled(enabled);
diff --git a/src/com/android/settings/nfc/NfcEnabler.java b/src/com/android/settings/nfc/NfcEnabler.java
index c58c325..b81d342 100644
--- a/src/com/android/settings/nfc/NfcEnabler.java
+++ b/src/com/android/settings/nfc/NfcEnabler.java
@@ -27,6 +27,7 @@
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
+import com.android.settingslib.RestrictedPreference;
/**
* NfcEnabler is a helper to manage the Nfc on/off checkbox preference. It is
@@ -36,10 +37,9 @@
public class NfcEnabler implements Preference.OnPreferenceChangeListener {
private final Context mContext;
private final SwitchPreference mSwitch;
- private final PreferenceScreen mAndroidBeam;
+ private final RestrictedPreference mAndroidBeam;
private final NfcAdapter mNfcAdapter;
private final IntentFilter mIntentFilter;
- private boolean mBeamDisallowed;
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
@@ -53,13 +53,11 @@
};
public NfcEnabler(Context context, SwitchPreference switchPreference,
- PreferenceScreen androidBeam) {
+ RestrictedPreference androidBeam) {
mContext = context;
mSwitch = switchPreference;
mAndroidBeam = androidBeam;
mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
- mBeamDisallowed = ((UserManager) mContext.getSystemService(Context.USER_SERVICE))
- .hasUserRestriction(UserManager.DISALLOW_OUTGOING_BEAM);
if (mNfcAdapter == null) {
// NFC is not supported
@@ -68,9 +66,6 @@
mIntentFilter = null;
return;
}
- if (mBeamDisallowed) {
- mAndroidBeam.setEnabled(false);
- }
mIntentFilter = new IntentFilter(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
}
@@ -117,8 +112,8 @@
case NfcAdapter.STATE_ON:
mSwitch.setChecked(true);
mSwitch.setEnabled(true);
- mAndroidBeam.setEnabled(!mBeamDisallowed);
- if (mNfcAdapter.isNdefPushEnabled() && !mBeamDisallowed) {
+ mAndroidBeam.checkRestrictionAndSetDisabled(UserManager.DISALLOW_OUTGOING_BEAM);
+ if (mNfcAdapter.isNdefPushEnabled() && mAndroidBeam.isEnabled()) {
mAndroidBeam.setSummary(R.string.android_beam_on_summary);
} else {
mAndroidBeam.setSummary(R.string.android_beam_off_summary);
diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java
index 93691d8..a00f2fa 100644
--- a/src/com/android/settings/notification/RedactionInterstitial.java
+++ b/src/com/android/settings/notification/RedactionInterstitial.java
@@ -16,7 +16,6 @@
package com.android.settings.notification;
-import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
@@ -29,8 +28,15 @@
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
+import com.android.settings.RestrictedRadioButton;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
+import com.android.settingslib.RestrictedLockUtils;
+
+import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
+import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
public class RedactionInterstitial extends SettingsActivity {
@@ -52,40 +58,21 @@
* available to be launched.
*/
public static Intent createStartIntent(Context ctx) {
- if (isSecureNotificationsDisabled(ctx)) {
- // If there is no choices for the user, we should not start the activity.
- return null;
- } else {
- return new Intent(ctx, RedactionInterstitial.class)
- .putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, true)
- .putExtra(EXTRA_PREFS_SET_BACK_TEXT, (String) null)
- .putExtra(EXTRA_PREFS_SET_NEXT_TEXT, ctx.getString(
- R.string.app_notifications_dialog_done))
- .putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID,
- R.string.lock_screen_notifications_interstitial_title);
- }
- }
-
- private static boolean isSecureNotificationsDisabled(Context context) {
- final DevicePolicyManager dpm =
- (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
- return dpm != null && (dpm.getKeyguardDisabledFeatures(null)
- & DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS) != 0;
- }
-
- private static boolean isUnredactedNotificationsDisabled(Context context) {
- final DevicePolicyManager dpm =
- (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
- return dpm != null && (dpm.getKeyguardDisabledFeatures(null)
- & DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS) != 0;
+ return new Intent(ctx, RedactionInterstitial.class)
+ .putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, true)
+ .putExtra(EXTRA_PREFS_SET_BACK_TEXT, (String) null)
+ .putExtra(EXTRA_PREFS_SET_NEXT_TEXT, ctx.getString(
+ R.string.app_notifications_dialog_done))
+ .putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID,
+ R.string.lock_screen_notifications_interstitial_title);
}
public static class RedactionInterstitialFragment extends SettingsPreferenceFragment
implements RadioGroup.OnCheckedChangeListener {
private RadioGroup mRadioGroup;
- private RadioButton mShowAllButton;
- private RadioButton mRedactSensitiveButton;
+ private RestrictedRadioButton mShowAllButton;
+ private RestrictedRadioButton mRedactSensitiveButton;
@Override
protected int getMetricsCategory() {
@@ -102,26 +89,32 @@
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mRadioGroup = (RadioGroup) view.findViewById(R.id.radio_group);
- mShowAllButton = (RadioButton) view.findViewById(R.id.show_all);
- mRedactSensitiveButton = (RadioButton) view.findViewById(R.id.redact_sensitive);
+ mShowAllButton = (RestrictedRadioButton) view.findViewById(R.id.show_all);
+ mRedactSensitiveButton = (RestrictedRadioButton) view.findViewById(R.id.redact_sensitive);
mRadioGroup.setOnCheckedChangeListener(this);
-
- // Disable buttons according to policy.
- if (isSecureNotificationsDisabled(getActivity())) {
- mShowAllButton.setEnabled(false);
- mRedactSensitiveButton.setEnabled(false);
- } else if (isUnredactedNotificationsDisabled(getActivity())) {
- mShowAllButton.setEnabled(false);
- }
}
@Override
public void onResume() {
super.onResume();
+ // Disable buttons according to policy.
+
+ checkNotificationFeaturesAndSetDisabled(mShowAllButton,
+ KEYGUARD_DISABLE_SECURE_NOTIFICATIONS |
+ KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
+ checkNotificationFeaturesAndSetDisabled(mRedactSensitiveButton,
+ KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
loadFromSettings();
}
+ private void checkNotificationFeaturesAndSetDisabled(RestrictedRadioButton button,
+ int keyguardNotifications) {
+ EnforcedAdmin admin = RestrictedLockUtils.checkIfKeyguardNotificationFeaturesDisabled(
+ getActivity(), keyguardNotifications);
+ button.setDisabledByAdmin(admin);
+ }
+
private void loadFromSettings() {
final boolean enabled = Settings.Secure.getInt(getContentResolver(),
Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0) != 0;
@@ -130,9 +123,9 @@
int checkedButtonId = R.id.hide_all;
if (enabled) {
- if (show && mShowAllButton.isEnabled()) {
+ if (show && !mShowAllButton.isDisabledByAdmin()) {
checkedButtonId = R.id.show_all;
- } else if (mRedactSensitiveButton.isEnabled()) {
+ } else if (!mRedactSensitiveButton.isDisabledByAdmin()) {
checkedButtonId = R.id.redact_sensitive;
}
}
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 1c21329..4eb4f7d 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -37,6 +37,7 @@
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
+import android.os.UserHandle;
import android.os.UserManager;
import android.os.Vibrator;
import android.preference.SeekBarVolumizer;
@@ -57,6 +58,8 @@
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
import java.text.NumberFormat;
import java.util.ArrayList;
@@ -64,6 +67,8 @@
import java.util.List;
import java.util.Objects;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
public class SoundSettings extends SettingsPreferenceFragment implements Indexable {
private static final String TAG = "SoundSettings";
@@ -73,6 +78,7 @@
private static final String KEY_NOTIFICATION_VOLUME = "notification_volume";
private static final String KEY_PHONE_RINGTONE = "ringtone";
private static final String KEY_NOTIFICATION_RINGTONE = "notification_ringtone";
+ private static final String KEY_ALARM_RINGTONE = "alarm_ringtone";
private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
private static final String KEY_MASTER_MONO = "master_mono";
private static final String KEY_WIFI_DISPLAY = "wifi_display";
@@ -103,6 +109,7 @@
private Preference mPhoneRingtonePreference;
private Preference mNotificationRingtonePreference;
+ private Preference mAlarmRingtonePreference;
private TwoStatePreference mVibrateWhenRinging;
private TwoStatePreference mMasterMono;
private ComponentName mSuppressor;
@@ -162,8 +169,7 @@
} catch (IllegalArgumentException ignored) {
isCellBroadcastAppLinkEnabled = false; // CMAS app not installed
}
- if (!mUserManager.isAdminUser() || !isCellBroadcastAppLinkEnabled
- || mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_CELL_BROADCASTS)) {
+ if (!mUserManager.isAdminUser() || !isCellBroadcastAppLinkEnabled) {
removePreference(KEY_CELL_BROADCAST_SETTINGS);
}
initRingtones();
@@ -184,13 +190,23 @@
for (VolumeSeekBarPreference volumePref : mVolumePrefs) {
volumePref.onActivityResume();
}
- boolean isRestricted = mUserManager.hasUserRestriction(UserManager.DISALLOW_ADJUST_VOLUME);
+
+ final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
+ UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
for (String key : RESTRICTED_KEYS) {
Preference pref = findPreference(key);
- if (pref != null) {
- pref.setEnabled(!isRestricted);
+ if (pref instanceof RestrictedPreference) {
+ ((RestrictedPreference) pref).setDisabledByAdmin(admin);
+ } else if (pref != null) {
+ pref.setEnabled(admin == null);
}
}
+ RestrictedPreference broadcastSettingsPref = (RestrictedPreference) findPreference(
+ KEY_CELL_BROADCAST_SETTINGS);
+ if (broadcastSettingsPref != null) {
+ broadcastSettingsPref.checkRestrictionAndSetDisabled(
+ UserManager.DISALLOW_CONFIG_CELL_BROADCASTS);
+ }
}
@Override
@@ -324,6 +340,7 @@
}
mNotificationRingtonePreference =
getPreferenceScreen().findPreference(KEY_NOTIFICATION_RINGTONE);
+ mAlarmRingtonePreference = getPreferenceScreen().findPreference(KEY_ALARM_RINGTONE);
}
private void lookupRingtoneNames() {
@@ -347,6 +364,13 @@
mHandler.obtainMessage(H.UPDATE_NOTIFICATION_RINGTONE, summary).sendToTarget();
}
}
+ if (mAlarmRingtonePreference != null) {
+ final CharSequence summary =
+ updateRingtoneName(mContext, RingtoneManager.TYPE_ALARM);
+ if (summary != null) {
+ mHandler.obtainMessage(H.UPDATE_ALARM_RINGTONE, summary).sendToTarget();
+ }
+ }
}
};
@@ -484,6 +508,7 @@
private static final int UPDATE_EFFECTS_SUPPRESSOR = 4;
private static final int UPDATE_RINGER_MODE = 5;
private static final int UPDATE_MASTER_MONO = 6;
+ private static final int UPDATE_ALARM_RINGTONE = 7;
private H() {
super(Looper.getMainLooper());
@@ -510,6 +535,9 @@
case UPDATE_MASTER_MONO:
updateMasterMono();
break;
+ case UPDATE_ALARM_RINGTONE:
+ mAlarmRingtonePreference.setSummary((CharSequence) msg.obj);
+ break;
}
}
}
diff --git a/src/com/android/settings/search/Ranking.java b/src/com/android/settings/search/Ranking.java
index 3d5ff35..59f83ec 100644
--- a/src/com/android/settings/search/Ranking.java
+++ b/src/com/android/settings/search/Ranking.java
@@ -17,7 +17,6 @@
package com.android.settings.search;
import com.android.settings.ChooseLockGeneric;
-import com.android.settings.DataUsageSummary;
import com.android.settings.DateTimeSettings;
import com.android.settings.DevelopmentSettings;
import com.android.settings.DeviceInfoSettings;
@@ -35,6 +34,8 @@
import com.android.settings.applications.AdvancedAppSettings;
import com.android.settings.applications.ManageDefaultApps;
import com.android.settings.bluetooth.BluetoothSettings;
+import com.android.settings.datausage.DataUsageMeteredSettings;
+import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.deviceinfo.StorageSettings;
import com.android.settings.display.ScreenZoomSettings;
import com.android.settings.fuelgauge.BatterySaverSettings;
@@ -42,7 +43,6 @@
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.ScanningSettings;
-import com.android.settings.net.DataUsageMeteredSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.OtherSoundSettings;
import com.android.settings.notification.SoundSettings;
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index f15ff63..1d55b55 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -16,9 +16,6 @@
package com.android.settings.search;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.DataUsageSummary;
import com.android.settings.DateTimeSettings;
import com.android.settings.DevelopmentSettings;
import com.android.settings.DeviceInfoSettings;
@@ -37,6 +34,8 @@
import com.android.settings.applications.AdvancedAppSettings;
import com.android.settings.applications.ManageDefaultApps;
import com.android.settings.bluetooth.BluetoothSettings;
+import com.android.settings.datausage.DataUsageMeteredSettings;
+import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.deviceinfo.StorageSettings;
import com.android.settings.display.ScreenZoomSettings;
import com.android.settings.fuelgauge.BatterySaverSettings;
@@ -44,7 +43,6 @@
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.ScanningSettings;
-import com.android.settings.net.DataUsageMeteredSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.OtherSoundSettings;
import com.android.settings.notification.SoundSettings;
@@ -58,6 +56,8 @@
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
import com.android.settings.wifi.WifiSettings;
+import android.provider.SearchIndexableResource;
+
import java.util.Collection;
import java.util.HashMap;
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index 9a81d16..07d03ee 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -29,6 +29,7 @@
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
+import com.android.settingslib.RestrictedPreference;
import java.util.List;
@@ -59,7 +60,7 @@
private UserManager mUserManager;
private SwitchPreference mPhonePref;
- private Preference mRemoveUserPref;
+ private RestrictedPreference mRemoveUserPref;
private UserInfo mUserInfo;
private boolean mGuestUser;
@@ -79,7 +80,7 @@
addPreferencesFromResource(R.xml.user_details_settings);
mPhonePref = (SwitchPreference) findPreference(KEY_ENABLE_TELEPHONY);
- mRemoveUserPref = findPreference(KEY_REMOVE_USER);
+ mRemoveUserPref = (RestrictedPreference) findPreference(KEY_REMOVE_USER);
mGuestUser = getArguments().getBoolean(EXTRA_USER_GUEST, false);
@@ -102,13 +103,16 @@
mPhonePref.setChecked(
!mDefaultGuestRestrictions.getBoolean(UserManager.DISALLOW_OUTGOING_CALLS));
}
- if (mUserManager.hasUserRestriction(UserManager.DISALLOW_REMOVE_USER)) {
- removePreference(KEY_REMOVE_USER);
- }
mPhonePref.setOnPreferenceChangeListener(this);
}
@Override
+ public void onResume() {
+ super.onResume();
+ mRemoveUserPref.checkRestrictionAndSetDisabled(UserManager.DISALLOW_REMOVE_USER);
+ }
+
+ @Override
public boolean onPreferenceClick(Preference preference) {
if (preference == mRemoveUserPref) {
if (!mUserManager.isAdminUser()) {
diff --git a/src/com/android/settings/users/UserPreference.java b/src/com/android/settings/users/UserPreference.java
index 2daf1ef..61ad6df 100644
--- a/src/com/android/settings/users/UserPreference.java
+++ b/src/com/android/settings/users/UserPreference.java
@@ -17,6 +17,7 @@
package com.android.settings.users;
import android.content.Context;
+import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.os.UserManager;
import android.support.v7.preference.Preference;
@@ -24,12 +25,18 @@
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
+import android.widget.ImageView;
import com.android.settings.R;
+import com.android.settingslib.RestrictedPreference;
import java.util.Comparator;
-public class UserPreference extends Preference {
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
+public class UserPreference extends RestrictedPreference {
+ private static final int ALPHA_ENABLED = 255;
+ private static final int ALPHA_DISABLED = 102;
public static final int USERID_UNKNOWN = -10;
public static final int USERID_GUEST_DEFAULTS = -11;
@@ -71,6 +78,14 @@
mUserId = userId;
}
+ private void dimIcon(boolean dimmed) {
+ Drawable icon = getIcon();
+ if (icon != null) {
+ icon.mutate().setAlpha(dimmed ? ALPHA_DISABLED : ALPHA_ENABLED);
+ setIcon(icon);
+ }
+ }
+
@Override
public void onBindViewHolder(PreferenceViewHolder view) {
UserManager um = (UserManager) getContext().getSystemService(Context.USER_SERVICE);
@@ -87,7 +102,8 @@
deleteDividerView.setVisibility(View.GONE);
}
}
- View manageView = view.findViewById(R.id.manage_user);
+ final boolean disabledByAdmin = isDisabledByAdmin();
+ ImageView manageView = (ImageView) view.findViewById(R.id.manage_user);
if (manageView != null) {
if (mSettingsClickListener != null) {
manageView.setOnClickListener(mSettingsClickListener);
@@ -99,8 +115,10 @@
manageView.setVisibility(View.GONE);
manageDividerView.setVisibility(View.GONE);
}
+ manageView.setImageAlpha(disabledByAdmin ? ALPHA_DISABLED : ALPHA_ENABLED);
}
super.onBindViewHolder(view);
+ dimIcon(disabledByAdmin);
}
private int getSerialNumber() {
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 7e0711e..06ec966 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -56,6 +56,7 @@
import com.android.internal.logging.MetricsLogger;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.ChooseLockGeneric;
+import com.android.settings.DimmableIconPreference;
import com.android.settings.OwnerInfoSettings;
import com.android.settings.R;
import com.android.settings.SelectableEditTextPreference;
@@ -66,6 +67,8 @@
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.drawable.CircleFramedDrawable;
import java.util.ArrayList;
@@ -73,6 +76,8 @@
import java.util.HashMap;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
/**
* Screen that manages the list of users on the device.
* Guest user is an always visible entry, even if the guest is not currently
@@ -126,9 +131,9 @@
private PreferenceGroup mUserListCategory;
private UserPreference mMePreference;
- private Preference mAddUser;
+ private DimmableIconPreference mAddUser;
private PreferenceGroup mLockScreenSettings;
- private SwitchPreference mAddUserWhenLocked;
+ private RestrictedSwitchPreference mAddUserWhenLocked;
private int mRemovingUserId = -1;
private int mAddedUserId = 0;
private boolean mAddingUser;
@@ -213,7 +218,7 @@
if (mUserCaps.mIsAdmin) {
mMePreference.setSummary(R.string.user_admin);
}
- mAddUser = findPreference(KEY_ADD_USER);
+ mAddUser = (DimmableIconPreference) findPreference(KEY_ADD_USER);
// Determine if add user/profile button should be visible
if (mUserCaps.mCanAddUser) {
mAddUser.setOnPreferenceClickListener(this);
@@ -223,7 +228,7 @@
}
}
mLockScreenSettings = (PreferenceGroup) findPreference("lock_screen_settings");
- mAddUserWhenLocked = (SwitchPreference) findPreference("add_users_when_locked");
+ mAddUserWhenLocked = (RestrictedSwitchPreference) findPreference("add_users_when_locked");
loadProfile();
setHasOptionsMenu(true);
IntentFilter filter = new IntentFilter(Intent.ACTION_USER_REMOVED);
@@ -745,7 +750,8 @@
userPreferences.add(pref);
}
- if (!mUserCaps.mIsGuest && (mUserCaps.mCanAddGuest || findGuest() != null)) {
+ if (!mUserCaps.mIsGuest &&
+ (mUserCaps.mCanAddGuest || findGuest() != null || mUserCaps.mDisallowAddUser)) {
// Add a virtual Guest user for guest defaults
UserPreference pref = new UserPreference(getPrefContext(), null,
UserPreference.USERID_GUEST_DEFAULTS,
@@ -755,6 +761,8 @@
pref.setIcon(getEncircledDefaultIcon());
pref.setOnPreferenceClickListener(this);
userPreferences.add(pref);
+ pref.setDisabledByAdmin(
+ mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
}
// Sort list of users by serialNum
@@ -788,7 +796,7 @@
}
// Append Add user to the end of the list
- if (mUserCaps.mCanAddUser) {
+ if (mUserCaps.mCanAddUser || mUserCaps.mDisallowAddUser) {
boolean moreUsers = mUserManager.canAddMoreUsers();
mAddUser.setOrder(Preference.DEFAULT_ORDER);
preferenceScreen.addPreference(mAddUser);
@@ -798,13 +806,19 @@
} else {
mAddUser.setSummary(null);
}
+ if (mAddUser.isEnabled()) {
+ mAddUser.setDisabledByAdmin(
+ mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
+ }
}
- if (mUserCaps.mIsAdmin && !mUserCaps.mDisallowAddUser) {
+ if (mUserCaps.mIsAdmin) {
mLockScreenSettings.setOrder(Preference.DEFAULT_ORDER);
preferenceScreen.addPreference(mLockScreenSettings);
mAddUserWhenLocked.setChecked(Settings.Global.getInt(getContentResolver(),
Settings.Global.ADD_USERS_WHEN_LOCKED, 0) == 1);
mAddUserWhenLocked.setOnPreferenceChangeListener(this);
+ mAddUserWhenLocked.setDisabledByAdmin(
+ mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
}
}
@@ -998,6 +1012,7 @@
boolean mIsGuest;
boolean mCanAddGuest;
boolean mDisallowAddUser;
+ EnforcedAdmin mEnforcedAdmin;
private UserCapabilities() {}
@@ -1012,8 +1027,9 @@
final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
caps.mIsGuest = myUserInfo.isGuest();
caps.mIsAdmin = myUserInfo.isAdmin();
- caps.mDisallowAddUser = userManager.hasUserRestriction(
- UserManager.DISALLOW_ADD_USER);
+ caps.mEnforcedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(context,
+ UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
+ caps.mDisallowAddUser = (caps.mEnforcedAdmin != null);
if (!caps.mIsAdmin || UserManager.getMaxSupportedUsers() < 2
|| !UserManager.supportsMultipleUsers()
|| caps.mDisallowAddUser) {
@@ -1040,6 +1056,9 @@
", mCanAddRestrictedProfile=" + mCanAddRestrictedProfile +
", mIsAdmin=" + mIsAdmin +
", mIsGuest=" + mIsGuest +
+ ", mCanAddGuest=" + mCanAddGuest +
+ ", mDisallowAddUser=" + mDisallowAddUser +
+ ", mEnforcedAdmin=" + mEnforcedAdmin +
'}';
}
}
@@ -1090,7 +1109,7 @@
data.screenTitle = res.getString(R.string.user_settings_title);
result.add(data);
- if (userCaps.mCanAddUser) {
+ if (userCaps.mCanAddUser || userCaps.mDisallowAddUser) {
data = new SearchIndexableRaw(context);
data.title = res.getString(userCaps.mCanAddRestrictedProfile ?
R.string.user_add_user_or_profile_menu
diff --git a/src/com/android/settings/widget/ChartGridView.java b/src/com/android/settings/widget/ChartGridView.java
index c85d4fc..2091719 100644
--- a/src/com/android/settings/widget/ChartGridView.java
+++ b/src/com/android/settings/widget/ChartGridView.java
@@ -32,7 +32,7 @@
import com.android.internal.util.Preconditions;
import com.android.settings.R;
-import static com.android.settings.DataUsageSummary.formatDateRange;
+import static com.android.settings.Utils.formatDateRange;
/**
* Background of {@link ChartView} that renders grid lines as requested by
diff --git a/src/com/android/settings/widget/ChartSweepView.java b/src/com/android/settings/widget/ChartSweepView.java
index e8e24aa..cdcd0a7 100644
--- a/src/com/android/settings/widget/ChartSweepView.java
+++ b/src/com/android/settings/widget/ChartSweepView.java
@@ -143,7 +143,6 @@
a.recycle();
setClickable(true);
- setFocusable(true);
setOnClickListener(mClickListener);
setWillNotDraw(false);
diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java
index d5f469c..b096cc4 100644
--- a/src/com/android/settings/widget/SwitchBar.java
+++ b/src/com/android/settings/widget/SwitchBar.java
@@ -35,6 +35,9 @@
import android.widget.TextView;
import com.android.settings.R;
+import com.android.settingslib.RestrictedLockUtils;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import java.util.ArrayList;
@@ -58,6 +61,9 @@
private String mLabel;
private String mSummary;
+ private boolean mDisabledByAdmin = false;
+ private EnforcedAdmin mEnforcedAdmin = null;
+
private ArrayList<OnSwitchChangeListener> mSwitchChangeListeners =
new ArrayList<OnSwitchChangeListener>();
@@ -153,11 +159,35 @@
}
public void setEnabled(boolean enabled) {
+ if (enabled && mDisabledByAdmin) {
+ setDisabledByAdmin(null);
+ return;
+ }
super.setEnabled(enabled);
mTextView.setEnabled(enabled);
mSwitch.setEnabled(enabled);
}
+ /**
+ * If admin is not null, disables the text and switch but keeps the view clickable.
+ * Otherwise, calls setEnabled which will enables the entire view including
+ * the text and switch.
+ */
+ public void setDisabledByAdmin(EnforcedAdmin admin) {
+ mEnforcedAdmin = admin;
+ if (admin != null) {
+ super.setEnabled(true);
+ mDisabledByAdmin = true;
+ RestrictedLockUtils.setTextViewPadlock(mContext, mTextView, true);
+ mTextView.setEnabled(false);
+ mSwitch.setEnabled(false);
+ } else {
+ mDisabledByAdmin = false;
+ RestrictedLockUtils.setTextViewPadlock(mContext, mTextView, false);
+ setEnabled(true);
+ }
+ }
+
public final ToggleSwitch getSwitch() {
return mSwitch;
}
@@ -182,8 +212,12 @@
@Override
public void onClick(View v) {
- final boolean isChecked = !mSwitch.isChecked();
- setChecked(isChecked);
+ if (mDisabledByAdmin) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin);
+ } else {
+ final boolean isChecked = !mSwitch.isChecked();
+ setChecked(isChecked);
+ }
}
public void propagateChecked(boolean isChecked) {
diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java
index b15a6e4..af723c3 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -61,6 +61,12 @@
}
@Override
+ public void finish() {
+ super.finish();
+ overridePendingTransition(0, 0);
+ }
+
+ @Override
public void onForget(WifiDialog dialog) {
final WifiManager wifiManager = getSystemService(WifiManager.class);
final AccessPoint accessPoint = dialog.getController().getAccessPoint();
diff --git a/tests/Android.mk b/tests/Android.mk
index bb31539..204b8c3 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -7,6 +7,8 @@
LOCAL_JAVA_LIBRARIES := android.test.runner bouncycastle
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-test mockito-target
+
# Include all test java files.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index aa7f947..fe9520e 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -51,17 +51,7 @@
</activity>
</application>
- <instrumentation android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="com.android.settings"
- android:label="Settings App Tests">
- </instrumentation>
-
- <instrumentation android:name="SettingsLaunchPerformance"
- android:targetPackage="com.android.settings"
- android:label="Settings Launch Performance">
- </instrumentation>
-
- <instrumentation android:name="android.test.InstrumentationTestRunner"
+ <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
android:targetPackage="com.android.settings"
android:label="Settings Test Cases">
</instrumentation>
diff --git a/tests/README b/tests/README
new file mode 100644
index 0000000..9af7c8a
--- /dev/null
+++ b/tests/README
@@ -0,0 +1,17 @@
+To build the tests you can use the following command at the root of your android source tree
+$ make SettingsTests
+
+The test apk then needs to be installed onto your test device via for example
+$ adb install -r out/target/product/shamu/data/app/SettingsTests/SettingsTests.apk
+
+To run all tests:
+$ adb shell am instrument -w com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner
+
+To run all tests in a specific class:
+$ adb shell am instrument -w -e class com.android.managedprovisioning.<class> com.android.managedprovisioning.tests/android.test.InstrumentationTestRunner
+
+To run a specific test:
+$ adb shell am instrument -w -e class com.android.settings.<class> com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner
+
+More general information can be found at
+http://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html
diff --git a/tests/src/com/android/settings/UtilsTests.java b/tests/src/com/android/settings/UtilsTests.java
new file mode 100644
index 0000000..9d4a5b8
--- /dev/null
+++ b/tests/src/com/android/settings/UtilsTests.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNull;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.when;
+
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class UtilsTests extends AndroidTestCase {
+ private static final int TEST_PRIMARY_USER_ID = 10;
+ private static final int TEST_MANAGED_PROFILE_ID = 11;
+
+ @Mock private UserManager mUserManager;
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ // // this is necessary for mockito to work
+ System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+
+ MockitoAnnotations.initMocks(this);
+ when(mUserManager.getUserHandle()).thenReturn(TEST_PRIMARY_USER_ID);
+ UserInfo primaryUser = new UserInfo(TEST_PRIMARY_USER_ID, null,
+ UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_PRIMARY);
+ when(mUserManager.getUserInfo(TEST_PRIMARY_USER_ID)).thenReturn(primaryUser);
+ UserInfo managedProfile = new UserInfo(TEST_MANAGED_PROFILE_ID, null,
+ UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_MANAGED_PROFILE);
+ when(mUserManager.getUserInfo(eq(TEST_MANAGED_PROFILE_ID))).thenReturn(managedProfile);
+ }
+
+ @SmallTest
+ public void testGetManagedProfile() {
+ UserHandle[] userHandles = new UserHandle[] {
+ new UserHandle(TEST_PRIMARY_USER_ID),
+ new UserHandle(TEST_MANAGED_PROFILE_ID)
+ };
+ when(mUserManager.getUserProfiles())
+ .thenReturn(new ArrayList<UserHandle>(Arrays.asList(userHandles)));
+ assertEquals(TEST_MANAGED_PROFILE_ID,
+ Utils.getManagedProfile(mUserManager).getIdentifier());
+ }
+
+ @SmallTest
+ public void testGetManagedProfile_notPresent() {
+ UserHandle[] userHandles = new UserHandle[] {
+ new UserHandle(TEST_PRIMARY_USER_ID)
+ };
+ when(mUserManager.getUserProfiles())
+ .thenReturn(new ArrayList<UserHandle>(Arrays.asList(userHandles)));
+ assertNull(Utils.getManagedProfile(mUserManager));
+ }
+}