Merge "Can launch into the lock screen with setup wizard style"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 097f207..4b311c1 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -560,15 +560,6 @@
android:value="true" />
</activity>
- <activity android:name="DateTimeSettingsSetupWizard"
- android:label="@string/date_and_time"
- android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar"
- android:screenOrientation="behind">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- </intent-filter>
- </activity>
-
<activity android:name="Settings$LocalePickerActivity"
android:label="@string/language_picker_title"
android:icon="@drawable/ic_settings_language"
@@ -3253,6 +3244,19 @@
android:resource="@string/gesture_preference_summary"/>
</activity-alias>
+ <activity-alias android:name="PrivacyDashboardAlias"
+ android:targetActivity="Settings$PrivacySettingsActivity">
+ <intent-filter android:priority="60">
+ <action android:name="com.android.settings.action.SETTINGS" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.category"
+ android:value="com.android.settings.category.ia.system" />
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.PrivacySettings" />
+ <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+ android:value="true" />
+ </activity-alias>
+
<activity-alias android:name="BackupResetDashboardAlias"
android:targetActivity="Settings$PrivacySettingsActivity">
<intent-filter android:priority="60">
diff --git a/res/layout-sw600dp/date_time_settings_setupwizard.xml b/res/layout-sw600dp/date_time_settings_setupwizard.xml
deleted file mode 100644
index 41e3021..0000000
--- a/res/layout-sw600dp/date_time_settings_setupwizard.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/layout_root"
- android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:paddingTop="96dip"
- android:paddingStart="40dip"
- android:paddingEnd="40dip"
- android:paddingBottom="96dip"
- android:orientation="vertical">
-
- <FrameLayout android:id="@+id/timezone_dropdown_anchor"
- android:layout_height="0px"
- android:layout_width="match_parent"
- android:layout_marginStart="40dip"
- android:layout_marginEnd="40dip"/>
-
- <LinearLayout android:layout_height="0px"
- android:layout_weight="1"
- android:layout_width="match_parent"
- android:orientation="vertical">
-
- <fragment android:id="@+id/date_time_settings_fragment"
- class="com.android.settings.DateTimeSettings"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
-
- </LinearLayout>
-
- <RelativeLayout android:layout_height="wrap_content"
- android:layout_weight="0"
- android:layout_width="match_parent">
-
- <View
- android:id="@+id/bottom_divider"
- android:layout_height="3dip"
- android:layout_width="match_parent"
- android:layout_marginTop="0dip"
- android:layout_marginBottom="16dip"
- android:background="@color/divider_color"
- android:layout_above="@+id/next_button"/>
-
- <Button android:id="@+id/next_button"
- android:layout_width="wrap_content"
- android:minWidth="208dip"
- android:layout_height="48dip"
- android:layout_marginTop="10dip"
- android:layout_alignParentEnd="true"
- android:text="@string/next_label"/>
-
- </RelativeLayout>
-
-</LinearLayout>
diff --git a/res/layout-sw720dp/date_time_settings_setupwizard.xml b/res/layout-sw720dp/date_time_settings_setupwizard.xml
deleted file mode 100644
index 32c4d93..0000000
--- a/res/layout-sw720dp/date_time_settings_setupwizard.xml
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
- -->
-<RelativeLayout
- android:id="@+id/layout_root"
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingTop="@dimen/datetime_margin_top"
- android:paddingStart="@dimen/screen_margin_sides"
- android:paddingEnd="@dimen/screen_margin_sides"
- android:paddingBottom="@dimen/datetime_margin_bottom">
-
- <!-- Title: Set date & time-->
- <TextView
- android:id="@+id/title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:minHeight="48dip"
- android:layout_alignParentStart="true"
- android:layout_marginStart="16dip"
- android:layout_alignParentTop="true"
- android:textSize="32dip"
- android:textColor="@color/title_color"
- android:text="@string/date_and_time_settings_title_setup_wizard"
- android:gravity="bottom" />
-
- <!-- Divider -->
- <View
- android:id="@+id/top_divider"
- android:layout_width="match_parent"
- android:layout_height="3dip"
- android:layout_below="@id/title"
- android:layout_marginTop="6dip"
- android:layout_marginBottom="17dip"
- android:background="@color/divider_color" />
-
- <RelativeLayout
- android:id="@+id/timezone_auto_time"
- android:layout_width="716dip"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_below="@id/top_divider">
- <!-- timezone -->
- <Button
- android:id="@+id/time_zone_button"
- style="?android:attr/dropDownSpinnerStyle"
- android:layout_width="304dip"
- android:layout_height="48dip"
- android:layout_alignParentStart="true"
- android:layout_alignBottom="@+id/date_time_auto"
- android:gravity="start|center_vertical"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textSize="20dip" />
-
- <LinearLayout
- android:id="@+id/date_time_auto"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:layout_toEndOf="@id/time_zone_button"
- android:layout_marginStart="32dip"
- android:layout_alignParentEnd="true">
-
- <Switch
- android:id="@+id/date_time_auto_button"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:layout_marginStart="16dip"
- android:text="@string/date_time_auto"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textSize="20dip" />
-
- <!-- Divider -->
- <View
- android:layout_width="match_parent"
- android:layout_height="1px"
- android:background="@color/divider_color" />
- </LinearLayout>
- </RelativeLayout>
-
- <LinearLayout
- android:layout_width="624dip"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_below="@+id/timezone_auto_time"
- android:layout_marginTop="48dip"
- android:orientation="horizontal">
-
- <LinearLayout
- android:layout_width="312dip"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView
- android:id="@+id/date_picker_title"
- android:layout_width="match_parent"
- android:layout_height="48dip"
- android:text="@string/date_picker_title"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textSize="20dip"
- android:clickable="false"
- android:longClickable="false"
- android:gravity="center" />
- <DatePicker
- android:id="@+id/date_picker"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/date_picker_title" />
- </LinearLayout>
-
- <!-- divider -->
- <View
- android:id="@+id/center_divider"
- android:layout_width="1dip"
- android:layout_height="match_parent"
- android:background="@color/divider_color" />
-
- <LinearLayout
- android:layout_width="312dip"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView
- android:id="@+id/time_picker_title"
- android:layout_width="match_parent"
- android:layout_height="48dip"
- android:text="@string/time_picker_title"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textSize="20dip"
- android:gravity="center" />
-
- <TimePicker
- android:id="@+id/time_picker"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/time_picker_title" />
- </LinearLayout>
- </LinearLayout>
-
- <View
- android:id="@+id/bottom_divider"
- android:layout_width="match_parent"
- android:layout_height="3dip"
- android:layout_alignStart="@id/timezone_auto_time"
- android:layout_above="@+id/next_button"
- android:layout_marginBottom="16dip"
- android:background="@color/divider_color" />
-
- <Button
- android:id="@+id/next_button"
- style="@style/setup_wizard_button"
- android:layout_alignParentBottom="true"
- android:layout_alignParentEnd="true"
- android:text="@string/next_label" />
-</RelativeLayout>
diff --git a/res/layout/date_time_setup_custom_list_item_2.xml b/res/layout/date_time_custom_list_item_2.xml
similarity index 100%
rename from res/layout/date_time_setup_custom_list_item_2.xml
rename to res/layout/date_time_custom_list_item_2.xml
diff --git a/res/layout/date_time_settings_setupwizard.xml b/res/layout/date_time_settings_setupwizard.xml
deleted file mode 100644
index 7227f2b..0000000
--- a/res/layout/date_time_settings_setupwizard.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/layout_root"
- android:layout_height="fill_parent"
- android:layout_width="fill_parent"
- android:orientation="vertical">
-
- <View
- android:id="@+id/timezone_dropdown_anchor"
- android:layout_width="match_parent"
- android:layout_marginStart="20dip"
- android:layout_marginEnd="20dip"
- android:layout_height="0px" />
-
- <LinearLayout android:layout_height="0px"
- android:layout_weight="1"
- android:layout_width="fill_parent"
- android:orientation="vertical">
- <fragment android:id="@+id/date_time_settings_fragment"
- class="com.android.settings.DateTimeSettings"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
- </LinearLayout>
-
- <RelativeLayout android:layout_height="wrap_content"
- android:layout_weight="0"
- android:padding="10dip"
- android:layout_width="fill_parent">
-
- <Button android:id="@+id/next_button"
- android:layout_width="150dip"
- android:layout_height="wrap_content"
- android:layout_alignParentEnd="true"
- android:text="@string/next_label"
- />
-
- </RelativeLayout>
-
-</LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 5707c1b..5d54c47 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Vervang werkprofielklanke?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Vervang"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Jou huidige werkprofielklanke sal vervang word met jou persoonlike profiel se klanke"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Kennisgewingvoorkeure"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Gevorderd"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Werkkennisgewings"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Flikker kennisgewing-liggie"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Programme is nie geïnstalleer nie"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Geïnstalleerde programme"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Jou berging word nou deur die bergingbestuurder bestuur"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 4816de9..d95fb7c 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"በመገለጫ ድምጾች ይተኩ?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"ተካ"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"የአሁኑ የስራ መገለጫዎ ድምጾች በግል መገለጫ ድምጾችዎ ይተካሉ"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"የማሳወቂያ ምርጫዎች"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"የላቀ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"የስራ ማሳወቂያዎች"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"የማሳወቂያ ብርሃን አሳይ"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"መተግበሪያዎች አልተጫኑም"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"የተጫኑ መተግበሪያዎች"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"የእርስዎ ማከማቻ አሁን በማከማቻ አስተዳዳሪ እየተዳደረ ነው"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 5ff4ef8..8ab3da2 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -2722,8 +2722,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"أتستبدل أصوات ملف العمل؟"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"استبدال"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"سيتم استبدال الأصوات الحالية للملف الشخصي للعمل بأصوات ملفك الشخصي على حسابك الشخصي."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"تفضيلات الإشعارات"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"متقدمة"</string>
<string name="profile_section_header" msgid="2320848161066912001">"إشعارات العمل"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"ضوء الاشعار بالنبض"</string>
@@ -3417,4 +3416,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"التطبيقات غير مثبَّتة"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"التطبيقات المثبَّتة"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"تتم إدارة السعة التخزينية لجهازك الآن عن طريق مدير السعة التخزينية"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index ae1fdc6..94180ac 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"İş profili səsləri əvəz edilsin?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Əvəz edin"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Cari iş profili səsləriniz şəxsi profil səsləri ilə əvəz olunacaq"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Bildiriş tərcihləri"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Qabaqcıl"</string>
<string name="profile_section_header" msgid="2320848161066912001">"İş bildirişləri"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Puls bildiriş işığı"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Tətbiq quraşdırılmayıb"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Quraşdırılmış tətbiqlər"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Yaddaşınız indi yaddaş meneceri tərəfindən idarə olunur"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 2938e65..3d4739d 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -3311,4 +3311,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplikacije koje nisu instalirane"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Instalirane aplikacije"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Memorijskim prostorom sada upravlja Menadžer memorijskog prostora"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml
index 41b81e5..be3df42 100644
--- a/res/values-be-rBY/strings.xml
+++ b/res/values-be-rBY/strings.xml
@@ -2678,8 +2678,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Замяніць гукі прац. профілю?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Замяніць"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Вашы бягучыя гукі працоўнага профілю будуць заменены гукамі вашага асабістага профілю"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Параметры апавяшчэнняў"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Пашыраныя"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Апавяшчэнні працоўнага профілю"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Мігценне індыкатара апавяшчэння"</string>
@@ -3347,4 +3346,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Праграмы не ўсталяваны"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Усталяваныя праграмы"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Ваша сховішча зараз знаходзіцца пад кіраваннем менеджара сховішча"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 180c787..188204b 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Приложения, които не са инсталирани"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Инсталирани приложения"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Хранилището ви вече се управлява от съответния мениджър"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 56137cb..94dbdc1 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -2529,7 +2529,7 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"নেটওয়ার্ক ও ইন্টারনেট"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"সংযুক্ত ডিভাইস"</string>
- <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"অ্যাপ্স & বিজ্ঞপ্তিগুলি"</string>
+ <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"অ্যাপ্স & বিজ্ঞপ্তি"</string>
<string name="account_dashboard_title" msgid="38701889336378742">"ব্যবহারকারি & অ্যাকাউন্টগুলি"</string>
<string name="app_default_dashboard_title" msgid="8176215295082796426">"অ্যাপ ডিফল্টগুলি"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"ভাষা: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"কর্মস্থলের প্রোফাইলের ধ্বনিগুলিকে প্রতিস্থাপন করতে চান?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"প্রতিস্থাপন করুন"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"আপনার বর্তমান কর্মস্থালের প্রোফাইলের ধ্বনিগুলিকে আপনার ব্যক্তিগত প্রোফাইলের ধ্বনিগুলির সাথে প্রতিস্থাপন করা হবে"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"বিজ্ঞপ্তির পছন্দগুলি"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"উন্নত"</string>
<string name="profile_section_header" msgid="2320848161066912001">"কর্মস্থলের বিজ্ঞপ্তিগুলি"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"পাল্স বিজ্ঞপ্তির জন্য আলো"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"অ্যাপ্স ইনস্টল করা হয়নি"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ইনস্টল করা অ্যাপ্স"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"আপনার সঞ্চয়স্থান এখন সঞ্চয়স্থান পরিচালকের দ্বারা পরিচালিত হচ্ছে"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
index f4543e1..eb68649 100644
--- a/res/values-bs-rBA/strings.xml
+++ b/res/values-bs-rBA/strings.xml
@@ -2656,8 +2656,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Želite li zamijeniti zvuke radnog profila?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Zamijeni"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Postojeći zvuci vašeg radnog profila će se zamijeniti zvucima vašeg ličnog profila"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Pref. postavke obavještenja"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Napredno"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obavještenja za posao"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsirajuće svjetlo obavještenja"</string>
@@ -3312,4 +3311,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Neinstalirane aplikacije"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Instalirane aplikacije"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Vašom pohranom sada upravlja upravitelj pohrane"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 6a3c14c..24cb3da 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplicacions no instal·lades"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Aplicacions instal·lades"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Ara mateix, el gestor d\'emmagatzematge gestiona el teu emmagatzematge"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ff297eb..883e843 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -3346,4 +3346,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplikace nejsou nainstalovány"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Nainstalované aplikace"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Úložiště je nyní spravováno správcem úložiště."</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 75668c8..5e22ab2 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Erstat lyde for arbejdsprofil?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Erstat"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Dine aktuelle lyde for din arbejdsprofil erstattes af lydene fra din private profil"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Underretningsindstillinger"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avanceret"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Arbejdsunderretninger"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Blink ved nye underretninger"</string>
@@ -3093,7 +3092,7 @@
<string name="color_temperature_toast" msgid="4974218172133854827">"Du skal slå skærmen fra, før du kan anvende farveændringer"</string>
<string name="ota_disable_automatic_update" msgid="2319639631655915050">"Automatiske systemopdateringer"</string>
<string name="usage" msgid="2977875522080448986">"Forbrug"</string>
- <string name="cellular_data_usage" msgid="2763710678354680712">"Dataforbrug for mobilenhed"</string>
+ <string name="cellular_data_usage" msgid="2763710678354680712">"Forbrug af mobildata"</string>
<string name="wifi_data_usage" msgid="686754111095324306">"Dataforbrug via Wi-Fi"</string>
<string name="ethernet_data_usage" msgid="5108764537574354616">"Forbrug af Ethernet-data"</string>
<string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
@@ -3104,8 +3103,8 @@
<string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Dataadvarsel"</string>
<string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Dataadvarsel / <xliff:g id="ID_2">%2$s</xliff:g> Datagrænse"</string>
<string name="billing_cycle" msgid="5169909190811133499">"Faktureringscyklus"</string>
- <string name="billing_cycle_summary" msgid="9009106526129293752">"Den månedlige cyklus starter den <xliff:g id="ID_1">%1$s</xliff:g> i hver måned"</string>
- <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Hver måned fra og med den <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="billing_cycle_summary" msgid="9009106526129293752">"Den månedlige cyklus starter den <xliff:g id="ID_1">%1$s</xliff:g>. i hver måned"</string>
+ <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Hver måned fra og med den <xliff:g id="ID_1">%1$s</xliff:g>."</string>
<string name="network_restrictions" msgid="8234695294536675380">"Netværksbegrænsninger"</string>
<string name="operator_warning" msgid="1862988028996859195">"Mobilselskabets dataopgørelse kan variere fra enhedens opgørelse."</string>
<string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> anvendt"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps, som ikke er installeret"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installerede aps"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Din lagerplads administreres nu af lageradministratoren"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 9c18935..ddba737 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -2670,7 +2670,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="119203147791040151">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> kann alle Benachrichtigungen lesen, darunter auch persönliche Informationen wie Kontaktnamen und eingehende Nachrichten. Außerdem können Benachrichtigungen geschlossen oder Schaltflächen in den Benachrichtigungen betätigt werden. \n\nZusätzlich kann durch die App die \"Nicht stören\"-Funktion aktiviert bzw. deaktiviert werden. Verwandte Einstellungen können ebenfalls geändert werden."</string>
+ <string name="notification_listener_security_warning_summary" msgid="119203147791040151">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> kann alle Benachrichtigungen lesen, darunter auch persönliche Informationen wie Kontaktnamen und eingehende Nachrichten. Außerdem können Benachrichtigungen geschlossen und damit verbundene Aktionen ausgelöst werden. \n\nZusätzlich kann durch die App die \"Nicht stören\"-Funktion aktiviert bzw. deaktiviert werden. Verwandte Einstellungen können ebenfalls geändert werden."</string>
<string name="notification_listener_disable_warning_summary" msgid="6738915379642948000">"Wenn du den Benachrichtigungszugriff für <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> deaktivierst, wird möglicherweise auch der \"Nicht stören\"-Zugriff deaktiviert."</string>
<string name="notification_listener_disable_warning_confirm" msgid="8333442186428083057">"Deaktivieren"</string>
<string name="notification_listener_disable_warning_cancel" msgid="8586417377104211584">"Abbrechen"</string>
@@ -3278,4 +3278,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Nicht installierte Apps"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installierte Apps"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Dein Speicher wird jetzt vom Speichermanager verwaltet"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 8a88794..d267031 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Μη εγκατεστημένες εφαρμογές"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Εγκατεστημένες εφαρμογές"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Στο εξής, γίνεται διαχείριση του αποθηκευτικού σας χώρου από τον διαχειριστή αποθηκευτικού χώρου"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index ba7f4fd..9406f5b 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps not installed"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installed apps"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Your storage is now being managed by the storage manager"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 41b53b2..804a36d 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps not installed"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installed apps"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Your storage is now being managed by the storage manager"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 41b53b2..804a36d 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps not installed"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installed apps"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Your storage is now being managed by the storage manager"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index e27b898..2a5e13a 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -3274,4 +3274,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps no instaladas"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Apps instaladas"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Tu almacenamiento ahora está a cargo del administrador de almacenamiento"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index e510f2f..584885c 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -3274,4 +3274,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplicaciones no instaladas"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Aplicaciones instaladas"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"El Administrador de Almacenamiento gestiona ahora el almacenamiento"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 1c747dc..2610e9a 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Rakendused pole installitud"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installitud rakendused"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Teie salvestusruumi haldab nüüd salvestusruumi haldur"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 43efc66..d6500db1 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Laneko profilaren soinua ordeztu?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Ordeztu"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Laneko profilaren soinuak profil pertsonaleko soinuekin ordeztuko dira"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Jakinarazpenen hobespenak"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Ezarpen aurreratuak"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Laneko jakinarazpenak"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Jakinarazpen-argi keinukaria"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Instalatu gabeko aplikazioak"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Instalatutako aplikazioak"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Biltegi-kudeatzailea ari da biltegia kudeatzen"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 430cd31..75b2d11 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"صداهای نمایه کاریتان جایگزین شوند؟"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"جایگزینی"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"صداهای نمایه کاری کنونیتان با صداهای نمایه شخصیتان جایگزین میشوند"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"تنظیمات برگزیده اعلان"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"پیشرفته"</string>
<string name="profile_section_header" msgid="2320848161066912001">"اعلانهای کار"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"چراغ اعلان چشمک بزند"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"برنامههای نصبنشده"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"برنامههای نصبشده"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"حافظه شما اکنون توسط مدیر حافظه مدیریت میشود"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index b997344..0138d90 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Korvataanko työprofiiliäänet?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Korvaa"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Työprofiilin nykyiset äänet korvataan henkilökohtaisen profiilin äänillä."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Ilmoitusasetukset"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Lisäasetukset"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Työilmoitukset"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Vilkuta ilmoitusvaloa"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Sovelluksia ei asennettu"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Asennetut sovellukset"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Tallennustilan hallinta hallitsee nyt tallennustilaasi."</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 413f659..f52cad2 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -1261,7 +1261,7 @@
<string name="tether_settings_title_wifi" msgid="3277144155960302049">"Point d\'accès Wi-Fi mobile"</string>
<string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Via Bluetooth"</string>
<string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Partage de connexion"</string>
- <string name="tether_settings_title_all" msgid="8356136101061143841">"Partage de connexion et point d\'accès mobile"</string>
+ <string name="tether_settings_title_all" msgid="8356136101061143841">"Partage de connexion"</string>
<string name="tether_settings_disabled_on_data_saver" msgid="1576908608463904152">"Impossible de partager la connexion ou d\'utiliser des points d\'accès mobiles lorsque la fonction Économiseur de données est activée"</string>
<string name="usb_title" msgid="7483344855356312510">"USB"</string>
<string name="usb_tethering_button_text" msgid="585829947108007917">"Partage de connexion par USB"</string>
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Remplacer sons du profil prof.?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Remplacer"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Les sons actuels de votre profil professionnel seront remplacés par ceux de votre profil personnel."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Préférences de notification"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Paramètres avancés"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notifications professionnelles"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Voyant de notification"</string>
@@ -2739,7 +2738,7 @@
<string name="zen_mode_messages" msgid="5886440273537510894">"Messages"</string>
<string name="zen_mode_all_messages" msgid="6449223378976743208">"Tous les messages"</string>
<string name="zen_mode_selected_messages" msgid="8245990149599142281">"Messages sélectionnés"</string>
- <string name="zen_mode_from_anyone" msgid="2638322015361252161">"De tous"</string>
+ <string name="zen_mode_from_anyone" msgid="2638322015361252161">"De tout le monde"</string>
<string name="zen_mode_from_contacts" msgid="2232335406106711637">"Des contacts seulement"</string>
<string name="zen_mode_from_starred" msgid="2678345811950997027">"Des contacts favoris seulement"</string>
<string name="zen_mode_from_none" msgid="8219706639954614136">"Aucun"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Applications non installées"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Applications installées"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Votre espace de stockage est maintenant géré par le gestionnaire de stockage"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index e397e67..2f85d63 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Applications pas installées"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Applications installées"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Votre espace de stockage est désormais géré par le gestionnaire d\'espace de stockage."</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index bc2d010..fc6f9c8 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -2531,7 +2531,7 @@
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositivos conectados"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplicacións e notificacións"</string>
<string name="account_dashboard_title" msgid="38701889336378742">"Usuario e contas"</string>
- <string name="app_default_dashboard_title" msgid="8176215295082796426">"Valores predeterminados das aplicacións"</string>
+ <string name="app_default_dashboard_title" msgid="8176215295082796426">"Accións predeterminadas das aplicacións"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Idioma: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Configuración"</string>
<string name="search_menu" msgid="6283419262313758339">"Configuración de busca"</string>
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplicacións non instaladas"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Aplicacións instaladas"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Agora o xestor de almacenamento administra o teu espazo"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index 5e8021c..90e369f 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -2636,8 +2636,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"કાર્ય પ્રોફાઇલ ધ્વનિઓ બદલીએ?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"બદલો"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"તમારી વર્તમાન કાર્ય પ્રોફાઇલ ધ્વનિઓ તમારી વ્યક્તિગત પ્રોફાઇલ ધ્વનિઓ સાથે બદલવામાં આવશે"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"સૂચના પસંદગીઓ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"વિગતવાર"</string>
<string name="profile_section_header" msgid="2320848161066912001">"કાર્યની સૂચનાઓ"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"પલ્સ સૂચના પ્રકાશ"</string>
@@ -3279,4 +3278,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"ઍપ્લિકેશનો ઇન્સ્ટૉલ થયેલ નથી"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ઇન્સ્ટૉલ કરેલ ઍપ્લિકેશનો"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"તમારું સ્ટોરેજ, હવે સ્ટોરેજ સંચાલક દ્વારા સંચાલિત કરવામાં આવી રહ્યું છે"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index e5b2789..f4653da 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"कार्य प्रोफाइल ध्वनियां बदलें?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"बदलें"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"आपकी वर्तमान कार्य प्रोफ़ाइल की ध्वनियां आपकी व्यक्तिगत प्रोफ़ाइल की ध्वनियों से बदल दी जाएंगी"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"नोटिफ़िकेशन प्राथमिकताएं"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"उन्नत"</string>
<string name="profile_section_header" msgid="2320848161066912001">"कार्य नोटिफ़िकेशन"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"पल्स नोटिफिकेशन लाइट"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"इंस्टॉल नहीं किए गए ऐप्लिकेशन"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"इंस्टॉल किए गए ऐप्लिकेशन"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"आपकी जगह का प्रबंधन अब जगह प्रबंधक द्वारा किया जा रहा है"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index a199500..2853c19 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -2656,8 +2656,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Zamjena zvuka radnog profila?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Zamijeni"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Trenutačni zvukovi radnog profila zamijenit će se zvukovima osobnog profila"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Postavke obavijesti"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Napredno"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obavijesti s radnog profila"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsno svjetlo obavijesti"</string>
@@ -3312,4 +3311,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplikacije nisu instalirane"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Instalirane aplikacije"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Vašom pohranom sada upravlja upravitelj pohrane"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 5ae84d6..554d9d5 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Az alkalmazások nincsenek telepítve"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Telepített alkalmazások"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Tárhelyét mostantól a tárhelykezelő kezeli"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 60578ff..24d6a1e 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Փոխարինե՞լ աշխատանքային պրոֆիլի ձայները:"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Փոխարինել"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Աշխատանքային պրոֆիլի ընթացիկ ձայները կփոխարինվեն անձնական հաշվի ձայներով"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Ծանուցումների կարգավորումներ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Լրացուցիչ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Աշխատանքային ծանուցումներ"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Ծանուցման լույսի թարթում"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Հավելվածները տեղադրված չեն"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Տեղադրված հավելվածներ"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Ձեր սարքի հիշողությունն այժմ կառավարվում է հիշողության կառավարիչի կողմից"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index c464ebc..12ce5fa 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplikasi tidak terpasang"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Aplikasi terpasang"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Penyimpanan kini dikelola oleh pengelola penyimpanan"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index c7b0b11..4d52069 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Forrit ekki uppsett"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Uppsett forrit"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Geymslurýminu þínu er nú stjórnað af geymslustjórnun"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index fab69eb..4f010f7 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Sostituire suoni lavoro?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Sostituisci"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"I suoni attuali del profilo di lavoro verranno sostituiti con i suoni del tuo profilo personale"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferenze di notifica"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avanzate"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notifiche di lavoro"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Luce intermittente"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"App non installate"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"App installate"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Il tuo spazio di archiviazione è ora gestito dalla Gestione memoria"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 28a6e20..8bf1a24 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -3348,4 +3348,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"אפליקציות לא מותקנות"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"אפליקציות מותקנות"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"האחסון שלך מנוהל כעת על ידי מנהל האחסון"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 66a657d..44d8308 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -2638,8 +2638,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"仕事用プロファイルの音の置換"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"置換"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"現在の仕事用プロファイルの音は個人用プロファイルの音に置き換えられます"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"通知設定"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"詳細設定"</string>
<string name="profile_section_header" msgid="2320848161066912001">"仕事用プロファイルの通知"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"光を点滅させて通知"</string>
@@ -3281,4 +3280,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"アプリがインストールされていません"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"インストール済みアプリ"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"お使いのストレージの管理はストレージ マネージャが行うようになりました"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index c7e359e..5ff4296 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"დაუინსტალირებული აპები"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"დაინსტალირებული აპები"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"თქვენს მეხსიერებას ახლა მეხსიერების მენეჯერი მართავს"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 646f09e..05555bc 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Орнатылмаған қолданбалар"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Орнатылған қолданбалар"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Құрылғы жадын енді жад менеджері басқарады"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 83d42f5..152e46f 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"ជំនួសសំឡេងប្រវត្តិការងារឬ?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"ជំនួស"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"សំឡេងប្រវត្តិរូបការងារបច្ចុប្បន្នរបស់អ្នកនឹងត្រូវបានជំនួសដោយសំឡេងប្រវត្តិរូបផ្ទាល់ខ្លួនរបស់អ្នក"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"ចំណូលចិត្តការជូនដំណឹង"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"កម្រិតខ្ពស់"</string>
<string name="profile_section_header" msgid="2320848161066912001">"ការជូនដំណឹងពីកន្លែងធ្វើការ"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"ពន្លឺជូនដំណឹងភ្លឺបភ្លែត"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"មិនបានដំឡើងកម្មវិធីទេ"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"កម្មវិធីបានដំឡើង"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"នៅពេលនេះទំហំផ្ទុករបស់អ្នកត្រូវបានគ្រប់គ្រងដោយកម្មវិធីគ្រប់គ្រងទំហំផ្ទុក"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 61b9e1d..1b3cd3a 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಧ್ವನಿಗಳನ್ನು ಬದಲಾಯಿಸುವುದೇ?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"ಸ್ಥಾನಾಂತರಿಸು"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಧ್ವನಿಗಳನ್ನು ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಪ್ರೊಫೈಲ್ ಧ್ವನಿಯಾಗಿ ಸ್ಥಾನಾಂತರಿಸಲಾಗುತ್ತದೆ"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"ಅಧಿಸೂಚನೆ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"ಸುಧಾರಿತ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"ಕೆಲಸದ ಅಧಿಸೂಚನೆಗಳು"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"ಪಲ್ಸ್ ಅಧಿಸೂಚನೆ ಬೆಳಕು"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"ಅಪ್ಲಿಕೇಶನ್ಗಳು ಸ್ಥಾಪನೆಗೊಂಡಿಲ್ಲ"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ಸ್ಥಾಪಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"ನಿಮ್ಮ ಸಂಗ್ರಹಣೆಯು ಈಗ ಸಂಗ್ರಹಣೆ ನಿರ್ವಾಹಕರಿಂದ ನಿರ್ವಹಿಸಿಲಾಗುತ್ತಿದೆ"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 3b6ae5b..1a945d9 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"직장 프로필 사운드 바꾸기"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"바꾸기"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"현재 직장 프로필 사운드가 개인 프로필 사운드로 대체됩니다."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"알림 환경설정"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"고급"</string>
<string name="profile_section_header" msgid="2320848161066912001">"직장 알림"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"알림등 반복 표시"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"앱이 설치되어 있지 않음"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"설치된 앱"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"현재 저장용량 관리자가 저장용량을 관리하고 있습니다."</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index a0d06f2..1e23afc 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -2633,8 +2633,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Үндөр алмаштырылсынбы?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Алмаштыруу"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Учурдагы жумуш профилиңиздин үндөрү жеке профилиңиздин үндөрү менен алмаштырылат."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Эскертменин параметрлери"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Өркүндөтүлгөн"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Жумуш боюнча эскертмелер"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Тармактын индикатору"</string>
@@ -3276,4 +3275,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Колдонмолор орнотулган эмес"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Орнотулган колдонмолор"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Учурда сактагычыңыз сактагычты көзөмөлдөгүч тарабынан башкарылууда"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 2d5b789..60e750d 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"ແທນທີ່ສຽງໂປຣໄຟລ໌ບ່ອນເຮັດວຽກບໍ?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"ແທນທີ່"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"ສຽງໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານໃນປັດຈຸບັນຈະຖືກແທນທີ່ດ້ວຍສຽງໂປຣໄຟລ໌ສ່ວນຕົວຂອງທ່ານ"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"ການຕັ້ງຄ່າການແຈ້ງເຕືອນ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"ຂັ້ນສູງ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"ການແຈ້ງເຕືອນວຽກ"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"ໄຟກະພິບແຈ້ງເຕືອນ"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps not installed"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ແອັບຯທີ່ຕິດຕັ້ງແລ້ວ"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"ຕອນນີ້ອຸປະກອນຂອງທ່ານຖືກຈັດການໂດຍຕົວຈັດການບ່ອນຈັດເກັບຂໍ້ມູນແລ້ວ."</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index d2e09e0..ab375fc 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -3348,4 +3348,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Programos neįdiegtos"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Įdiegtos programos"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Saugyklą dabar tvarko saugyklos valdytojas"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index a6cf1a0..781f504 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -3311,4 +3311,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Lietotnes nav instalētas"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Instalētās lietotnes"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Tagad jūsu krātuvi pārvalda krātuves pārvaldnieks"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index fef1182..e0cbbbe 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Заменете звуци на раб. профил?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Замени"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Тековните звуци на работниот профил ќе бидат заменети со звуците од личниот профил"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Поставки за известувањата"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Напредни"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Известувања за работен профил"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Пулсирачко светло за известување"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Апликациите не се инсталирани"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Инсталирани апликации"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Управникот со меморија сега управува со вашата меморија"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index d6ed12e..e82bfe0 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"ഔദ്യോഗിക പ്രൊഫൈൽ ശബ്ദങ്ങൾ മാറ്റണോ?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"മാറ്റിസ്ഥാപിക്കുക"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"നിങ്ങളുടെ നിലവിലെ ഔദ്യോഗിക പ്രൊഫൈൽ ശബ്ദങ്ങൾക്ക് പകരമായി നിങ്ങളുടെ വ്യക്തിഗത പ്രൊഫൈൽ ശബ്ദങ്ങൾ ഉപയോഗിക്കപ്പെടും"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"അറിയിപ്പ് മുൻഗണനകൾ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"വിപുലമായത്"</string>
<string name="profile_section_header" msgid="2320848161066912001">"ഔദ്യോഗിക അറിയിപ്പുകൾ"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"അറിയിപ്പുലൈറ്റ് പ്രകാശിപ്പിക്കൂ"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"ആപ്സ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ല"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ഇൻസ്റ്റാളുചെയ്ത അപ്ലിക്കേഷനുകൾ"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"നിങ്ങളുടെ സ്റ്റോറേജ് ഇപ്പോൾ മാനേജുചെയ്യുന്നത് സ്റ്റോറേജ് മാനേജരാണ്"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index ff83d6a..82a31e5 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Ажлын профайлын дууг солих уу?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Солих"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Таны ажлын профайлын одоогийн дууг таны хувийн профайлын дуугаар солих болно"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Мэдэгдлийн тохируулга"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Нарийвчилсан"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Ажлын мэдэгдэл"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Анивчих мэдэгдлийн гэрэл"</string>
@@ -3275,4 +3274,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Апп суулгаагүй байна"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Суулгасан апп"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Таны санг одоо сангийн менежер удирдаж байна"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 8f3e1da..d78b8b9 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"कार्य प्रोफाईल ध्वनी पुनर्स्थित करायचे?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"पुनर्स्थित करा"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"आपले वर्तमान कार्य प्रोफाइल ध्वनी आपल्या वैयक्तिक प्रोफाइल ध्वनींनी पुनर्स्थित केले जातील"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"सूचना प्राधान्ये"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"प्रगत"</string>
<string name="profile_section_header" msgid="2320848161066912001">"कार्य सूचना"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"पल्स सूचना प्रकाश"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"अॅप्स स्थापित केलेले नाहीत"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"स्थापित केलेले अॅप्स"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"आपला संचय आता संचय व्यवस्थापक व्यवस्थापित करीत आहे"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index e3f572e..06a38d2 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Gantikan bunyi profil kerja?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Gantikan"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Bunyi profil kerja semasa akan digantikan dengan bunyi profil peribadi anda."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Pilihan pemberitahuan"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Terperinci"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Pemberitahuan kerja"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Kelip lampu pemberitahuan"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apl tidak dipasang"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Apl yang dipasang"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Storan anda kini diurus oleh pengurus storan"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 5b473ce..2e481ff 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"အက်ပ်များကို ထည့်သွင်းမထားပါ"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ထည့်သွင်းထားသည့် အက်ပ်များ"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"သင့်သိုလှောင်မှုကို သိုလှောင်မှုမန်နေဂျာက လက်ရှိစီမံခန့်ခွဲနေပါသည်"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 2df0648..9e8458f 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Bytte lyder for jobbprofilen?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Erstatt"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"De nåværende lydene for jobbprofilen din blir byttet ut med lydene for den personlige profilen din"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Innstillinger for varsler"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avansert"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Jobbvarsler"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"La varsellampen pulsere"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apper som ikke er installert"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installerte apper"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Lagringsplassen din blir nå administrert av lagringsadministratoren"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 0fa96ce..2960858 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -3278,4 +3278,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"अनुप्रयोगहरूको स्थापना गरिएको छैन"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"स्थापना गरिएका अनुप्रयोगहरू"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"तपाईंको भण्डारण अहिले भण्डारण प्रबन्धकद्वारा व्यवस्थापन भइरहेको छ"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 93db5c2..5959a9c 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps niet geïnstalleerd"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Geïnstalleerde apps"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Je opslag wordt nu beheerd door de opslagbeheerder"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 1cc7bc2..764f2a3 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"ਕੀ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਧੁਨੀਆਂ ਬਦਲਣੀਆਂ ਹਨ?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"ਬਦਲੋ"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"ਤੁਹਾਡੀਆਂ ਵਰਤਮਾਨ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਧੁਨੀਆਂ ਤੁਹਾਡੀਆਂ ਨਿੱਜੀ ਪ੍ਰੋਫਾਈਲ ਧੁਨੀਆਂ ਦੇ ਨਾਲ ਬਦਲੀਆਂ ਜਾਣਗੀਆਂ"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"ਸੂਚਨਾ ਤਰਜੀਹਾਂ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"ਉੱਨਤ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"ਕੰਮ ਸਬੰਧੀ ਸੂਚਨਾਵਾਂ"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"ਪਲਸ ਸੂਚਨਾ ਲਾਈਟ"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"ਐਪਾਂ ਸਥਾਪਤ ਨਹੀਂ ਹਨ"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ਸਥਾਪਤ ਕੀਤੀਆਂ ਐਪਾਂ"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"ਤੁਹਾਡੀ ਸਟੋਰੇਜ ਦਾ ਪ੍ਰਬੰਧਨ ਹੁਣ ਸਟੋਰੇਜ ਪ੍ਰਬੰਧਕ ਦੁਆਰਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 8df1f3d..98c3ee2 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1719,7 +1719,7 @@
<string name="accessibility_settings" msgid="3975902491934816215">"Ułatwienia dostępu"</string>
<string name="accessibility_settings_title" msgid="2130492524656204459">"Ustawienia ułatwień dostępu"</string>
<string name="vision_settings_title" msgid="4204111425716868288">"Ustawienia widoczności"</string>
- <string name="vision_settings_description" msgid="5679491180156408260">"Możesz dostosować urządzenie do swoich potrzeb. Funkcje ułatwień dostępu możesz zawsze zmienić w Ustawieniach."</string>
+ <string name="vision_settings_description" msgid="5679491180156408260">"Możesz dostosować urządzenie do swoich potrzeb. Ułatwienia dostępu możesz zawsze zmienić w Ustawieniach."</string>
<string name="accessibility_services_title" msgid="2592221829284342237">"Usługi"</string>
<string name="talkback_title" msgid="7912059827205988080">"TalkBack"</string>
<string name="talkback_summary" msgid="8331244650729024963">"Czytnik ekranu przeznaczony głównie dla osób niewidomych i słabowidzących"</string>
@@ -1732,7 +1732,7 @@
<string name="accessibility_global_gesture_preference_title" msgid="6752037184140789970">"Skrót ułatwień dostępu"</string>
<string name="accessibility_global_gesture_preference_summary_on" msgid="6180927399052022181">"Wł."</string>
<string name="accessibility_global_gesture_preference_summary_off" msgid="8102103337813609849">"Wył."</string>
- <string name="accessibility_global_gesture_preference_description" msgid="1605107799571936715">"Gdy ta funkcja jest włączona, możesz w dwóch prostych krokach włączyć funkcje ułatwień dostępu:\n\nKrok 1. Naciśnij i przytrzymaj przycisk zasilania, aż usłyszysz dźwięk lub poczujesz wibrację.\n\nKrok 2. Dotknij ekranu dwoma palcami i przytrzymaj je, aż usłyszysz potwierdzenie dźwiękowe.\n\nJeśli z urządzenia korzysta wiele osób, użycie tego skrótu na ekranie blokady powoduje tymczasowe włączenie ułatwień dostępu. Zostaną one aktywne do chwili odblokowania urządzenia."</string>
+ <string name="accessibility_global_gesture_preference_description" msgid="1605107799571936715">"Gdy ta funkcja jest włączona, możesz w dwóch prostych krokach włączyć ułatwienia dostępu:\n\nKrok 1. Naciśnij i przytrzymaj przycisk zasilania, aż usłyszysz dźwięk lub poczujesz wibrację.\n\nKrok 2. Dotknij ekranu dwoma palcami i przytrzymaj je, aż usłyszysz potwierdzenie dźwiękowe.\n\nJeśli z urządzenia korzysta wiele osób, użycie tego skrótu na ekranie blokady powoduje tymczasowe włączenie ułatwień dostępu. Zostaną one aktywne do chwili odblokowania urządzenia."</string>
<string name="accessibility_toggle_high_text_contrast_preference_title" msgid="2567402942683463779">"Tekst o dużym kontraście"</string>
<string name="accessibility_toggle_screen_magnification_auto_update_preference_title" msgid="7218498768415430963">"Automatyczna aktualizacja powiększenia ekranu"</string>
<string name="accessibility_toggle_screen_magnification_auto_update_preference_summary" msgid="4392059334816220155">"Aktualizuj powiększenie ekranu przy zmianie aplikacji"</string>
@@ -2459,7 +2459,7 @@
<string name="global_change_warning" product="tablet" msgid="8045013389464294039">"To ustawienie obowiązuje wszystkich użytkowników tego tabletu."</string>
<string name="global_change_warning" product="default" msgid="2461264421590324675">"To ustawienie obowiązuje wszystkich użytkowników tego telefonu."</string>
<string name="global_locale_change_title" msgid="5956281361384221451">"Zmień język"</string>
- <string name="nfc_payment_settings_title" msgid="1807298287380821613">"Dotknij i zapłać"</string>
+ <string name="nfc_payment_settings_title" msgid="1807298287380821613">"Zbliż i zapłać"</string>
<string name="nfc_payment_how_it_works" msgid="3028822263837896720">"Jak to działa"</string>
<string name="nfc_payment_no_apps" msgid="5477904979148086424">"Płać telefonem w sklepie"</string>
<string name="nfc_payment_default" msgid="8648420259219150395">"Płatność domyślna"</string>
@@ -2468,14 +2468,14 @@
<string name="nfc_payment_use_default" msgid="3234730182120288495">"Użyj domyślnej"</string>
<string name="nfc_payment_favor_default" msgid="5743781166099608372">"Zawsze"</string>
<string name="nfc_payment_favor_open" msgid="1923314062109977944">"Z wyjątkiem, gdy jest otwarta inna aplikacja płatnicza"</string>
- <string name="nfc_payment_pay_with" msgid="7524904024378144072">"Na terminalu „dotknij i zapłać” zapłać przy użyciu:"</string>
+ <string name="nfc_payment_pay_with" msgid="7524904024378144072">"Na terminalu „Zbliż i zapłać” zapłać przy użyciu:"</string>
<string name="nfc_how_it_works_title" msgid="1984068457698797207">"Płacenie przy terminalu"</string>
<string name="nfc_how_it_works_content" msgid="4749007806393224934">"Skonfiguruj aplikację płatniczą, a później przyłóż tylną część telefonu do terminala z symbolem płatności zbliżeniowej."</string>
<string name="nfc_how_it_works_got_it" msgid="259653300203217402">"OK"</string>
<string name="nfc_more_title" msgid="815910943655133280">"Więcej..."</string>
<string name="nfc_payment_set_default_label" msgid="7315817259485674542">"Ustawić jako Twoją preferencję?"</string>
- <string name="nfc_payment_set_default" msgid="8532426406310833489">"Zawsze używać aplikacji <xliff:g id="APP">%1$s</xliff:g>, gdy korzystasz z systemu „dotknij i zapłać”?"</string>
- <string name="nfc_payment_set_default_instead_of" msgid="6993301165940432743">"Zawsze używać aplikacji <xliff:g id="APP_0">%1$s</xliff:g> zamiast <xliff:g id="APP_1">%2$s</xliff:g>, gdy korzystasz z systemu „dotknij i zapłać”?"</string>
+ <string name="nfc_payment_set_default" msgid="8532426406310833489">"Zawsze używać aplikacji <xliff:g id="APP">%1$s</xliff:g>, gdy korzystasz z systemu „Zbliż i zapłać”?"</string>
+ <string name="nfc_payment_set_default_instead_of" msgid="6993301165940432743">"Zawsze używać aplikacji <xliff:g id="APP_0">%1$s</xliff:g> zamiast <xliff:g id="APP_1">%2$s</xliff:g>, gdy korzystasz z systemu „Zbliż i zapłać”?"</string>
<string name="restriction_settings_title" msgid="4233515503765879736">"Ograniczenia"</string>
<string name="restriction_menu_reset" msgid="2067644523489568173">"Usuń ograniczenia"</string>
<string name="restriction_menu_change_pin" msgid="740081584044302775">"Zmień PIN"</string>
@@ -2678,8 +2678,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Zastąpić dźwięki w profilu do pracy?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Zastąp"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Dźwięki w Twoim profilu do pracy zostaną zastąpione dźwiękami z Twojego profilu osobistego."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Ustawienia powiadomień"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Zaawansowane"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Powiadomienia związane z pracą"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsująca dioda"</string>
@@ -3347,4 +3346,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplikacje niezainstalowane"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Zainstalowane aplikacje"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Pamięcią zarządza teraz menedżer miejsca"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 072e344..c61065f 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps não instalados"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Apps instalados"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Seu armazenamento está sendo controlado pelo gerenciador de armazenamento"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 2000835..df88d18 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplicações não instaladas"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Aplicações instaladas"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"O seu armazenamento está agora a ser gerido pelo gestor de armazenamento"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 072e344..c61065f 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Apps não instalados"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Apps instalados"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Seu armazenamento está sendo controlado pelo gerenciador de armazenamento"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index e985ebe..bf063b1 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -3311,4 +3311,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplicații neinstalate"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Aplicații instalate"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Spațiul de stocare este acum gestionat de managerul spațiului de stocare"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 957b13d..a157b6d 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -2574,10 +2574,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Сеть и Интернет"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Подключенные устройства"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Приложения и уведомления"</string>
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <string name="account_dashboard_title" msgid="38701889336378742">"Пользователь и аккаунты"</string>
+ <string name="app_default_dashboard_title" msgid="8176215295082796426">"Приложения по умолчанию"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Язык: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Настройки"</string>
<string name="search_menu" msgid="6283419262313758339">"Поиск настроек"</string>
@@ -2680,8 +2678,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Изменить настройки?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Да"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Сигналы в рабочем профиле будут заменены звуками, выбранными в личном."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Настройки оповещений"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Расширенные настройки"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Рабочие уведомления"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Световой индикатор"</string>
@@ -3349,4 +3346,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Приложения не установлены"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Установленные приложения"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Память устройства теперь управляется менеджером хранилища"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 6817259..88dfedc 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -2636,8 +2636,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"කා. පැතිකඩ හඩ ප්රතිස්ථා. කර.?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"ප්රතිස්ථාපනය කරන්න"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"ඔබේ වත්මන් කාර්යාල පැතිකඩ හඬවල් ඔබේ පුද්ගලික පැතිකඩ හඬවල්වලින් ප්රතිස්ථාපනය වනු ඇත"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"දැනුම්දීම් මනාප"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"උසස්"</string>
<string name="profile_section_header" msgid="2320848161066912001">"වැඩ දැනුම්දීම්"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"ස්පන්ද දැනුම්දීම් එළිය"</string>
@@ -3279,4 +3278,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"යෙදුම් ස්ථාපනය කර නැත"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ස්ථාපිත යෙදුම්"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"ඔබේ ගබඩාව දැන් ගබඩා කළමනාකරු විසින් පාලනය කරනු ලැබේ"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index eb09dae..d3030d9 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -3346,4 +3346,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Nenainštalované aplikácie"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Nainštalované aplikácie"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Vaše úložisko odteraz riadi správca úložiska"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 74a7027..d81a888 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -2678,8 +2678,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Zamenj. zvokov v del. profilu?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Zamenjaj"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Trenutne zvoke v delovnem profilu bodo nadomestili zvoki iz osebnega profila"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Nastavitve obvestil"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Dodatno"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obvestila za delovni profil"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Lučka za obvestila z utripanjem"</string>
@@ -3347,4 +3346,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Nenameščene aplikacije"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Nameščene aplikacije"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Shrambo zdaj upravlja upravitelj shrambe"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index b6538c1..e13de0a 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Të zëvendësohen tingujt e profilit të punës?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Zëvendëso"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Tingujt aktualë të profilit tënd të punës do të zëvendësohen me tingujt e profilit tënd personal"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferencat e njoftimeve"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Të përparuara"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Njoftimet e punës"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulso dritën e njoftimeve"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Aplikacionet nuk janë të instaluara"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Aplikacionet e instaluara"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Hapësira jote ruajtëse tani po menaxhohet nga menaxheri i hapësirës ruajtëse"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index bd31527..5659b8e 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -3311,4 +3311,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Апликације које нису инсталиране"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Инсталиране апликације"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Меморијским простором сада управља Менаџер меморијског простора"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 944ecc7..3bded77 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Ersätta jobbprofilljuden?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Ersätt"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"De nuvarande ljuden i jobbprofilen ersätts med dem i den personliga profilen."</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Aviseringsinställningar"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avancerat"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Jobbaviseringar"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Blinkande ljusavisering"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Appar som är inte installerade"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Installerade appar"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Ditt lagringsutrymme hanteras nu av lagringshanteraren"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index ed78c8d..6507f91 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -2640,8 +2640,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Ungependa kubadilisha sauti za wasifu wako wa kazini?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Badilisha"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Sauti za wasifu wako wa sasa wa kazini zitabadilishwa na nafasi zao kuchuliwa na sauti za wasifu wako binafsi"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Mapendeleo ya arifa"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Mipangilio ya kina"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Arifa za kazini"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Arifu ya mwangaza wa palsi"</string>
@@ -3283,4 +3282,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Programu hazijasakinishwa"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Programu zilizosakinishwa"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Hifadhi yako sasa inasimamiwa na kidhibiti cha hifadhi"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index bc20756..b5fd51c 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"பணி விவர ஒலிகளை மாற்றவா?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"மாற்று"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"உங்கள் பணி விவர ஒலிகளானது தனிப்பட்ட சுயவிவர ஒலிகளாக மாற்றப்படும்"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"அறிவிப்பு விருப்பத்தேர்வுகள்"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"மேம்பட்டவை"</string>
<string name="profile_section_header" msgid="2320848161066912001">"பணி அறிவிப்புகள்"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"தொடர் அறிவிப்பு விளக்கு"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"பயன்பாடுகள் நிறுவப்படவில்லை"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"நிறுவிய பயன்பாடுகள்"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"உங்கள் சேமிப்பகம் இப்போது சேமிப்பக நிர்வாகியால் நிர்வகிக்கப்படுகிறது"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 67449fe..168acc4 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"కార్యాలయ ప్రొఫైల్ శబ్దాలు భర్తీ చేయాలా?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"భర్తీ చేయి"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"మీ ప్రస్తుత కార్యాలయ ప్రొఫైల్ శబ్దాలు మీ వ్యక్తిగత ప్రొఫైల్ శబ్దాలతో భర్తీ చేయబడతాయి"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"నోటిఫికేషన్ ప్రాధాన్యతలు"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"అధునాతనం"</string>
<string name="profile_section_header" msgid="2320848161066912001">"కార్యాలయ నోటిఫికేషన్లు"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"నోటిఫికేషన్ లైట్ను మిణుకుమిణుకుమనేలా చేయి"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"ఇన్స్టాల్ చేయని అనువర్తనాలు"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"ఇన్స్టాల్ చేయబడిన అనువర్తనాలు"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"మీ నిల్వ ఇప్పుడు నిల్వ నిర్వాహికి ద్వారా నిర్వహించబడుతోంది"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 04c903d..92b1ef0 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"เปลี่ยนเสียงในโปรไฟล์งานไหม"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"แทนที่"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"ระบบจะใช้เสียงในโปรไฟล์ส่วนตัวของคุณแทนเสียงในโปรไฟล์งานปัจจุบัน"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"ค่ากำหนดการแจ้งเตือน"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"ขั้นสูง"</string>
<string name="profile_section_header" msgid="2320848161066912001">"การแจ้งเตือนงาน"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"ไฟกระพริบแจ้งเตือน"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"ไม่ได้ติดตั้งแอป"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"แอปที่ติดตั้ง"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"ตัวจัดการพื้นที่เก็บข้อมูลกำลังจัดการพื้นที่เก็บข้อมูลของคุณ"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 0363928..de87e82 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Palitan tunog sa profile sa trabaho?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Palitan"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Papalitan ang kasalukuyang mga tunog sa profile sa trabaho ng mga tunog sa iyong personal na profile"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Mga kagustuhan sa notification"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Mga notification sa trabaho"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulse na ilaw ng notification"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Hindi naka-install ang mga app"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Mga naka-install na app"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Pinamamahalaan na ngayon ng storage manager ang iyong storage"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 6e36df6..4d8fd3d 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"İş profili seslerini değiştir?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Değiştir"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Mevcut iş profili sesleriniz kişisel profil seslerinizle değiştirilecek"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Bildirim tercihleri"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Gelişmiş"</string>
<string name="profile_section_header" msgid="2320848161066912001">"İş bildirimleri"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Bildirim ışığını yakıp söndür"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Yüklü olmayan uygulamalar"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Yüklü uygulamalar"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Depolama alanınız artık depolama yöneticisi tarafından yönetiliyor"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index d531bc5..fe8f408 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -3346,4 +3346,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Додатки не встановлено"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Установлені додатки"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Зараз пам’яттю керує диспетчер пам’яті"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 23c01e6..c6de156 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -2622,8 +2622,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"دفتری پروفائل کی آوازیں بدلیں؟"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"بدلیں"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"آپ کی موجودہ دفتری پروفائل کی آوازیں آپ کی ذاتی پروفائل کی آوازوں سے تبدیل ہو جائیں گی۔"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"اطلاع کی ترجیحات"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"جدید ترین"</string>
<string name="profile_section_header" msgid="2320848161066912001">"دفتری اطلاعات"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"پلس اطلاعی روشنی"</string>
@@ -3265,4 +3264,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"ایپس انسٹال نہیں ہیں"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"انسٹال کردہ ایپس"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"آپ کی اسٹوریج کا نظم اب اسٹوریج مینیجر کی جانب سے کیا جا رہا ہے"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index a1ae883..0f9becc 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -3276,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Ilovalar o‘rnatilmagan"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"O‘rnatilgan ilovalar"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Xotirangiz hozirda xotira boshqaruvi tomonidan boshqarilmoqda"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 4536626..b3f6236 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Thay thế âm thanh hồ sơ công việc?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Thay thế"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Âm thanh hồ sơ công việc hiện tại của bạn sẽ được thay thế bằng âm thanh hồ sơ cá nhân của bạn"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Tùy chọn thông báo"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Nâng cao"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Thông báo công việc"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Đèn thông báo dạng xung"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Ứng dụng chưa cài đặt"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Ứng dụng đã cài đặt"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Bộ nhớ của bạn hiện đang được quản lý bởi trình quản lý bộ nhớ"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 174a314..996796f 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -2634,8 +2634,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"要替换工作资料提示音吗?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"替换"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"系统将使用您的个人资料提示音替换您当前的工作资料提示音"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"通知偏好设置"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"高级"</string>
<string name="profile_section_header" msgid="2320848161066912001">"工作通知"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"收到通知时指示灯闪烁"</string>
@@ -3277,4 +3276,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"未安装的应用"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"已安装的应用"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"您的存储空间目前是由存储空间管理器管理"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index ef69d2f..13832f2 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -2639,8 +2639,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"要取代工作設定檔聲音嗎?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"取代"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"目前的工作設定檔聲音會以個人設定檔聲音取代"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"通知偏好設定"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"進階"</string>
<string name="profile_section_header" msgid="2320848161066912001">"工作通知"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"啟用通知燈"</string>
@@ -3282,4 +3281,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"尚未安裝的應用程式"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"已安裝的應用程式"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"您的儲存空間即將由儲存空間管理員管理"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 98565de..3b7bdf1 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -2638,8 +2638,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"要取代 Work 設定檔音效嗎?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"取代"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"你的個人設定檔音效將取代目前的 Work 設定檔音效"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"通知偏好設定"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"進階"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work 通知"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"閃爍燈光通知"</string>
@@ -3281,4 +3280,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"未安裝的應用程式"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"已安裝的應用程式"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"你的儲存空間目前是由儲存空間管理員管理"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b82f64a..e2a66d0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -2635,8 +2635,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Faka esikhundleni imisindo yephrofayela yomsebenzi?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Buyisela"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Imisindo yakho yamanje yephrofayela yomsebenzi izoshintshaniswa nemisindo yakho siqu yephrofayela"</string>
- <!-- no translation found for configure_notification_settings (7447797716856573587) -->
- <skip />
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Okuncamelayo kwesaziso"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Okuthuthukisiwe"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Izaziso zomsebenzi"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Ukukhanya kwesaziso sephalsi"</string>
@@ -3278,4 +3277,8 @@
<string name="web_action_section_title" msgid="806405168097593614">"Izinhlelo zokusebenza azifakiwe"</string>
<string name="domain_url_section_title" msgid="7046835219056428883">"Izinhlelo zokusebenza ezifakiwe"</string>
<string name="automatic_storage_manager_activation_warning" msgid="6353100011690933254">"Isitoreji sakho manje siphethwe umphathi wesitoreji"</string>
+ <!-- no translation found for account_for_section_header (5867553104728848377) -->
+ <skip />
+ <!-- no translation found for configure_section_header (7391183586410814450) -->
+ <skip />
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 967b74eb..010706f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5933,9 +5933,9 @@
<string name="app_and_notification_dashboard_title">Apps & notifications</string>
<!-- Title for setting tile leading to User and accounts settings [CHAR LIMIT=40]-->
<string name="account_dashboard_title">User & accounts</string>
- <!-- Title for setting tile leading to App defaults (which allows user set default app to
+ <!-- Title for setting tile leading to setting UI which allows user set default app to
handle actions such as open web page, making phone calls, default SMS apps [CHAR LIMIT=40]-->
- <string name="app_default_dashboard_title">App defaults</string>
+ <string name="app_default_dashboard_title">Default apps</string>
<!-- Summary text for system preference tile, showing current display language of device [CHAR LIMIT=NONE]-->
<string name="system_dashboard_summary">Language: <xliff:g id="language">%1$s</xliff:g></string>
@@ -7939,4 +7939,11 @@
<!-- Configure section header [CHAR LIMIT=30] -->
<string name="configure_section_header">Configure</string>
+ <!-- Switch label to enable auto sync account [CHAR LIMIT=30] -->
+ <string name="auto_sync_account_title">Auto sync account data</string>
+ <!-- Switch label to enable auto sync personal account [CHAR LIMIT=30] -->
+ <string name="auto_sync_personal_account_title">Auto sync personal account data</string>
+ <!-- Switch label to enable auto sync work account [CHAR LIMIT=30] -->
+ <string name="auto_sync_work_account_title">Auto sync work account data</string>
+
</resources>
diff --git a/res/xml/user_and_accounts_settings.xml b/res/xml/user_and_accounts_settings.xml
index fb09bb6..64b9292 100644
--- a/res/xml/user_and_accounts_settings.xml
+++ b/res/xml/user_and_accounts_settings.xml
@@ -32,12 +32,24 @@
android:key="account_configuration_header"
android:title="@string/configure_section_header">
- <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"
- settings:useAdditionalSummary="true" />
-
</PreferenceCategory>
+ <SwitchPreference
+ android:key="auto_sync_account_data"
+ android:title="@string/auto_sync_account_title" />
+
+ <SwitchPreference
+ android:key="auto_sync_work_account_data"
+ android:title="@string/account_settings_menu_auto_sync_work" />
+
+ <SwitchPreference
+ android:key="auto_sync_personal_account_data"
+ android:title="@string/account_settings_menu_auto_sync_personal" />
+
+ <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"
+ settings:useAdditionalSummary="true" />
+
</PreferenceScreen>
diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java
deleted file mode 100644
index 64b9204..0000000
--- a/src/com/android/settings/DateTimeSettingsSetupWizard.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.app.Activity;
-import android.app.AlarmManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.provider.Settings.SettingNotFoundException;
-import android.support.v14.preference.PreferenceFragment;
-import android.support.v7.preference.Preference;
-import android.util.Log;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.Window;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.Button;
-import android.widget.CompoundButton;
-import android.widget.CompoundButton.OnCheckedChangeListener;
-import android.widget.DatePicker;
-import android.widget.ListPopupWindow;
-import android.widget.SimpleAdapter;
-import android.widget.TimePicker;
-
-import java.util.Calendar;
-import java.util.TimeZone;
-
-public class DateTimeSettingsSetupWizard extends Activity
- implements OnClickListener, OnItemClickListener, OnCheckedChangeListener,
- PreferenceFragment.OnPreferenceStartFragmentCallback {
- private static final String TAG = DateTimeSettingsSetupWizard.class.getSimpleName();
-
- // force the first status of auto datetime flag.
- private static final String EXTRA_INITIAL_AUTO_DATETIME_VALUE =
- "extra_initial_auto_datetime_value";
-
- // If we have enough screen real estate, we use a radically different layout with
- // big date and time pickers right on the screen, which requires very different handling.
- // Otherwise, we use the standard date time settings fragment.
- private boolean mUsingXLargeLayout;
-
- /* Available only in XL */
- private CompoundButton mAutoDateTimeButton;
- // private CompoundButton mAutoTimeZoneButton;
-
- private Button mTimeZoneButton;
- private ListPopupWindow mTimeZonePopup;
- private SimpleAdapter mTimeZoneAdapter;
- private TimeZone mSelectedTimeZone;
-
- private TimePicker mTimePicker;
- private DatePicker mDatePicker;
- private InputMethodManager mInputMethodManager;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- super.onCreate(savedInstanceState);
- setContentView(R.layout.date_time_settings_setupwizard);
-
- // we know we've loaded the special xlarge layout because it has controls
- // not present in the standard layout
- mUsingXLargeLayout = findViewById(R.id.time_zone_button) != null;
- if (mUsingXLargeLayout) {
- initUiForXl();
- } else {
- findViewById(R.id.next_button).setOnClickListener(this);
- }
- mTimeZoneAdapter = ZonePicker.constructTimezoneAdapter(this, false,
- R.layout.date_time_setup_custom_list_item_2);
-
- // For the normal view, disable Back since changes stick immediately
- // and can't be canceled, and we already have a Next button. For xLarge,
- // though, we save up our changes and set them upon Next, so Back can
- // cancel. And also, in xlarge, we need the keyboard dismiss button
- // to be available.
- if (!mUsingXLargeLayout) {
- final View layoutRoot = findViewById(R.id.layout_root);
- layoutRoot.setSystemUiVisibility(View.STATUS_BAR_DISABLE_BACK);
- }
- }
-
- public void initUiForXl() {
- // Currently just comment out codes related to auto timezone.
- // TODO: Remove them when we are sure they are unnecessary.
- /*
- final boolean autoTimeZoneEnabled = isAutoTimeZoneEnabled();
- mAutoTimeZoneButton = (CompoundButton)findViewById(R.id.time_zone_auto);
- mAutoTimeZoneButton.setChecked(autoTimeZoneEnabled);
- mAutoTimeZoneButton.setOnCheckedChangeListener(this);
- mAutoTimeZoneButton.setText(autoTimeZoneEnabled ? R.string.zone_auto_summaryOn :
- R.string.zone_auto_summaryOff);*/
-
- final TimeZone tz = TimeZone.getDefault();
- mSelectedTimeZone = tz;
- mTimeZoneButton = (Button)findViewById(R.id.time_zone_button);
- mTimeZoneButton.setText(tz.getDisplayName());
- mTimeZoneButton.setOnClickListener(this);
-
- final boolean autoDateTimeEnabled;
- final Intent intent = getIntent();
- if (intent.hasExtra(EXTRA_INITIAL_AUTO_DATETIME_VALUE)) {
- autoDateTimeEnabled = intent.getBooleanExtra(EXTRA_INITIAL_AUTO_DATETIME_VALUE, false);
- } else {
- autoDateTimeEnabled = isAutoDateTimeEnabled();
- }
-
- mAutoDateTimeButton = (CompoundButton)findViewById(R.id.date_time_auto_button);
- mAutoDateTimeButton.setChecked(autoDateTimeEnabled);
- mAutoDateTimeButton.setOnCheckedChangeListener(this);
-
- mTimePicker = (TimePicker)findViewById(R.id.time_picker);
- mTimePicker.setEnabled(!autoDateTimeEnabled);
- mDatePicker = (DatePicker)findViewById(R.id.date_picker);
- mDatePicker.setEnabled(!autoDateTimeEnabled);
- mDatePicker.setCalendarViewShown(false);
- DateTimeSettings.configureDatePicker(mDatePicker);
-
- mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
-
- ((Button)findViewById(R.id.next_button)).setOnClickListener(this);
- final Button skipButton = (Button)findViewById(R.id.skip_button);
- if (skipButton != null) {
- skipButton.setOnClickListener(this);
- }
- }
-
- @Override
- public void onResume() {
- super.onResume();
- IntentFilter filter = new IntentFilter();
- filter.addAction(Intent.ACTION_TIME_TICK);
- filter.addAction(Intent.ACTION_TIME_CHANGED);
- filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
- registerReceiver(mIntentReceiver, filter, null, null);
- }
-
- @Override
- public void onPause() {
- super.onPause();
- unregisterReceiver(mIntentReceiver);
- }
-
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.time_zone_button: {
- showTimezonePicker(R.id.time_zone_button);
- break;
- }
- case R.id.next_button: {
- if (mSelectedTimeZone != null) {
- final TimeZone systemTimeZone = TimeZone.getDefault();
- if (!systemTimeZone.equals(mSelectedTimeZone)) {
- Log.i(TAG, "Another TimeZone is selected by a user. Changing system TimeZone.");
- final AlarmManager alarm = (AlarmManager)
- getSystemService(Context.ALARM_SERVICE);
- alarm.setTimeZone(mSelectedTimeZone.getID());
- }
- }
- if (mAutoDateTimeButton != null) {
- Settings.Global.putInt(getContentResolver(), Settings.Global.AUTO_TIME,
- mAutoDateTimeButton.isChecked() ? 1 : 0);
- if (!mAutoDateTimeButton.isChecked()) {
- DateTimeSettings.setDate(this, mDatePicker.getYear(), mDatePicker.getMonth(),
- mDatePicker.getDayOfMonth());
- DateTimeSettings.setTime(this,
- mTimePicker.getCurrentHour(), mTimePicker.getCurrentMinute());
- }
- }
- } // $FALL-THROUGH$
- case R.id.skip_button: {
- setResult(RESULT_OK);
- finish();
- break;
- }
- }
- }
-
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- final boolean autoEnabled = isChecked; // just for readibility.
- /*if (buttonView == mAutoTimeZoneButton) {
- // In XL screen, we save all the state only when the next button is pressed.
- if (!mUsingXLargeLayout) {
- Settings.Global.putInt(getContentResolver(),
- Settings.Global.AUTO_TIME_ZONE,
- isChecked ? 1 : 0);
- }
- mTimeZone.setEnabled(!autoEnabled);
- if (isChecked) {
- findViewById(R.id.current_time_zone).setVisibility(View.VISIBLE);
- findViewById(R.id.zone_picker).setVisibility(View.GONE);
- }
- } else */
- if (buttonView == mAutoDateTimeButton) {
- Settings.Global.putInt(getContentResolver(),
- Settings.Global.AUTO_TIME,
- isChecked ? 1 : 0);
- mTimePicker.setEnabled(!autoEnabled);
- mDatePicker.setEnabled(!autoEnabled);
- }
- if (autoEnabled) {
- final View focusedView = getCurrentFocus();
- if (focusedView != null) {
- mInputMethodManager.hideSoftInputFromWindow(focusedView.getWindowToken(), 0);
- focusedView.clearFocus();
- }
- }
- }
-
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- final TimeZone tz = ZonePicker.obtainTimeZoneFromItem(parent.getItemAtPosition(position));
- if (mUsingXLargeLayout) {
- mSelectedTimeZone = tz;
- final Calendar now = Calendar.getInstance(tz);
- if (mTimeZoneButton != null) {
- mTimeZoneButton.setText(tz.getDisplayName());
- }
- mDatePicker.updateDate(now.get(Calendar.YEAR), now.get(Calendar.MONTH),
- now.get(Calendar.DAY_OF_MONTH));
- mTimePicker.setCurrentHour(now.get(Calendar.HOUR_OF_DAY));
- mTimePicker.setCurrentMinute(now.get(Calendar.MINUTE));
- } else {
- // in prefs mode, we actually change the setting right now, as opposed to waiting
- // until Next is pressed in xLarge mode
- final AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
- alarm.setTimeZone(tz.getID());
- DateTimeSettings settingsFragment = (DateTimeSettings) getFragmentManager().
- findFragmentById(R.id.date_time_settings_fragment);
- settingsFragment.updateTimeAndDateDisplay(this);
- }
- mTimeZonePopup.dismiss();
- }
-
- /**
- * If this is called, that means we're in prefs style portrait mode for a large display
- * and the user has tapped on the time zone preference. If we were a PreferenceActivity,
- * we'd then launch the timezone fragment in a new activity, but we aren't, and here
- * on a tablet display, we really want more of a popup picker look' like the one we use
- * for the xlarge version of this activity. So we just take this opportunity to launch that.
- *
- * TODO: For phones, we might want to change this to do the "normal" opening
- * of the zonepicker fragment in its own activity. Or we might end up just
- * creating a separate DateTimeSettingsSetupWizardPhone activity that subclasses
- * PreferenceActivity in the first place to handle all that automatically.
- */
- @Override
- public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
- showTimezonePicker(R.id.timezone_dropdown_anchor);
- return true;
- }
-
- private void showTimezonePicker(int anchorViewId) {
- View anchorView = findViewById(anchorViewId);
- if (anchorView == null) {
- Log.e(TAG, "Unable to find zone picker anchor view " + anchorViewId);
- return;
- }
- mTimeZonePopup = new ListPopupWindow(this, null);
- mTimeZonePopup.setWidth(anchorView.getWidth());
- mTimeZonePopup.setAnchorView(anchorView);
- mTimeZonePopup.setAdapter(mTimeZoneAdapter);
- mTimeZonePopup.setOnItemClickListener(this);
- mTimeZonePopup.setModal(true);
- mTimeZonePopup.show();
- }
-
- private boolean isAutoDateTimeEnabled() {
- try {
- return Settings.Global.getInt(getContentResolver(), Settings.Global.AUTO_TIME) > 0;
- } catch (SettingNotFoundException e) {
- return true;
- }
- }
-
- /*
- private boolean isAutoTimeZoneEnabled() {
- try {
- return Settings.Global.getInt(getContentResolver(),
- Settings.Global.AUTO_TIME_ZONE) > 0;
- } catch (SettingNotFoundException e) {
- return true;
- }
- }*/
-
- private void updateTimeAndDateDisplay() {
- if (!mUsingXLargeLayout) {
- return;
- }
- final Calendar now = Calendar.getInstance();
- mTimeZoneButton.setText(now.getTimeZone().getDisplayName());
- mDatePicker.updateDate(now.get(Calendar.YEAR), now.get(Calendar.MONTH),
- now.get(Calendar.DAY_OF_MONTH));
- mTimePicker.setCurrentHour(now.get(Calendar.HOUR_OF_DAY));
- mTimePicker.setCurrentMinute(now.get(Calendar.MINUTE));
- }
-
- private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- updateTimeAndDateDisplay();
- }
- };
-}
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index eff2004..3813c42 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -1189,6 +1189,10 @@
boolean useDefaultBackup = TextUtils.isEmpty(backupIntent);
setTileEnabled(new ComponentName(packageName,
Settings.PrivacySettingsActivity.class.getName()), useDefaultBackup, isAdmin, pm);
+ setTileEnabled(new ComponentName(packageName,
+ "com.android.settings.PrivacyDashboardAlias"),
+ useDefaultBackup, isAdmin, pm);
+
boolean hasBackupActivity = false;
if (!useDefaultBackup) {
try {
diff --git a/src/com/android/settings/ZonePicker.java b/src/com/android/settings/ZonePicker.java
index 6865090..b1778c6 100644
--- a/src/com/android/settings/ZonePicker.java
+++ b/src/com/android/settings/ZonePicker.java
@@ -76,7 +76,7 @@
public static SimpleAdapter constructTimezoneAdapter(Context context,
boolean sortedByName) {
return constructTimezoneAdapter(context, sortedByName,
- R.layout.date_time_setup_custom_list_item_2);
+ R.layout.date_time_custom_list_item_2);
}
/**
diff --git a/src/com/android/settings/accounts/AccountPreferenceBase.java b/src/com/android/settings/accounts/AccountPreferenceBase.java
index 65d5887..c6581ac 100644
--- a/src/com/android/settings/accounts/AccountPreferenceBase.java
+++ b/src/com/android/settings/accounts/AccountPreferenceBase.java
@@ -33,10 +33,10 @@
import android.support.v7.preference.PreferenceScreen;
import android.text.format.DateFormat;
import android.util.Log;
-import android.view.ContextThemeWrapper;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
+import com.android.settings.utils.LocalClassLoaderContextThemeWrapper;
import com.android.settingslib.accounts.AuthenticatorHelper;
import java.util.ArrayList;
@@ -156,7 +156,8 @@
desc.packageName, 0, mUserHandle);
final Theme baseTheme = getResources().newTheme();
baseTheme.applyStyle(com.android.settings.R.style.Theme_SettingsBase, true);
- final Context themedCtx = new ContextThemeWrapper(targetCtx, 0);
+ final Context themedCtx =
+ new LocalClassLoaderContextThemeWrapper(getClass(), targetCtx, 0);
themedCtx.getTheme().setTo(baseTheme);
prefs = getPreferenceManager().inflateFromResource(themedCtx,
desc.accountPreferencesId, parent);
diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java
index e93c7fa..376aeef 100644
--- a/src/com/android/settings/accounts/AccountSettings.java
+++ b/src/com/android/settings/accounts/AccountSettings.java
@@ -20,9 +20,7 @@
import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.ActivityManager;
-import android.app.AlertDialog;
import android.app.Dialog;
-import android.app.DialogFragment;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
@@ -107,7 +105,7 @@
/**
* Holds data related to the accounts belonging to one profile.
*/
- private static class ProfileData {
+ public static class ProfileData {
/**
* The preference that displays the accounts.
*/
@@ -619,8 +617,8 @@
if (ActivityManager.isUserAMonkey()) {
Log.d(TAG, "ignoring monkey's attempt to flip sync state");
} else {
- ConfirmAutoSyncChangeFragment.show(AccountSettings.this, !item.isChecked(),
- mUserHandle);
+ AutoSyncDataPreferenceController.ConfirmAutoSyncChangeFragment.show(
+ AccountSettings.this, !item.isChecked(), mUserHandle, /*preference*/null);
}
return true;
}
@@ -657,67 +655,6 @@
}
}
- /**
- * Dialog to inform user about changing auto-sync setting
- */
- public static class ConfirmAutoSyncChangeFragment extends InstrumentedDialogFragment {
- private static final String SAVE_ENABLING = "enabling";
- private static final String SAVE_USER_HANDLE = "userHandle";
- private boolean mEnabling;
- private UserHandle mUserHandle;
-
- public static void show(AccountSettings parent, boolean enabling, UserHandle userHandle) {
- if (!parent.isAdded()) return;
-
- final ConfirmAutoSyncChangeFragment dialog = new ConfirmAutoSyncChangeFragment();
- dialog.mEnabling = enabling;
- dialog.mUserHandle = userHandle;
- dialog.setTargetFragment(parent, 0);
- dialog.show(parent.getFragmentManager(), TAG_CONFIRM_AUTO_SYNC_CHANGE);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Context context = getActivity();
- if (savedInstanceState != null) {
- mEnabling = savedInstanceState.getBoolean(SAVE_ENABLING);
- mUserHandle = (UserHandle) savedInstanceState.getParcelable(SAVE_USER_HANDLE);
- }
-
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
- if (!mEnabling) {
- builder.setTitle(R.string.data_usage_auto_sync_off_dialog_title);
- builder.setMessage(R.string.data_usage_auto_sync_off_dialog);
- } else {
- builder.setTitle(R.string.data_usage_auto_sync_on_dialog_title);
- builder.setMessage(R.string.data_usage_auto_sync_on_dialog);
- }
-
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- ContentResolver.setMasterSyncAutomaticallyAsUser(mEnabling,
- mUserHandle.getIdentifier());
- }
- });
- builder.setNegativeButton(android.R.string.cancel, null);
-
- return builder.create();
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putBoolean(SAVE_ENABLING, mEnabling);
- outState.putParcelable(SAVE_USER_HANDLE, mUserHandle);
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsEvent.DIALOG_CONFIRM_AUTO_SYNC_CHANGE;
- }
- }
-
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
diff --git a/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java b/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java
new file mode 100644
index 0000000..ba34b3b
--- /dev/null
+++ b/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java
@@ -0,0 +1,161 @@
+/*
+ * 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.accounts;
+
+import android.app.ActivityManager;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.Fragment;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.os.Process;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+
+import android.util.Log;
+import com.android.internal.logging.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+public class AutoSyncDataPreferenceController extends PreferenceController {
+
+ private static final String TAG = "AutoSyncDataController";
+ private static final String TAG_CONFIRM_AUTO_SYNC_CHANGE = "confirmAutoSyncChange";
+ private static final String KEY_AUTO_SYNC_ACCOUNT = "auto_sync_account_data";
+
+ protected UserManager mUserManager;
+ private UserHandle mUserHandle;
+ private Fragment mParentFragment;
+
+ public AutoSyncDataPreferenceController(Context context, Fragment parent) {
+ super(context);
+ mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
+ mParentFragment = parent;
+ mUserHandle = Process.myUserHandle();
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ SwitchPreference switchPreference = (SwitchPreference) preference;
+ switchPreference.setChecked(ContentResolver.getMasterSyncAutomaticallyAsUser(
+ mUserHandle.getIdentifier()));
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ if (getPreferenceKey().equals(preference.getKey())) {
+ SwitchPreference switchPreference = (SwitchPreference) preference;
+ boolean checked = switchPreference.isChecked();
+ switchPreference.setChecked(!checked);
+ if (ActivityManager.isUserAMonkey()) {
+ Log.d(TAG, "ignoring monkey's attempt to flip sync state");
+ } else {
+ ConfirmAutoSyncChangeFragment.show(mParentFragment, checked, mUserHandle,
+ switchPreference);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return !mUserManager.isManagedProfile()
+ && (mUserManager.isLinkedUser()
+ || mUserManager.getProfiles(UserHandle.myUserId()).size() == 1);
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_AUTO_SYNC_ACCOUNT;
+ }
+
+ /**
+ * Dialog to inform user about changing auto-sync setting
+ */
+ public static class ConfirmAutoSyncChangeFragment extends InstrumentedDialogFragment implements
+ DialogInterface.OnClickListener {
+ private static final String SAVE_ENABLING = "enabling";
+ private static final String SAVE_USER_HANDLE = "userHandle";
+ boolean mEnabling;
+ UserHandle mUserHandle;
+ SwitchPreference mPreference;
+
+ public static void show(Fragment parent, boolean enabling, UserHandle userHandle,
+ SwitchPreference preference) {
+ if (!parent.isAdded()) return;
+
+ final ConfirmAutoSyncChangeFragment dialog = new ConfirmAutoSyncChangeFragment();
+ dialog.mEnabling = enabling;
+ dialog.mUserHandle = userHandle;
+ dialog.setTargetFragment(parent, 0);
+ dialog.mPreference = preference;
+ dialog.show(parent.getFragmentManager(), TAG_CONFIRM_AUTO_SYNC_CHANGE);
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ final Context context = getActivity();
+ if (savedInstanceState != null) {
+ mEnabling = savedInstanceState.getBoolean(SAVE_ENABLING);
+ mUserHandle = (UserHandle) savedInstanceState.getParcelable(SAVE_USER_HANDLE);
+ }
+
+ final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ if (!mEnabling) {
+ builder.setTitle(R.string.data_usage_auto_sync_off_dialog_title);
+ builder.setMessage(R.string.data_usage_auto_sync_off_dialog);
+ } else {
+ builder.setTitle(R.string.data_usage_auto_sync_on_dialog_title);
+ builder.setMessage(R.string.data_usage_auto_sync_on_dialog);
+ }
+
+ builder.setPositiveButton(android.R.string.ok, this);
+ builder.setNegativeButton(android.R.string.cancel, null);
+
+ return builder.create();
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putBoolean(SAVE_ENABLING, mEnabling);
+ outState.putParcelable(SAVE_USER_HANDLE, mUserHandle);
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return MetricsProto.MetricsEvent.DIALOG_CONFIRM_AUTO_SYNC_CHANGE;
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (which == DialogInterface.BUTTON_POSITIVE) {
+ ContentResolver.setMasterSyncAutomaticallyAsUser(mEnabling,
+ mUserHandle.getIdentifier());
+ if (mPreference != null) {
+ mPreference.setChecked(mEnabling);
+ }
+ }
+ }
+ }
+
+}
diff --git a/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceController.java b/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceController.java
new file mode 100644
index 0000000..673b453
--- /dev/null
+++ b/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceController.java
@@ -0,0 +1,42 @@
+/*
+ * 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.accounts;
+
+import android.app.Fragment;
+import android.content.Context;
+import android.os.UserHandle;
+
+public class AutoSyncPersonalDataPreferenceController extends AutoSyncDataPreferenceController {
+
+ private static final String TAG = "AutoSyncPersonalData";
+ private static final String KEY_AUTO_SYNC_PERSONAL_ACCOUNT = "auto_sync_personal_account_data";
+
+ public AutoSyncPersonalDataPreferenceController(Context context, Fragment parent) {
+ super(context, parent);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return !mUserManager.isManagedProfile() && !mUserManager.isLinkedUser()
+ && mUserManager.getProfiles(UserHandle.myUserId()).size() > 1;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_AUTO_SYNC_PERSONAL_ACCOUNT;
+ }
+
+}
diff --git a/src/com/android/settings/accounts/AutoSyncWorkDataPreferenceController.java b/src/com/android/settings/accounts/AutoSyncWorkDataPreferenceController.java
new file mode 100644
index 0000000..899f77d
--- /dev/null
+++ b/src/com/android/settings/accounts/AutoSyncWorkDataPreferenceController.java
@@ -0,0 +1,35 @@
+/*
+ * 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.accounts;
+
+import android.app.Fragment;
+import android.content.Context;
+
+public class AutoSyncWorkDataPreferenceController extends AutoSyncPersonalDataPreferenceController {
+
+ private static final String TAG = "AutoSyncWorkData";
+ private static final String KEY_AUTO_SYNC_WORK_ACCOUNT = "auto_sync_work_account_data";
+
+ public AutoSyncWorkDataPreferenceController(Context context, Fragment parent) {
+ super(context, parent);
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_AUTO_SYNC_WORK_ACCOUNT;
+ }
+
+}
diff --git a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
index bb4d8a1..642a63a 100644
--- a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
@@ -58,6 +58,9 @@
new AddUserWhenLockedPreferenceController(context);
controllers.add(addUserWhenLockedPrefController);
getLifecycle().addObserver(addUserWhenLockedPrefController);
+ controllers.add(new AutoSyncDataPreferenceController(context, this));
+ controllers.add(new AutoSyncPersonalDataPreferenceController(context, this));
+ controllers.add(new AutoSyncWorkDataPreferenceController(context, this));
return controllers;
}
diff --git a/src/com/android/settings/applications/AppStateNotificationBridge.java b/src/com/android/settings/applications/AppStateNotificationBridge.java
index b936351..5fff175 100644
--- a/src/com/android/settings/applications/AppStateNotificationBridge.java
+++ b/src/com/android/settings/applications/AppStateNotificationBridge.java
@@ -16,6 +16,7 @@
package com.android.settings.applications;
import android.app.Notification;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserHandle;
@@ -92,8 +93,8 @@
return false;
}
AppRow row = (AppRow) info.extraInfo;
- return row.appImportance > NotificationListenerService.Ranking.IMPORTANCE_NONE
- && row.appImportance < NotificationListenerService.Ranking.IMPORTANCE_DEFAULT;
+ return row.appImportance > NotificationManager.IMPORTANCE_NONE
+ && row.appImportance < NotificationManager.IMPORTANCE_DEFAULT;
}
};
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index f23d214..e7f89be 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -22,6 +22,7 @@
import android.app.AlertDialog;
import android.app.LoaderManager.LoaderCallbacks;
import android.app.Notification;
+import android.app.NotificationManager;
import android.app.admin.DevicePolicyManager;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
@@ -53,6 +54,7 @@
import android.os.UserManager;
import android.provider.Settings;
import android.service.notification.NotificationListenerService.Ranking;
+import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceCategory;
@@ -492,6 +494,8 @@
showIt = false;
} else if (mUserManager.getUsers().size() < 2) {
showIt = false;
+ } else if (PackageUtil.countPackageInUsers(mPm, mUserManager, mPackageName) < 2) {
+ showIt = false;
}
menu.findItem(UNINSTALL_ALL_USERS_MENU).setVisible(showIt);
mUpdatedSysApp = (mAppEntry.info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0;
@@ -1099,15 +1103,15 @@
List<String> summaryAttributes = new ArrayList<>();
StringBuffer summary = new StringBuffer();
if (showSlider) {
- if (appRow.appImportance != Ranking.IMPORTANCE_UNSPECIFIED) {
+ if (appRow.appImportance != NotificationManager.IMPORTANCE_UNSPECIFIED) {
summaryAttributes.add(context.getString(
R.string.notification_summary_level, appRow.appImportance));
}
} else {
if (appRow.banned) {
summaryAttributes.add(context.getString(R.string.notifications_disabled));
- } else if (appRow.appImportance > Ranking.IMPORTANCE_NONE
- && appRow.appImportance < Ranking.IMPORTANCE_DEFAULT) {
+ } else if (appRow.appImportance > NotificationManager.IMPORTANCE_NONE
+ && appRow.appImportance < NotificationManager.IMPORTANCE_DEFAULT) {
summaryAttributes.add(context.getString(R.string.notifications_silenced));
}
}
@@ -1212,6 +1216,37 @@
}
}
+ /**
+ * Elicit this class for testing. Test cannot be done in robolectric because it
+ * invokes the new API.
+ */
+ @VisibleForTesting
+ public static class PackageUtil {
+ /**
+ * Count how many users in device have installed package {@paramref packageName}
+ */
+ public static int countPackageInUsers(PackageManager packageManager, UserManager
+ userManager, String packageName) {
+ final List<UserInfo> userInfos = userManager.getUsers(true);
+ int count = 0;
+
+ for (final UserInfo userInfo : userInfos) {
+ try {
+ // Use this API to check whether user has this package
+ final ApplicationInfo info = packageManager.getApplicationInfoAsUser(
+ packageName, PackageManager.GET_META_DATA, userInfo.id);
+ if ((info.flags & ApplicationInfo.FLAG_INSTALLED) != 0) {
+ count++;
+ }
+ } catch(NameNotFoundException e) {
+ Log.e(TAG, "Package: " + packageName + " not found for user: " + userInfo.id);
+ }
+ }
+
+ return count;
+ }
+ }
+
private static class DisableChanger extends AsyncTask<Object, Object, Object> {
final PackageManager mPm;
final WeakReference<InstalledAppDetails> mActivity;
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 2e8c7ad..d07d303 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -27,6 +27,7 @@
import com.android.settings.SettingsActivity;
import com.android.settingslib.drawer.CategoryManager;
import com.android.settingslib.drawer.DashboardCategory;
+import com.android.settingslib.drawer.ProfileSelectDialog;
import com.android.settingslib.drawer.Tile;
import java.util.List;
@@ -100,7 +101,14 @@
} else if (tile.intent != null) {
final Intent intent = new Intent(tile.intent);
pref.setOnPreferenceClickListener(preference -> {
- activity.startActivityForResult(intent, 0);
+ ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
+ if (tile.userHandle == null) {
+ activity.startActivityForResult(intent, 0);
+ } else if (tile.userHandle.size() == 1) {
+ activity.startActivityForResultAsUser(intent, 0, tile.userHandle.get(0));
+ } else {
+ ProfileSelectDialog.show(activity.getFragmentManager(), tile);
+ }
return true;
});
}
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 3bbec09..dddc4cc 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -288,7 +288,6 @@
void refreshDashboardTiles(final String TAG) {
final PreferenceScreen screen = getPreferenceScreen();
- final Context context = getContext();
final DashboardCategory category =
mDashboardFeatureProvider.getTilesForCategory(getCategoryKey());
if (category == null) {
@@ -324,7 +323,7 @@
getActivity(), preference, tile, key);
} else {
// Don't have this key, add it.
- final Preference pref = new DashboardTilePreference(context);
+ final Preference pref = new Preference(getPrefContext());
mDashboardFeatureProvider.bindPreferenceToTile(getActivity(), pref, tile, key);
mProgressiveDisclosureMixin.addPreference(screen, pref);
mDashboardTilePrefKeys.add(key);
diff --git a/src/com/android/settings/dashboard/SearchResultsSummary.java b/src/com/android/settings/dashboard/SearchResultsSummary.java
index bd9948b..1c73a84 100644
--- a/src/com/android/settings/dashboard/SearchResultsSummary.java
+++ b/src/com/android/settings/dashboard/SearchResultsSummary.java
@@ -322,6 +322,7 @@
mUpdateSuggestionsTask = null;
}
setSuggestionsCursor(null);
+ setSuggestionsVisibility(false);
}
private void setSuggestionsCursor(Cursor cursor) {
@@ -340,6 +341,7 @@
mUpdateSearchResultsTask = null;
}
setResultsCursor(null);
+ setResultsVisibility(false);
}
private void setResultsCursor(Cursor cursor) {
diff --git a/src/com/android/settings/network/VpnPreferenceController.java b/src/com/android/settings/network/VpnPreferenceController.java
index 3c4877f..146b400 100644
--- a/src/com/android/settings/network/VpnPreferenceController.java
+++ b/src/com/android/settings/network/VpnPreferenceController.java
@@ -59,8 +59,7 @@
@Override
public boolean isAvailable() {
- // TODO: http://b/23693383
- return mIsSecondaryUser || RestrictedLockUtils.hasBaseUserRestriction(mContext,
+ return !RestrictedLockUtils.hasBaseUserRestriction(mContext,
UserManager.DISALLOW_CONFIG_VPN, UserHandle.myUserId());
}
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
index fb36c54..8e47af5 100644
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/AppNotificationSettings.java
@@ -102,7 +102,7 @@
mChannelList = mBackend.getChannels(mPkg, mUid).getList();
setupImportancePrefs(mAppRow.systemApp, mAppRow.appImportance, mAppRow.banned,
- NotificationManager.IMPORTANCE_MAX);
+ NotificationManager.IMPORTANCE_HIGH);
setupPriorityPref(mAppRow.appBypassDnd);
setupVisOverridePref(mAppRow.appVisOverride);
diff --git a/src/com/android/settings/notification/ChannelNotificationSettings.java b/src/com/android/settings/notification/ChannelNotificationSettings.java
index a405de6..7f384a5 100644
--- a/src/com/android/settings/notification/ChannelNotificationSettings.java
+++ b/src/com/android/settings/notification/ChannelNotificationSettings.java
@@ -17,6 +17,7 @@
package com.android.settings.notification;
import android.app.Activity;
+import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Intent;
import android.net.Uri;
@@ -24,6 +25,7 @@
import android.provider.Settings;
import android.service.notification.NotificationListenerService.Ranking;
import android.support.v7.preference.Preference;
+import android.view.View;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
@@ -94,7 +96,7 @@
setupVibrate();
setupRingtone();
mMaxImportance = mAppRow.appImportance == NotificationManager.IMPORTANCE_UNSPECIFIED
- ? NotificationManager.IMPORTANCE_MAX : mAppRow.appImportance;
+ ? NotificationManager.IMPORTANCE_HIGH : mAppRow.appImportance;
setupImportancePrefs(false, mChannel.getImportance(),
mChannel.getImportance() == NotificationManager.IMPORTANCE_NONE,
mMaxImportance);
@@ -141,6 +143,7 @@
public boolean onPreferenceChange(Preference preference, Object newValue) {
final boolean lights = (Boolean) newValue;
mChannel.setLights(lights);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_LIGHTS);
mBackend.updateChannel(mPkg, mUid, mChannel);
return true;
}
@@ -155,6 +158,7 @@
public boolean onPreferenceChange(Preference preference, Object newValue) {
final boolean vibrate = (Boolean) newValue;
mChannel.setVibration(vibrate);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_VIBRATION);
mBackend.updateChannel(mPkg, mUid, mChannel);
return true;
}
@@ -162,13 +166,14 @@
}
private void setupRingtone() {
- mRingtone.setRingtone(mChannel.getDefaultRingtone());
+ mRingtone.setRingtone(mChannel.getRingtone());
mRingtone.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
Uri ringtone = Uri.parse((String) newValue);
mRingtone.setRingtone(ringtone);
- mChannel.setDefaultRingtone(ringtone);
+ mChannel.setRingtone(ringtone);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_RINGTONE);
mBackend.updateChannel(mPkg, mUid, mChannel);
return false;
}
diff --git a/src/com/android/settings/notification/ImportanceSeekBarPreference.java b/src/com/android/settings/notification/ImportanceSeekBarPreference.java
index 0617df9..568dc1c 100644
--- a/src/com/android/settings/notification/ImportanceSeekBarPreference.java
+++ b/src/com/android/settings/notification/ImportanceSeekBarPreference.java
@@ -19,6 +19,7 @@
import com.android.settings.R;
import com.android.settings.SeekBarPreference;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
@@ -119,12 +120,10 @@
private void applyAuto(ImageView autoButton) {
mAutoOn = !mAutoOn;
if (!mAutoOn) {
- setProgress(NotificationListenerService.Ranking.IMPORTANCE_DEFAULT);
- mCallback.onImportanceChanged(
- NotificationListenerService.Ranking.IMPORTANCE_DEFAULT, true);
+ setProgress(NotificationManager.IMPORTANCE_DEFAULT);
+ mCallback.onImportanceChanged(NotificationManager.IMPORTANCE_DEFAULT, true);
} else {
- mCallback.onImportanceChanged(
- NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED, true);
+ mCallback.onImportanceChanged(NotificationManager.IMPORTANCE_UNSPECIFIED, true);
}
applyAutoUi(autoButton);
}
@@ -140,9 +139,8 @@
mSeekBar.setAlpha(alpha);
if (mAutoOn) {
- setProgress(NotificationListenerService.Ranking.IMPORTANCE_DEFAULT);
- mSummary = getProgressSummary(
- NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED);
+ setProgress(NotificationManager.IMPORTANCE_DEFAULT);
+ mSummary = getProgressSummary(NotificationManager.IMPORTANCE_UNSPECIFIED);
}
mSummaryTextView.setText(mSummary);
}
@@ -168,18 +166,17 @@
private String getProgressSummary(int progress) {
switch (progress) {
- case NotificationListenerService.Ranking.IMPORTANCE_NONE:
+ case NotificationManager.IMPORTANCE_NONE:
return getContext().getString(R.string.notification_importance_blocked);
- case NotificationListenerService.Ranking.IMPORTANCE_MIN:
+ case NotificationManager.IMPORTANCE_MIN:
return getContext().getString(R.string.notification_importance_min);
- case NotificationListenerService.Ranking.IMPORTANCE_LOW:
+ case NotificationManager.IMPORTANCE_LOW:
return getContext().getString(R.string.notification_importance_low);
- case NotificationListenerService.Ranking.IMPORTANCE_DEFAULT:
+ case NotificationManager.IMPORTANCE_DEFAULT:
return getContext().getString(R.string.notification_importance_default);
- case NotificationListenerService.Ranking.IMPORTANCE_HIGH:
+ case NotificationManager.IMPORTANCE_HIGH:
+ case NotificationManager.IMPORTANCE_MAX:
return getContext().getString(R.string.notification_importance_high);
- case NotificationListenerService.Ranking.IMPORTANCE_MAX:
- return getContext().getString(R.string.notification_importance_max);
default:
return getContext().getString(R.string.notification_importance_unspecified);
}
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index 32eacc6..5d69203 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -18,6 +18,7 @@
import android.app.INotificationManager;
import android.app.Notification;
import android.app.NotificationChannel;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
@@ -139,7 +140,7 @@
return sINM.getImportance(pkg, uid);
} catch (Exception e) {
Log.w(TAG, "Error calling NoMan", e);
- return NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED;
+ return NotificationManager.IMPORTANCE_UNSPECIFIED;
}
}
diff --git a/src/com/android/settings/notification/NotificationSettingsBase.java b/src/com/android/settings/notification/NotificationSettingsBase.java
index 0925833..5d6f598 100644
--- a/src/com/android/settings/notification/NotificationSettingsBase.java
+++ b/src/com/android/settings/notification/NotificationSettingsBase.java
@@ -178,16 +178,18 @@
setVisible(mSilent, false);
mImportance.setDisabledByAdmin(mSuspendedAppsAdmin);
mImportance.setMinimumProgress(
- notBlockable ? Ranking.IMPORTANCE_MIN : Ranking.IMPORTANCE_NONE);
+ notBlockable ? NotificationManager.IMPORTANCE_MIN
+ : NotificationManager.IMPORTANCE_NONE);
mImportance.setMax(maxImportance);
mImportance.setProgress(Math.min(importance, maxImportance));
- mImportance.setAutoOn(importance == Ranking.IMPORTANCE_UNSPECIFIED);
+ mImportance.setAutoOn(importance == NotificationManager.IMPORTANCE_UNSPECIFIED);
mImportance.setCallback(new ImportanceSeekBarPreference.Callback() {
@Override
public void onImportanceChanged(int progress, boolean fromUser) {
if (fromUser) {
if (mChannel != null) {
mChannel.setImportance(progress);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
mBackend.updateChannel(mPkg, mUid, mChannel);
} else {
mBackend.setImportance(mPkg, mUid, progress);
@@ -209,10 +211,11 @@
Object newValue) {
final boolean blocked = (Boolean) newValue;
final int importance = blocked
- ? Ranking.IMPORTANCE_NONE
- : Ranking.IMPORTANCE_UNSPECIFIED;
+ ? NotificationManager.IMPORTANCE_NONE
+ : NotificationManager.IMPORTANCE_UNSPECIFIED;
if (mChannel != null) {
mChannel.setImportance(importance);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
mBackend.updateChannel(mPkg, mUid, mChannel);
} else {
mBackend.setImportance(mPkgInfo.packageName, mUid,
@@ -226,9 +229,10 @@
// app silenced; cannot un-silence a channel
if (maxImportance == NotificationManager.IMPORTANCE_LOW) {
setVisible(mSilent, false);
- updateDependents(banned ? Ranking.IMPORTANCE_NONE : Ranking.IMPORTANCE_LOW);
+ updateDependents(banned ? NotificationManager.IMPORTANCE_NONE
+ : NotificationManager.IMPORTANCE_LOW);
} else {
- mSilent.setChecked(importance == Ranking.IMPORTANCE_LOW);
+ mSilent.setChecked(importance == NotificationManager.IMPORTANCE_LOW);
mSilent.setOnPreferenceChangeListener(
new Preference.OnPreferenceChangeListener() {
@Override
@@ -236,10 +240,11 @@
Object newValue) {
final boolean silenced = (Boolean) newValue;
final int importance = silenced
- ? Ranking.IMPORTANCE_LOW
- : Ranking.IMPORTANCE_UNSPECIFIED;
+ ? NotificationManager.IMPORTANCE_LOW
+ : NotificationManager.IMPORTANCE_UNSPECIFIED;
if (mChannel != null) {
mChannel.setImportance(importance);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
mBackend.updateChannel(mPkg, mUid, mChannel);
} else {
mBackend.setImportance(mPkgInfo.packageName, mUid,
@@ -249,7 +254,7 @@
return true;
}
});
- updateDependents(banned ? Ranking.IMPORTANCE_NONE : importance);
+ updateDependents(banned ? NotificationManager.IMPORTANCE_NONE : importance);
}
}
}
@@ -263,6 +268,7 @@
final boolean bypassZenMode = (Boolean) newValue;
if (mChannel != null) {
mChannel.setBypassDnd(bypassZenMode);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_PRIORITY);
mBackend.updateChannel(mPkg, mUid, mChannel);
return true;
} else {
@@ -280,7 +286,8 @@
if (getLockscreenNotificationsEnabled() && getLockscreenAllowPrivateNotifications()) {
final String summaryShowEntry =
getString(R.string.lock_screen_notifications_summary_show);
- final String summaryShowEntryValue = Integer.toString(Ranking.VISIBILITY_NO_OVERRIDE);
+ final String summaryShowEntryValue =
+ Integer.toString(NotificationManager.VISIBILITY_NO_OVERRIDE);
entries.add(summaryShowEntry);
values.add(summaryShowEntryValue);
setRestrictedIfNotificationFeaturesDisabled(summaryShowEntry, summaryShowEntryValue,
@@ -306,7 +313,8 @@
}
mVisibilityOverride.setSummary("%s");
- mVisibilityOverride.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
+ mVisibilityOverride.setOnPreferenceChangeListener(
+ new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
int sensitive = Integer.parseInt((String) newValue);
@@ -315,6 +323,7 @@
}
if (mChannel != null) {
mChannel.setLockscreenVisibility(sensitive);
+ mChannel.lockFields(NotificationChannel.USER_LOCKED_VISIBILITY);
mBackend.updateChannel(mPkg, mUid, mChannel);
} else {
mBackend.setVisibilityOverride(mPkgInfo.packageName, mUid, sensitive);
@@ -367,14 +376,15 @@
protected void updateDependents(int importance) {
if (getPreferenceScreen().findPreference(mBlock.getKey()) != null) {
- setVisible(mSilent, checkCanBeVisible(Ranking.IMPORTANCE_MIN, importance));
- mSilent.setChecked(importance == Ranking.IMPORTANCE_LOW);
+ setVisible(mSilent, checkCanBeVisible(NotificationManager.IMPORTANCE_MIN, importance));
+ mSilent.setChecked(importance == NotificationManager.IMPORTANCE_LOW);
}
- setVisible(mPriority, checkCanBeVisible(Ranking.IMPORTANCE_DEFAULT, importance)
- || (checkCanBeVisible(Ranking.IMPORTANCE_LOW, importance)
+ setVisible(mPriority, checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT, importance)
+ || (checkCanBeVisible(NotificationManager.IMPORTANCE_LOW, importance)
&& mDndVisualEffectsSuppressed));
setVisible(mVisibilityOverride,
- checkCanBeVisible(Ranking.IMPORTANCE_MIN, importance) && isLockScreenSecure());
+ checkCanBeVisible(NotificationManager.IMPORTANCE_MIN, importance)
+ && isLockScreenSecure());
}
protected void setVisible(Preference p, boolean visible) {
@@ -388,7 +398,7 @@
}
protected boolean checkCanBeVisible(int minImportanceVisible, int importance) {
- if (importance == Ranking.IMPORTANCE_UNSPECIFIED) {
+ if (importance == NotificationManager.IMPORTANCE_UNSPECIFIED) {
return true;
}
return importance >= minImportanceVisible;
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index fa2cdd4..8cd039f 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -63,6 +63,8 @@
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
+import com.android.settings.accounts.AddUserWhenLockedPreferenceController;
+import com.android.settings.accounts.EmergencyInfoPreferenceController;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -88,7 +90,6 @@
*/
public class UserSettings extends SettingsPreferenceFragment
implements OnPreferenceClickListener, OnClickListener, DialogInterface.OnDismissListener,
- Preference.OnPreferenceChangeListener,
EditUserInfoController.OnContentChangedCallback, Indexable {
private static final String TAG = "UserSettings";
@@ -136,7 +137,6 @@
private UserPreference mMePreference;
private DimmableIconPreference mAddUser;
private PreferenceGroup mLockScreenSettings;
- private RestrictedSwitchPreference mAddUserWhenLocked;
private Preference mEmergencyInfoPreference;
private int mRemovingUserId = -1;
private int mAddedUserId = 0;
@@ -150,6 +150,8 @@
private EditUserInfoController mEditUserInfoController =
new EditUserInfoController();
+ private EmergencyInfoPreferenceController mEnergencyInfoController;
+ private AddUserWhenLockedPreferenceController mAddUserWhenLockedController;
// A place to cache the generated default avatar
private Drawable mDefaultIconDrawable;
@@ -234,8 +236,9 @@
}
}
mLockScreenSettings = (PreferenceGroup) findPreference("lock_screen_settings");
- mAddUserWhenLocked = (RestrictedSwitchPreference) findPreference("add_users_when_locked");
mEmergencyInfoPreference = findPreference(KEY_EMERGENCY_INFO);
+ mEnergencyInfoController = new EmergencyInfoPreferenceController(context);
+ mAddUserWhenLockedController = new AddUserWhenLockedPreferenceController(context);
setHasOptionsMenu(true);
IntentFilter filter = new IntentFilter(Intent.ACTION_USER_REMOVED);
filter.addAction(Intent.ACTION_USER_INFO_CHANGED);
@@ -887,15 +890,10 @@
mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
}
}
- if (mUserCaps.mIsAdmin &&
- (!mUserCaps.mDisallowAddUser || mUserCaps.mDisallowAddUserSetByAdmin)) {
+
+ if (mAddUserWhenLockedController.isAvailable()) {
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);
}
if (emergencyInfoActivityPresent(getContext())) {
@@ -983,10 +981,8 @@
} else {
onAddUserClicked(USER_TYPE_USER);
}
- } else if (pref == mEmergencyInfoPreference) {
- Intent intent = new Intent(ACTION_EDIT_EMERGENCY_INFO);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
+ } else {
+ mEnergencyInfoController.handlePreferenceTreeClick(pref);
}
return false;
}
@@ -1032,18 +1028,6 @@
}
@Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (preference == mAddUserWhenLocked) {
- Boolean value = (Boolean) newValue;
- Settings.Global.putInt(getContentResolver(), Settings.Global.ADD_USERS_WHEN_LOCKED,
- value != null && value ? 1 : 0);
- return true;
- }
-
- return false;
- }
-
- @Override
public int getHelpResource() {
return R.string.help_url_users;
}
diff --git a/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapper.java b/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapper.java
new file mode 100644
index 0000000..2569b6b
--- /dev/null
+++ b/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapper.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.utils;
+
+import android.annotation.StyleRes;
+import android.content.Context;
+import android.view.ContextThemeWrapper;
+
+/**
+ * {@link ContextThemeWrapper} that provides a local classloader. This guarantees we have a
+ * valid {@link ClassLoader} when base context is from an external app.
+ */
+public class LocalClassLoaderContextThemeWrapper extends ContextThemeWrapper {
+
+ private Class mLocalClass;
+
+ public LocalClassLoaderContextThemeWrapper(Class clazz, Context base,
+ @StyleRes int themeResId) {
+ super(base, themeResId);
+ mLocalClass = clazz;
+ }
+
+ @Override
+ public ClassLoader getClassLoader() {
+ return mLocalClass.getClassLoader();
+ }
+}
diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java
index 4a02197..d70d6ba 100644
--- a/src/com/android/settings/wifi/WifiEnabler.java
+++ b/src/com/android/settings/wifi/WifiEnabler.java
@@ -231,8 +231,13 @@
if (mayDisableTethering(isChecked)) {
mWifiManager.setWifiApEnabled(null, false);
}
- mMetricsFeatureProvider.action(mContext,
- isChecked ? MetricsEvent.ACTION_WIFI_ON : MetricsEvent.ACTION_WIFI_OFF);
+ if (isChecked) {
+ mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_WIFI_ON);
+ } else {
+ // Log if user was connected at the time of switching off.
+ mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_WIFI_OFF,
+ mConnected.get());
+ }
if (!mWifiManager.setWifiEnabled(isChecked)) {
// Error
mSwitchBar.setEnabled(true);
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index dacd481..bdb3779 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -483,12 +483,13 @@
}
switch (item.getItemId()) {
case MENU_ID_CONNECT: {
- if (mSelectedAccessPoint.isSaved()) {
- connect(mSelectedAccessPoint.getConfig());
+ boolean isSavedNetwork = mSelectedAccessPoint.isSaved();
+ if (isSavedNetwork) {
+ connect(mSelectedAccessPoint.getConfig(), isSavedNetwork);
} else if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE) {
/** Bypass dialog for unsecured networks */
mSelectedAccessPoint.generateOpenNetworkConfig();
- connect(mSelectedAccessPoint.getConfig());
+ connect(mSelectedAccessPoint.getConfig(), isSavedNetwork);
} else {
showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_CONNECT);
}
@@ -521,7 +522,7 @@
if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE &&
!mSelectedAccessPoint.isSaved() && !mSelectedAccessPoint.isActive()) {
mSelectedAccessPoint.generateOpenNetworkConfig();
- connect(mSelectedAccessPoint.getConfig());
+ connect(mSelectedAccessPoint.getConfig(), false /* isSavedNetwork */);
} else if (mSelectedAccessPoint.isSaved()) {
showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_VIEW);
} else {
@@ -831,14 +832,14 @@
if (config == null) {
if (mSelectedAccessPoint != null
&& mSelectedAccessPoint.isSaved()) {
- connect(mSelectedAccessPoint.getConfig());
+ connect(mSelectedAccessPoint.getConfig(), true /* isSavedNetwork */);
}
} else if (configController.getMode() == WifiConfigUiBase.MODE_MODIFY) {
mWifiManager.save(config, mSaveListener);
} else {
mWifiManager.save(config, mSaveListener);
if (mSelectedAccessPoint != null) { // Not an "Add network"
- connect(config);
+ connect(config, false /* isSavedNetwork */);
}
}
@@ -868,13 +869,17 @@
changeNextButtonState(false);
}
- protected void connect(final WifiConfiguration config) {
- mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
+ protected void connect(final WifiConfiguration config, boolean isSavedNetwork) {
+ // Log subtype if configuration is a saved network.
+ mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT,
+ isSavedNetwork);
mWifiManager.connect(config, mConnectListener);
}
- protected void connect(final int networkId) {
- mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
+ protected void connect(final int networkId, boolean isSavedNetwork) {
+ // Log subtype if configuration is a saved network.
+ mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT,
+ isSavedNetwork);
mWifiManager.connect(networkId, mConnectListener);
}
diff --git a/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java b/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java
index 2f35478..68f28ee 100644
--- a/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java
+++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java
@@ -130,17 +130,17 @@
}
@Override
- protected void connect(final WifiConfiguration config) {
+ protected void connect(final WifiConfiguration config, boolean isSavedNetwork) {
WifiSetupActivity activity = (WifiSetupActivity) getActivity();
activity.networkSelected();
- super.connect(config);
+ super.connect(config, isSavedNetwork);
}
@Override
- protected void connect(final int networkId) {
+ protected void connect(final int networkId, boolean isSavedNetwork) {
WifiSetupActivity activity = (WifiSetupActivity) getActivity();
activity.networkSelected();
- super.connect(networkId);
+ super.connect(networkId, isSavedNetwork);
}
@Override
diff --git a/tests/app/src/com/android/settings/applications/PackageUtilTest.java b/tests/app/src/com/android/settings/applications/PackageUtilTest.java
new file mode 100644
index 0000000..1c064ae
--- /dev/null
+++ b/tests/app/src/com/android/settings/applications/PackageUtilTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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.applications;
+
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static junit.framework.Assert.assertEquals;
+import static org.mockito.Mockito.when;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class PackageUtilTest {
+ private static final String ALL_USERS_APP_NAME = "com.google.allusers.app";
+ private static final String ONE_USER_APP_NAME = "com.google.oneuser.app";
+ private static final int USER1_ID = 1;
+ private static final int USER2_ID = 11;
+
+ @Mock
+ private PackageManager mMockPackageManager;
+ @Mock
+ private UserManager mMockUserManager;
+
+ private InstalledAppDetails.PackageUtil mPackageUtil;
+ private List<UserInfo> mUserInfos;
+
+ @Before
+ public void setUp() throws PackageManager.NameNotFoundException {
+ MockitoAnnotations.initMocks(this);
+
+ mUserInfos = new ArrayList<>();
+ mUserInfos.add(new UserInfo(USER1_ID, "lei", 0));
+ mUserInfos.add(new UserInfo(USER2_ID, "yue", 0));
+ when(mMockUserManager.getUsers(true)).thenReturn(mUserInfos);
+
+ ApplicationInfo usersApp = new ApplicationInfo();
+ usersApp.flags = ApplicationInfo.FLAG_INSTALLED;
+
+ when(mMockPackageManager.getApplicationInfoAsUser(
+ ALL_USERS_APP_NAME, PackageManager.GET_META_DATA, USER1_ID))
+ .thenReturn(usersApp);
+ when(mMockPackageManager.getApplicationInfoAsUser(
+ ALL_USERS_APP_NAME, PackageManager.GET_META_DATA, USER2_ID))
+ .thenReturn(usersApp);
+
+ when(mMockPackageManager.getApplicationInfoAsUser(
+ ONE_USER_APP_NAME, PackageManager.GET_META_DATA, USER1_ID))
+ .thenReturn(usersApp);
+
+ when(mMockPackageManager.getApplicationInfoAsUser(
+ ONE_USER_APP_NAME, PackageManager.GET_META_DATA, USER2_ID))
+ .thenThrow(new PackageManager.NameNotFoundException());
+
+ mPackageUtil = new InstalledAppDetails.PackageUtil();
+ }
+
+ @Test
+ public void testCountPackageInUsers_twoUsersInstalled_returnTwo() {
+ assertEquals(2, mPackageUtil.countPackageInUsers(
+ mMockPackageManager, mMockUserManager, ALL_USERS_APP_NAME));
+ }
+
+ @Test
+ public void testCountPackageInUsers_oneUsersInstalled_returnOne() {
+ assertEquals(1, mPackageUtil.countPackageInUsers(
+ mMockPackageManager, mMockUserManager, ONE_USER_APP_NAME));
+ }
+}
diff --git a/tests/unit/src/com/android/settings/DeviceInfoSettingsTest.java b/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
similarity index 79%
rename from tests/unit/src/com/android/settings/DeviceInfoSettingsTest.java
rename to tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
index cec3f74..c66c2b4 100644
--- a/tests/unit/src/com/android/settings/DeviceInfoSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
@@ -18,19 +18,23 @@
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
-
import com.android.settingslib.DeviceInfoUtils;
+import org.junit.runner.RunWith;
+import org.junit.Test;
+import org.robolectric.annotation.Config;
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DeviceInfoSettingsTest extends AndroidTestCase {
- @SmallTest
+ @Test
public void testGetFormattedKernelVersion() throws Exception {
if ("Unavailable".equals(DeviceInfoUtils.getFormattedKernelVersion())) {
fail("formatKernelVersion can't cope with this device's /proc/version");
}
}
- @SmallTest
+ @Test
public void testFormatKernelVersion() throws Exception {
assertEquals("Unavailable", DeviceInfoUtils.formatKernelVersion(""));
assertEquals("2.6.38.8-gg784\n" +
@@ -53,5 +57,12 @@
DeviceInfoUtils.formatKernelVersion("Linux version " +
"2.6.38.8-a-b-jellybean+ (x@y) " +
"(gcc version 4.4.3 (GCC) ) #1 PREEMPT Tue Aug 28 22:10:46 CDT 2012"));
+ assertEquals("3.18.31-g3ce5faa-dirty\n" +
+ "x@y #5\n" +
+ "Fri Oct 28 14:38:13 PDT 2016",
+ DeviceInfoUtils.formatKernelVersion("Linux version " +
+ "3.18.31-g3ce5faa-dirty (x@y) (Android clang " +
+ "version 3.8.275480 (based on LLVM 3.8.275480)) " +
+ "#5 SMP PREEMPT Fri Oct 28 14:38:13 PDT 2016"));
}
}
diff --git a/tests/robotests/src/com/android/settings/accounts/AutoSyncDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AutoSyncDataPreferenceControllerTest.java
new file mode 100644
index 0000000..7fb6fd7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accounts/AutoSyncDataPreferenceControllerTest.java
@@ -0,0 +1,135 @@
+/*
+ * 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.accounts;
+
+import android.app.Fragment;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.support.v14.preference.SwitchPreference;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Answers.RETURNS_DEEP_STUBS;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class AutoSyncDataPreferenceControllerTest {
+
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private PreferenceScreen mScreen;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private UserManager mUserManager;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private Fragment mFragment;
+
+ private Context mContext;
+ private AutoSyncDataPreferenceController mController;
+ private AutoSyncDataPreferenceController.ConfirmAutoSyncChangeFragment mConfirmSyncFragment;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ ShadowApplication shadowContext = ShadowApplication.getInstance();
+ shadowContext.setSystemService(Context.USER_SERVICE, mUserManager);
+ mContext = shadowContext.getApplicationContext();
+ mController = new AutoSyncDataPreferenceController(mContext, mFragment);
+ mConfirmSyncFragment = new AutoSyncDataPreferenceController.ConfirmAutoSyncChangeFragment();
+ mConfirmSyncFragment.setTargetFragment(mFragment, 0);
+ }
+
+ @Test
+ public void displayPref_managedProfile_shouldNotDisplay() {
+ when(mUserManager.isManagedProfile()).thenReturn(true);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void displayPref_linkedUser_shouldDisplay() {
+ when(mUserManager.isManagedProfile()).thenReturn(false);
+ when(mUserManager.isLinkedUser()).thenReturn(true);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen, never()).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void displayPref_oneProfile_shouldDisplay() {
+ List<UserInfo> infos = new ArrayList<>();
+ infos.add(new UserInfo(1, "user 1", 0));
+ when(mUserManager.isManagedProfile()).thenReturn(false);
+ when(mUserManager.isLinkedUser()).thenReturn(false);
+ when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen, never()).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void displayPref_moreThanOneProfile_shouldNotDisplay() {
+ List<UserInfo> infos = new ArrayList<>();
+ infos.add(new UserInfo(1, "user 1", 0));
+ infos.add(new UserInfo(2, "user 2", 0));
+ when(mUserManager.isManagedProfile()).thenReturn(false);
+ when(mUserManager.isLinkedUser()).thenReturn(false);
+ when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void autoSyncData_shouldNotBeSetOnCancel() {
+ final ShadowApplication application = ShadowApplication.getInstance();
+ final Context context = application.getApplicationContext();
+ final SwitchPreference preference = new SwitchPreference(context);
+ preference.setChecked(false);
+ mController = new AutoSyncDataPreferenceController(context, mFragment);
+ mConfirmSyncFragment.mPreference = preference;
+ mConfirmSyncFragment.mEnabling = true;
+
+ mConfirmSyncFragment.onClick(null, DialogInterface.BUTTON_NEGATIVE);
+ assertThat(preference.isChecked()).isFalse();
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceControllerTest.java
new file mode 100644
index 0000000..54ee658
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceControllerTest.java
@@ -0,0 +1,114 @@
+/*
+ * 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.accounts;
+
+import android.app.Fragment;
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.search.SearchIndexableRaw;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+import static org.mockito.Answers.RETURNS_DEEP_STUBS;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class AutoSyncPersonalDataPreferenceControllerTest {
+
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private PreferenceScreen mScreen;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private UserManager mUserManager;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private Fragment mFragment;
+
+ private Context mContext;
+ private AutoSyncPersonalDataPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ ShadowApplication shadowContext = ShadowApplication.getInstance();
+ shadowContext.setSystemService(Context.USER_SERVICE, mUserManager);
+ mContext = shadowContext.getApplicationContext();
+ mController = new AutoSyncPersonalDataPreferenceController(mContext, mFragment);
+ }
+
+ @Test
+ public void displayPref_managedProfile_shouldNotDisplay() {
+ when(mUserManager.isManagedProfile()).thenReturn(true);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void displayPref_linkedUser_shouldNotDisplay() {
+ when(mUserManager.isManagedProfile()).thenReturn(false);
+ when(mUserManager.isLinkedUser()).thenReturn(true);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void displayPref_oneProfile_shouldNotDisplay() {
+ List<UserInfo> infos = new ArrayList<>();
+ infos.add(new UserInfo(1, "user 1", 0));
+ when(mUserManager.isManagedProfile()).thenReturn(false);
+ when(mUserManager.isLinkedUser()).thenReturn(false);
+ when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void displayPref_prefAvaiable_shouldDisplay() {
+ List<UserInfo> infos = new ArrayList<>();
+ infos.add(new UserInfo(1, "user 1", 0));
+ infos.add(new UserInfo(2, "user 2", 0));
+ when(mUserManager.isManagedProfile()).thenReturn(false);
+ when(mUserManager.isLinkedUser()).thenReturn(false);
+ when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen, never()).removePreference(any(Preference.class));
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index 66f2289..deae989 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -18,10 +18,13 @@
import android.app.Activity;
import android.content.ComponentName;
+import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.Icon;
import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
import android.support.v7.preference.Preference;
import com.android.settings.SettingsActivity;
@@ -38,7 +41,12 @@
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
+import java.util.ArrayList;
+
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -47,6 +55,9 @@
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Activity mActivity;
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private UserManager mUserManager;
+
private DashboardFeatureProviderImpl mImpl;
@Before
@@ -92,6 +103,26 @@
}
@Test
+ public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() {
+ final Preference preference = new Preference(
+ ShadowApplication.getInstance().getApplicationContext());
+ final Tile tile = new Tile();
+ tile.metaData = new Bundle();
+ tile.userHandle = new ArrayList<>();
+ tile.userHandle.add(mock(UserHandle.class));
+ tile.userHandle.add(mock(UserHandle.class));
+ tile.intent = new Intent();
+
+ when(mActivity.getApplicationContext().getSystemService(Context.USER_SERVICE))
+ .thenReturn(mUserManager);
+
+ mImpl.bindPreferenceToTile(mActivity, preference, tile, "123");
+ preference.getOnPreferenceClickListener().onPreferenceClick(null);
+
+ verify(mActivity).getFragmentManager();
+ }
+
+ @Test
public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() {
final Preference preference = new Preference(
ShadowApplication.getInstance().getApplicationContext());
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
index ce4dd68..7c49749 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
@@ -16,13 +16,11 @@
package com.android.settings.dashboard;
import android.content.Context;
-import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.drawable.Icon;
import android.os.Bundle;
import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.SettingsActivity;
+
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.core.PreferenceController;
@@ -31,8 +29,7 @@
import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile;
-import java.util.ArrayList;
-import java.util.List;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -42,6 +39,12 @@
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
+import java.util.ArrayList;
+import java.util.List;
+
+import java.util.ArrayList;
+import java.util.List;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
@@ -101,14 +104,14 @@
mTestFragment.onCreatePreferences(new Bundle(), "rootKey");
verify(mDisclosureMixin).addPreference(any(PreferenceScreen.class),
- any(DashboardTilePreference.class));
+ any(Preference.class));
}
@Test
public void displayTilesAsPreference_shouldNotAddTilesWithoutIntent() {
mTestFragment.onCreatePreferences(new Bundle(), "rootKey");
- verify(mTestFragment.mScreen, never()).addPreference(any(DashboardTilePreference.class));
+ verify(mTestFragment.mScreen, never()).addPreference(any(Preference.class));
}
@Test
@@ -116,7 +119,7 @@
mDashboardCategory.tiles = null;
mTestFragment.onCreatePreferences(new Bundle(), "rootKey");
- verify(mTestFragment.mScreen, never()).addPreference(any(DashboardTilePreference.class));
+ verify(mTestFragment.mScreen, never()).addPreference(any(Preference.class));
}
@Test
@@ -163,14 +166,19 @@
public static class TestFragment extends DashboardFragment {
+ private final PreferenceManager mPreferenceManager;
private final Context mContext;
- public PreferenceScreen mScreen;
- private List<PreferenceController> mControllers;
+ private final List<PreferenceController> mControllers;
+
+ public final PreferenceScreen mScreen;
public TestFragment(Context context) {
mContext = context;
+ mPreferenceManager = mock(PreferenceManager.class);
mScreen = mock(PreferenceScreen.class);
mControllers = new ArrayList<>();
+
+ when(mPreferenceManager.getContext()).thenReturn(mContext);
}
@Override
@@ -207,6 +215,11 @@
protected List<PreferenceController> getPreferenceControllers(Context context) {
return mControllers;
}
+
+ @Override
+ public PreferenceManager getPreferenceManager() {
+ return mPreferenceManager;
+ }
}
}
diff --git a/tests/robotests/src/com/android/settings/dashboard/conditional/DashboardTilePreferenceTest.java b/tests/robotests/src/com/android/settings/dashboard/conditional/DashboardTilePreferenceTest.java
deleted file mode 100644
index b726419..0000000
--- a/tests/robotests/src/com/android/settings/dashboard/conditional/DashboardTilePreferenceTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * 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.support.v7.preference.PreferenceViewHolder;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.LinearLayout;
-import com.android.settings.SettingsRobolectricTestRunner;
-import com.android.settings.TestConfig;
-import com.android.settings.dashboard.DashboardTilePreference;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
-
-import static com.google.common.truth.Truth.assertThat;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class DashboardTilePreferenceTest {
-
- private ShadowApplication mShadowApplication;
- private Context mContext;
- private PreferenceViewHolder mHolder;
- private DashboardTilePreference mPreference;
-
- @Before
- public void setUp() {
- mShadowApplication = ShadowApplication.getInstance();
- mContext = mShadowApplication.getApplicationContext();
- mPreference = new DashboardTilePreference(mContext);
-
- LayoutInflater inflater = LayoutInflater.from(mContext);
- final View view = inflater.inflate(mPreference.getLayoutResource(),
- new LinearLayout(mContext), false);
-
- mHolder = new PreferenceViewHolder(view);
- }
-
- @Test
- public void setHasDivider_shouldShowDivider() {
- mPreference.setDividerAllowedAbove(true);
- mPreference.setDividerAllowedBelow(true);
- mPreference.onBindViewHolder(mHolder);
-
- assertThat(mHolder.isDividerAllowedAbove()).isTrue();
- assertThat(mHolder.isDividerAllowedBelow()).isTrue();
- }
-
- @Test
- public void setHasNoDivider_shouldHideDivider() {
- mPreference.setDividerAllowedAbove(false);
- mPreference.setDividerAllowedBelow(false);
- mPreference.onBindViewHolder(mHolder);
-
- assertThat(mHolder.isDividerAllowedAbove()).isFalse();
- assertThat(mHolder.isDividerAllowedBelow()).isFalse();
- }
-}
diff --git a/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java b/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
new file mode 100644
index 0000000..eb5be8f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
@@ -0,0 +1,55 @@
+/*
+ * 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.utils;
+
+import android.content.Context;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class LocalClassLoaderContextThemeWrapperTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mBaseContext;
+ private LocalClassLoaderContextThemeWrapper mContextThemeWrapper;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void getClassLoader_shouldUseLocalClassLoader() {
+ mContextThemeWrapper = new LocalClassLoaderContextThemeWrapper(
+ LocalClassLoaderContextThemeWrapperTest.class, mBaseContext, 0);
+
+ assertThat(mContextThemeWrapper.getClassLoader()).isSameAs(
+ LocalClassLoaderContextThemeWrapperTest.class.getClassLoader());
+ }
+}