Merge "Remove hardcode for textcolor in spinner item."
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 097f207..4fb17f7 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"
@@ -646,7 +637,7 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.inputmethod.KeyboardLayoutPickerFragment2" />
+ android:value="com.android.settings.inputmethod.KeyboardLayoutPickerFragment" />
</activity>
<activity android:name="Settings$PhysicalKeyboardActivity"
@@ -1589,6 +1580,20 @@
android:value="true" />
</activity>
+ <activity android:name="Settings$EnterprisePrivacySettingsActivity"
+ android:label="@string/enterprise_privacy_settings_title"
+ android:icon="@drawable/ic_settings_about"
+ android:taskAffinity="com.android.settings"
+ android:parentActivityName="Settings">
+ <intent-filter android:priority="-1">
+ <action android:name="com.android.settings.action.SETTINGS" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.category"
+ android:value="com.android.settings.category.device" />
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.enterprise.EnterprisePrivacySettings" />
+ </activity>
+
<!-- Second and third-level settings -->
<!-- Lock screen settings -->
@@ -3199,18 +3204,35 @@
</activity>
<!-- Alias for IME & Language in new IA. Should merge into TargetActivity when launch -->
- <activity-alias android:name="LanguageAndInputDashboardAlias"
- android:targetActivity="Settings$InputMethodAndLanguageSettingsActivity">
- <intent-filter android:priority="250">
+ <activity android:name=".Settings$LanguageAndRegionSettingsActivity"
+ android:label="@string/language_and_region_settings_title"
+ android:icon="@drawable/ic_settings_language">
+ <intent-filter android:priority="260">
+ <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.language.LanguageAndRegionSettings"/>
+ <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+ android:value="true"/>
+ <!-- Inherit intent-filter from LanguageSettingsActivity -->
+ </activity>
+
+ <activity android:name=".Settings$InputAndGestureSettingsActivity"
+ android:label="@string/input_gesture_settings_title"
+ android:icon="@drawable/ic_settings_language">
+ <intent-filter android:priority="255">
<action android:name="com.android.settings.action.SETTINGS" />
</intent-filter>
- <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.inputmethod.InputMethodAndLanguageSettings" />
<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.inputmethod.InputAndGestureSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
- </activity-alias>
+ <!-- Inherit intent-filter from LanguageSettingsActivity -->
+ </activity>
<!-- Alias for Date & Time in new IA. Should merge into TargetActivity when launch -->
<activity-alias android:name="DateTimeDashboardAlias"
@@ -3239,18 +3261,17 @@
android:value="true" />
</activity-alias>
- <activity-alias android:name="GestureDashboardAlias"
- android:targetActivity="Settings$GestureSettingsActivity"
- android:enabled="@bool/config_gesture_settings_enabled">
- <intent-filter android:priority="70">
- <action android:name="com.android.settings.action.SETTINGS"/>
+ <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"/>
+ android:value="com.android.settings.category.ia.system" />
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.gestures.GestureSettings"/>
- <meta-data android:name="com.android.settings.summary"
- android:resource="@string/gesture_preference_summary"/>
+ 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"
@@ -3428,6 +3449,18 @@
android:value="true"/>
</activity-alias>
+ <!-- Alias for enterprise privacy setting in new IA. Should merge into TargetActivity when launch -->
+ <activity-alias android:name="EnterprisePrivacyDashboardAlias"
+ android:targetActivity="Settings$EnterprisePrivacySettingsActivity">
+ <intent-filter android:priority="-1">
+ <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.enterprise.EnterprisePrivacySettings" />
+ </activity-alias>
+
<!-- End of information architecture host activities -->
<service
diff --git a/res/color/sliding_tab_title_text_color.xml b/res/color/sliding_tab_title_text_color.xml
index 925ab97..d6bfbcc 100644
--- a/res/color/sliding_tab_title_text_color.xml
+++ b/res/color/sliding_tab_title_text_color.xml
@@ -17,6 +17,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false"
- android:color="#b3ffffff"/>
- <item android:color="@android:color/white"/>
+ android:color="?android:attr/textColorSecondary"/>
+ <item android:color="?android:attr/textColorPrimary"/>
</selector>
diff --git a/res/drawable/button_bg_transparent.xml b/res/drawable/button_bg_transparent.xml
new file mode 100644
index 0000000..d9c6fc8
--- /dev/null
+++ b/res/drawable/button_bg_transparent.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<inset xmlns:android="http://schemas.android.com/apk/res/android"
+ android:insetLeft="4dp"
+ android:insetTop="6dp"
+ android:insetRight="4dp"
+ android:insetBottom="6dp">
+ <ripple android:color="?android:attr/colorControlHighlight">
+ <item android:id="@android:id/mask">
+ <shape android:shape="rectangle">
+ <corners android:radius="2dp"/>
+ <solid android:color="@android:color/white"/>
+ </shape>
+ </item>
+ <item>
+ <shape android:shape="rectangle">
+ <solid android:color="#00ffffff"/>
+ <!--make button border solid color, nontransparent-->
+ <stroke android:color="?android:attr/colorAccent" android:width="1dp"/>
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+ </ripple>
+</inset>
\ No newline at end of file
diff --git a/res/layout-land/choose_lock_pattern.xml b/res/layout-land/choose_lock_pattern.xml
index 89e3d57..b4d5fce 100644
--- a/res/layout-land/choose_lock_pattern.xml
+++ b/res/layout-land/choose_lock_pattern.xml
@@ -41,37 +41,46 @@
android:layout_marginBottom="@dimen/suw_content_frame_padding_bottom"
android:orientation="vertical">
- <LinearLayout
- android:layout_width="match_parent"
+ <ImageView
+ android:id="@+id/suw_layout_icon"
+ style="@style/SuwGlifIcon"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="vertical">
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="0dp"
+ android:src="@drawable/ic_lock"/>
- <ImageView
- android:id="@+id/suw_layout_icon"
- style="@style/SuwGlifIcon"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="0dp"
- android:layout_marginEnd="0dp"
- android:src="@drawable/ic_lock" />
+ <ScrollView
+ android:id="@+id/scroll_layout_title_header"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="3.0">
- <TextView
- android:id="@+id/suw_layout_title"
- style="@style/SuwGlifHeaderTitle"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="0dp"
- android:layout_marginEnd="0dp" />
+ android:orientation="vertical">
- </LinearLayout>
+ <TextView
+ android:id="@+id/suw_layout_title"
+ style="@style/SuwGlifHeaderTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="0dp"/>
- <!-- header message -->
- <TextView android:id="@+id/headerText"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:gravity="start|bottom"
- android:textSize="18sp" />
+ <!-- header message -->
+ <TextView
+ android:id="@+id/headerText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:gravity="start|bottom"
+ android:textSize="18sp"/>
+
+ </LinearLayout>
+
+ </ScrollView>
<!-- footer can show a message, or confirm / restart buttons -->
<RelativeLayout
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/app_action_buttons.xml b/res/layout/app_action_buttons.xml
new file mode 100644
index 0000000..5b00205
--- /dev/null
+++ b/res/layout/app_action_buttons.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="bottom"
+ android:paddingTop="4dp"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:orientation="horizontal">
+
+ <Button
+ android:id="@+id/left_button"
+ style="@style/AppActionPrimaryButton"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:paddingEnd="8dp"/>
+
+ <Button
+ android:id="@+id/right_button"
+ style="@style/AppActionPrimaryButton"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:paddingStart="8dp"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/app_details.xml b/res/layout/app_details.xml
new file mode 100644
index 0000000..4e654fd
--- /dev/null
+++ b/res/layout/app_details.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/app_snippet"
+ style="@style/AppHeader"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal|top"
+ android:orientation="vertical"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+ <!-- App snippet with buttons -->
+ <ImageView
+ android:id="@android:id/icon"
+ android:layout_width="80dp"
+ android:layout_height="80dp"
+ android:scaleType="fitXY"
+ android:layout_gravity="center_horizontal"
+ android:antialias="true"/>
+
+ <TextView
+ android:id="@android:id/title"
+ style="@style/TextAppearance.AppHeaderTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:gravity="center_horizontal"
+ android:paddingTop="8dp"/>
+
+ <TextView
+ android:id="@android:id/summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:textAppearance="@android:style/TextAppearance.Material.Body1"
+ android:textColor="?android:attr/textColorSecondary"/>
+
+ <LinearLayout
+ android:id="@+id/app_detail_links"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="bottom"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:orientation="horizontal">
+
+ <ImageButton
+ android:id="@+id/left_button"
+ style="@style/AppHeaderLinkButton"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:paddingEnd="8dp"
+ android:tint="?android:attr/colorAccent"/>
+
+ <ImageButton
+ android:id="@+id/right_button"
+ style="@style/AppHeaderLinkButton"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:paddingStart="8dp"
+ android:src="@drawable/ic_settings_24dp"
+ android:tint="?android:attr/colorAccent"/>
+
+ </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/condition_card.xml b/res/layout/condition_card.xml
index 7c9e46d..4edd0f2 100644
--- a/res/layout/condition_card.xml
+++ b/res/layout/condition_card.xml
@@ -66,7 +66,7 @@
<LinearLayout
android:id="@+id/detail_group"
android:layout_width="match_parent"
- android:layout_height="0dp"
+ android:layout_height="wrap_content"
android:paddingStart="72dp"
android:visibility="gone"
android:orientation="vertical">
@@ -96,7 +96,7 @@
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:paddingBottom="8dp"
- style="?attr/buttonBarStyle"
+ style="?android:attr/buttonBarStyle"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
<Button
diff --git a/res/layout/confirm_lock_pattern_base.xml b/res/layout/confirm_lock_pattern_base.xml
index 7c960a2..e6b7887 100644
--- a/res/layout/confirm_lock_pattern_base.xml
+++ b/res/layout/confirm_lock_pattern_base.xml
@@ -29,47 +29,54 @@
android:layout_gravity="top|center_horizontal"
android:paddingTop="@dimen/confirm_credentials_top_padding">
- <TextView
- style="@android:style/TextAppearance.Material.Headline"
- android:id="@+id/headerText"
- android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
- android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
- android:layout_marginTop="?attr/confirmDeviceCredentialsTopMargin"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="?android:attr/colorAccent"/>
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="2">
- <TextView
- style="@android:style/TextAppearance.Material.Body1"
- android:id="@+id/detailsText"
- android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
- android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
- android:layout_marginTop="12dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
- <Button
- style="@android:style/Widget.Material.Button.Borderless"
- android:id="@+id/cancelButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/cancel"
- android:layout_marginStart="16dp"
- android:layout_marginEnd="16dp"
- android:layout_marginTop="16dp"/>
+ <TextView
+ style="@android:style/TextAppearance.Material.Headline"
+ android:id="@+id/headerText"
+ android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
+ android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
+ android:layout_marginTop="?attr/confirmDeviceCredentialsTopMargin"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="?android:attr/colorAccent"/>
- <View android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="0.5"/>
+ <TextView
+ style="@android:style/TextAppearance.Material.Body1"
+ android:id="@+id/detailsText"
+ android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
+ android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
+ android:layout_marginTop="12dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+
+ <Button
+ style="@android:style/Widget.Material.Button.Borderless"
+ android:id="@+id/cancelButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/cancel"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginTop="16dp"/>
+ </LinearLayout>
+
+ </ScrollView>
<com.android.internal.widget.LockPatternView
android:id="@+id/lockPattern"
android:layout_width="312dp"
- android:layout_height="312dp"
- android:layout_gravity="center_horizontal"
- android:layout_marginTop="-46dp"
- android:layout_marginBottom="-46dp"/>
+ android:layout_height="0dp"
+ android:layout_weight="3"
+ android:layout_gravity="center_horizontal"/>
<LinearLayout
android:layout_width="match_parent"
diff --git a/res/layout/dashboard_container_header.xml b/res/layout/dashboard_container_header.xml
index a9d78ed..37412e7 100644
--- a/res/layout/dashboard_container_header.xml
+++ b/res/layout/dashboard_container_header.xml
@@ -16,10 +16,8 @@
<com.android.settings.widget.SlidingTabLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dashboard_header_margin_start"
- android:layout_marginEnd="@dimen/dashboard_header_margin_end"
- android:background="?android:attr/colorPrimary"/>
+ android:layout_marginEnd="@dimen/dashboard_header_margin_end"/>
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/layout/magnification_video_preference.xml b/res/layout/magnification_video_preference.xml
new file mode 100644
index 0000000..fe7f26f
--- /dev/null
+++ b/res/layout/magnification_video_preference.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <ImageView
+ android:id="@+id/video_background"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:src="@drawable/accessibility_screen_magnification_background"
+ android:scaleType="fitXY"
+ android:adjustViewBounds="true"
+ android:importantForAccessibility="noHideDescendants" />
+
+ <VideoView
+ android:id="@+id/video"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignTop="@id/video_background"
+ android:layout_centerHorizontal="true"
+ android:importantForAccessibility="noHideDescendants" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/sliding_tab_title_view.xml b/res/layout/sliding_tab_title_view.xml
index 5df8378..5dead02 100644
--- a/res/layout/sliding_tab_title_view.xml
+++ b/res/layout/sliding_tab_title_view.xml
@@ -27,4 +27,5 @@
android:maxLines="1"
android:padding="@dimen/pager_tabs_title_padding"
android:textColor="@color/sliding_tab_title_text_color"
- android:textAllCaps="true"/>
+ android:textAllCaps="true"
+ android:theme="?android:attr/actionBarTheme"/>
diff --git a/res/layout/video_preference.xml b/res/layout/video_preference.xml
index fe7f26f..8b0e619 100644
--- a/res/layout/video_preference.xml
+++ b/res/layout/video_preference.xml
@@ -1,38 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
+<!--
+ Copyright (C) 2016 The Android Open Source Project
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+ 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
+ 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/gesture_animation_view"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="wrap_content"
+ android:background="@color/gestures_setting_background_color"
+ android:clipToPadding="false"
+ android:gravity="center"
+ android:minHeight="?android:attr/listPreferredItemHeightSmall"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:orientation="horizontal">
- <ImageView
- android:id="@+id/video_background"
- android:layout_width="match_parent"
+ <com.android.settings.widget.AspectRatioFrameLayout
+ android:layout_width="240dp"
android:layout_height="wrap_content"
- android:src="@drawable/accessibility_screen_magnification_background"
- android:scaleType="fitXY"
- android:adjustViewBounds="true"
- android:importantForAccessibility="noHideDescendants" />
+ android:padding="@dimen/gesture_animation_padding">
- <VideoView
- android:id="@+id/video"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignTop="@id/video_background"
- android:layout_centerHorizontal="true"
- android:importantForAccessibility="noHideDescendants" />
+ <TextureView
+ android:id="@+id/video_texture_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"/>
-</RelativeLayout>
\ No newline at end of file
+ <ImageView
+ android:id="@+id/video_preview_image"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scaleType="fitXY"/>
+
+ <ImageView
+ android:id="@+id/video_play_button"
+ android:layout_width="@dimen/gestures_play_button_size"
+ android:layout_height="@dimen/gestures_play_button_size"
+ android:src="@drawable/ic_gesture_play_button"
+ android:gravity="center"
+ android:layout_gravity="center"/>
+
+ </com.android.settings.widget.AspectRatioFrameLayout>
+
+</LinearLayout>
+
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 8c02775..df007ef 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Bekyk SIM-adresboek"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Kyk na vaste skakelnommers"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Bekyk skakeldiensnommers"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Kry PDP-lys"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"In diens"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Diens is nie beskikbaar nie"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Net noodoproepe"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"As jy hierdie diens stop sal sommige eienskappe van jou foon dalk nie behoorlik werk nie totdat jy dit eers aan- en af skakel."</string>
<string name="language_settings" msgid="8758655933029560944">"Tale en invoer"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Tale en invoer"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Sleutelbord en invoermetodes"</string>
<string name="phone_language" msgid="7116581601133118044">"Tale"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Netwerk en internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Gekoppelde toestelle"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Programme en kennisgewings"</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">"Gebruiker en rekeninge"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Verstekprogramme"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Taal: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Instellings"</string>
<string name="search_menu" msgid="6283419262313758339">"Soekinstellings"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Stel kennisgewings op"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Stel terug"</string>
<string name="show_silently" msgid="2222875799232222056">"Wys sonder klank"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Moenie \'n geluid maak, vibreer of hierdie kennisgewings vir \'n kort tyd op die huidige skerm wys nie."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Kennisgewingassistent"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Kennisgewingtoegang"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Programme kan nie kennisgewings lees nie"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Toestel as MIDI te gebruik"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Hierdie toestel as MIDI te gebruik"</string>
<string name="usb_use" msgid="3256040963685055320">"Gebruik USB om"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Niks is gekoppel nie"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Agtergrondkontrolering"</string>
<string name="background_check_title" msgid="4534254315824525593">"Volle agtergrondtoegang"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Gebruik teks van die skerm af"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Rekeninge"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Stel op"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Outo-sinkroniseer rekeningdata"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Outo-sinkroniseer persoonlike rekening se data"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Outo-sinkroniseer werkrekeningdata"</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index e42f043..e6e61f7 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"የሲም አድራሻ ደብተር አሳይ"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"በቋሚነት የሚደወልባቸው ቁጥሮች"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"የአገልግሎት መደወያ ቁጥሮችን ዕይ"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"የPDP ዝርዝርን አግኝ"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"በአገልግሎት ውስጥ"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"ከአገልግሎት ውጪ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"የአደጋ ጊዜ ጥሪዎች ብቻ"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"ይህን አገልግሎት ለማቆም ከፈለግክ አጥፍተህ እንደገና እስክታበራው ድረስ አንዳንድ የስልክህ ገጽታዎች በትክክል መስራት ያቆማሉ ።"</string>
<string name="language_settings" msgid="8758655933029560944">"ቋንቋዎች እና ግቤት"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ቋንቋዎች እና ግቤት"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"ሰሌዳ ቁልፍ እና የግቤት ዘዴዎች"</string>
<string name="phone_language" msgid="7116581601133118044">"ቋንቋዎች"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"ነባሪ መተግበሪያዎች"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"ማሳወቂያዎችን አዋቅር"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"ዳግም አስጀምር"</string>
<string name="show_silently" msgid="2222875799232222056">"በጸጥታ አሳይ"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ድምፅ አታሰማ፣ አትንዘር ወይም እነዚህን ማሳወቂያዎች ወደ የአሁኑ ማያ ገጽ አታሳይ።"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"የማሳወቂያ ረዳት"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"የማሳወቂያ መዳረሻ"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"መተግበሪያዎች ማሳወቂያዎችን ማንበብ አይችሉም"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"መሣሪያን እንደ MIDI ይጠቀሙ"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ይህን መሣሪያ እንደ MIDI ይጠቀሙበት"</string>
<string name="usb_use" msgid="3256040963685055320">"ዩኤስቢ ይጠቀሙ ለ"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"ዩ ኤስ ቢ"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"ምንም ነገር አልተገናኘም"</string>
<string name="background_check_pref" msgid="7550258400138010979">"የዳራ ፍተሻ"</string>
<string name="background_check_title" msgid="4534254315824525593">"ሙሉ የዳራ መዳረሻ"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"ከማያ ገጽ ላይ ጽሑፍ ተጠቀም"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"መለያዎች"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"አዋቅር"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"የመለያ ውሂብን በራስ-አስምር"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"የግል መለያ ውሂብን በራስ-አስምር"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"የስራ መለያ ውሂብን በራስ-አስምር"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index fdeafb1..68ab5a9 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -49,7 +49,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"عرض دفتر عناوين SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"عرض أرقام الاتصال الثابت"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"عرض أرقام اتصال الخدمة"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"الحصول على قائمة PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"قيد الخدمة"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"خارج نطاق الخدمة"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"مكالمات طوارئ فقط"</string>
@@ -1644,6 +1657,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"في حالة إيقاف هذه الخدمة، ربما تتوقف بعض ميزات الهاتف عن العمل بشكل صحيح حتى توقف تشغيلها، ثم تشغلها مرة أخرى."</string>
<string name="language_settings" msgid="8758655933029560944">"اللغات والإدخال"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"اللغات والإدخال"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"لوحة المفاتيح وأساليب الإدخال"</string>
<string name="phone_language" msgid="7116581601133118044">"اللغات"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2617,12 +2634,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"الشبكة والإنترنت"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"الأجهزة المرتبطة"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <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="7342549305933047317">"التطبيقات الافتراضية"</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>
@@ -2725,7 +2739,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"تهيئة الإشعارات"</string>
+ <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>
@@ -2753,6 +2767,7 @@
<string name="importance_reset" msgid="7458420788555607007">"إعادة الضبط"</string>
<string name="show_silently" msgid="2222875799232222056">"عرض بدون تنبيه صوتي"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"لا يُسمح بإصدار تنبيه صوتي أو بالاهتزاز أو بعرض هذه الإشعارات بسرعة على الشاشة الحالية."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"مساعد الإشعار"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"الدخول إلى الإشعارات"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"لا يُمكن للتطبيقات قراءة الإشعارات"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3069,6 +3084,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"يمكنك استخدام الجهاز باعتباره MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"يمكنك استخدام هذا الجهاز باعتباره MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"يمكنك استخدام USB في"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"لم يتم توصيل أي شيء"</string>
<string name="background_check_pref" msgid="7550258400138010979">"فحص الخلفية"</string>
<string name="background_check_title" msgid="4534254315824525593">"الوصول الكامل إلى الخلفية"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"استخدام النص من الشاشة"</string>
@@ -3419,4 +3436,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"الحسابات"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"تهيئة"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"مزامنة بيانات الحساب تلقائيًا"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"مزامنة الحساب الشخصي تلقائيًا"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"مزامنة حساب العمل تلقائيًا"</string>
</resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index a26195e..fec1d8c 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM Ünvanları Kitabçasına Baxın"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Stabil Yığım Nömrələrinə Baxın"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Xidmət Yığım Nömrələrinə Baxın"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP Siyahısı Əldə Edin"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Xidmətdə"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Xidmətdən Kənarda"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Yalnız təcili zənglər"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Bu xidməti dayandırdığınız halda telefonunuzun bəzi özəllikləri telefonu söndürüb yandıracağınız vaxta qədər düzgün işləməyə bilərlər."</string>
<string name="language_settings" msgid="8758655933029560944">"Dillər və daxiletmə"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Dillər və daxiletmə"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klaviatura & daxiletmə metodları"</string>
<string name="phone_language" msgid="7116581601133118044">"Dillər"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Şəbəkə və İnternet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Qoşulmuş cihazlar"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Tətbiq və bildirişlər"</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">"İstifadəçi və hesablar"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Defolt tətbiqlər"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Dil: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Ayarlar"</string>
<string name="search_menu" msgid="6283419262313758339">"Axtarış ayarları"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfiqurasiya bildirişləri"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Sıfırlayın"</string>
<string name="show_silently" msgid="2222875799232222056">"Səssiz göstərin"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Səs, vibrasiyanı deaktiv edin və ya bu bildirişlərə cari ekranınızda baxın."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Bildiriş köməkçisi"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Bildiriş girişi"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Tətbiqlər bildirişləri oxuya bilmir"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Cihazı MIDI kimi istifadə edin"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Bu cihazı MIDI kimi istifadə edin"</string>
<string name="usb_use" msgid="3256040963685055320">"USB istifadə edin"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Qoşulmayıb"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Arxa fon yoxlaması"</string>
<string name="background_check_title" msgid="4534254315824525593">"Tam arxa fon girişi"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Ekrandan mətn istifadə edin"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Hesablar"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfiqurasiya edin"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Hesab datasını avtomatik sinxronlaşdırın"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Şəxsi hesab datasını avtomatik sinxronlaşdırın"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"İş hesab datasını avtomatik sinxronlaşdırın"</string>
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 39ce84b..382c617 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -46,7 +46,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Prikaži SIM adresar"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Prikaži brojeve za fiksno biranje"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Prikaži brojeve za servisno biranje"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Preuzmi PDP listu"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Radi"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ne radi"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Samo hitni pozivi"</string>
@@ -1611,6 +1624,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ako zaustavite ovu uslugu, neke funkcije telefona će možda prestati ispravno da funkcionišu dok ne isključite i ponovo uključite telefon."</string>
<string name="language_settings" msgid="8758655933029560944">"Jezici i unos"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Jezici i unos"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastatura i metode unosa"</string>
<string name="phone_language" msgid="7116581601133118044">"Jezici"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2552,10 +2569,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Mreža i internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Povezani uređaji"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikacije i obaveštenja"</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">"Korisnik i nalozi"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Podrazumevane aplikacije"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Jezik: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Podešavanja"</string>
<string name="search_menu" msgid="6283419262313758339">"Pretražite podešavanja"</string>
@@ -2658,7 +2673,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Zameniti zvuke profila za Work?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Zameni"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Aktuelni zvuci profila za Work će biti zamenjeni zvucima sa ličnog profila"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurišite obaveštenja"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Podešavanja obaveštenja"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Napredna"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obaveštenja za Work"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsirajuće obaveštenje"</string>
@@ -2686,6 +2701,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Resetuj"</string>
<string name="show_silently" msgid="2222875799232222056">"Prikazivanje bez zvuka"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Nema nikakvog zvuka ni vibracije niti se ova obaveštenja nakratko prikazuju na aktuelnom ekranu."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Pomoćnik za obaveštenja"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Pristup obaveštenjima"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikacije ne mogu da čitaju obaveštenja"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2981,6 +2997,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Korišćenje uređaja u MIDI režimu"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Koristi ovaj uređaj kao MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Upotrebite USB za:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ništa nije povezano"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Provera u pozadini"</string>
<string name="background_check_title" msgid="4534254315824525593">"Potpun pristup pozadini"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Koristi tekst sa ekrana"</string>
@@ -3313,4 +3331,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Nalozi"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurišite"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autom. sinhr. podatke sa naloga"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Autom. sinhr. lične podatke sa naloga"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Autom. sinhr. poslovne podatke sa naloga"</string>
</resources>
diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml
index f81a1f9..a8505f0 100644
--- a/res/values-be-rBY/strings.xml
+++ b/res/values-be-rBY/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Прагляд адраснай кнігі на SIM-карце"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Прагляд фіксаваных нумароў"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Паглядзець сэрвісныя нумары набору"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Атрымаць спіс PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Працуе"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Не працуе"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Толькі экстранныя выклікі"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Калі вы спыніце гэтую службу, некаторыя функцыі тэлефона могуць перастаць працаваць правільна, пакуль вы не выключыце і зноў не ўключыце яго."</string>
<string name="language_settings" msgid="8758655933029560944">"Мовы і ўвод"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Мовы і ўвод"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Клавіятура і раскладкi"</string>
<string name="phone_language" msgid="7116581601133118044">"Мовы"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2574,10 +2591,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="7342549305933047317">"Стандартныя праграмы"</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,7 +2695,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Наладзіць апавяшчэнні"</string>
+ <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>
@@ -2708,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Скінуць"</string>
<string name="show_silently" msgid="2222875799232222056">"Паказваць бязгучна"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Не прайграваць гук, не вібрыраваць і не паказваць гэтыя апавяшчэнні хутка ў полі зроку на бягучым экране."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Памочнік па апавяшчэннях"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Доступ да апавяшчэнняў"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Прыкладанні не могуць чытаць апавяшчэнні"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3010,6 +3026,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Выкарыстоўваць прыладу ў якасці MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Выкарыстоўваць гэту прыладу ў якасці MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Выкарыстоўваць USB, каб"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Нічога не падключана"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Фонавая праверка"</string>
<string name="background_check_title" msgid="4534254315824525593">"Поўны доступ у фоне"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Выкарыстоўваць тэкст з экрана"</string>
@@ -3348,4 +3366,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Уліковыя запісы"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Наладзіць"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Аўтасiнхр. даных улік. запісу"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Аўтасінхр. дан. асаб. ул. зап."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Аўтасінхр. дан. прац. ул. зап."</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index fcfdbd1..f75410c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Преглед на указателя на SIM картата"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Преглед на фиксирани номера за набиране"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Преглед на номера за набиране на услуги"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Получаване на списък с PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"В употреба"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Не работи"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Само спешни обаждания"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ако спрете тази услуга, е възможно някои функции на телефона ви да спрат да работят правилно, докато не го изключите и включите отново."</string>
<string name="language_settings" msgid="8758655933029560944">"Езици и въвеждане"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Езици и въвеждане"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Клавиатура и методи за въвеждане"</string>
<string name="phone_language" msgid="7116581601133118044">"Езици"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"Приложения по подразбиране"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Конфигуриране на известията"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Нулиране"</string>
<string name="show_silently" msgid="2222875799232222056">"Показване без звук"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Без издаване на звук, вибриране или показване на тези известия на текущия екран."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Помощник за известия"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Достъп до известията"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Приложенията не могат да четат известията"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Използване на устройството като MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Използване на това устройство като MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Използване на USB за"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Нищо не е свързано"</string>
<string name="background_check_pref" msgid="7550258400138010979">"проверка на заден план"</string>
<string name="background_check_title" msgid="4534254315824525593">"пълен достъп до задния план"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Използване на текста от екрана"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Профили"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Конфигуриране"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Данни от профила: Авт. синхрон"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Данни от личния профил: Авт. синхрон"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Данни от служ. профил: Авт. синхрон"</string>
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 9bee460..9dae834 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM ঠিকানা বই দেখুন"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"স্থায়ী ডায়াল নম্বরগুলি দেখুন"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"সার্ভিস ডায়াল নম্বরগুলি দেখুন"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP তালিকা পান"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"পরিষেবায়"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"পরিষেবার বাইরে"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"শুধুমাত্র জরুরি কল"</string>
@@ -244,9 +257,9 @@
<string name="dlg_remove_locales_error_message" msgid="6697381512654262821">"অন্তত পক্ষে একটি পছন্দের ভাষা রাখুন"</string>
<string name="locale_not_translated" msgid="516862628177166755">"কিছু অ্যাপ্লিকেশানের মধ্যে নাও উপলব্ধ হতে পারে"</string>
<string name="action_drag_label_move_up" msgid="9052210023727612540">"উপরে সরান"</string>
- <string name="action_drag_label_move_down" msgid="7448713844582912157">"নীচে সরান"</string>
+ <string name="action_drag_label_move_down" msgid="7448713844582912157">"নিচে সরান"</string>
<string name="action_drag_label_move_top" msgid="557081389352288310">"শীর্ষে সরান"</string>
- <string name="action_drag_label_move_bottom" msgid="2468642142414126482">"নীচে সরান"</string>
+ <string name="action_drag_label_move_bottom" msgid="2468642142414126482">"নিচে সরান"</string>
<string name="action_drag_label_remove" msgid="2861038147166966206">"ভাষা সরান"</string>
<string name="activity_picker_label" msgid="6295660302548177109">"কার্যকলাপ বেছে নিন"</string>
<string name="device_info_label" msgid="6551553813651711205">"ডিভাইস তথ্য"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"আপনি যদি এই পরিষেবা বন্ধ করেন তাহলে আপনার ফোনের পাওয়ার বন্ধ করে আবার চালু না করা পর্যন্ত কিছু বৈশিষ্ট্য সঠিকভাবে কাজ করা বন্ধ করে দিতে পারে।"</string>
<string name="language_settings" msgid="8758655933029560944">"ভাষাগুলি এবং ইনপুট"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ভাষাগুলি এবং ইনপুট"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"কিবোর্ড ও ইনপুট পদ্ধতি"</string>
<string name="phone_language" msgid="7116581601133118044">"ভাষাগুলি"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2529,11 +2546,9 @@
</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>
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <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="7342549305933047317">"ডিফল্ট অ্যাপ্স"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"বিজ্ঞপ্তি কনফিগার করুন"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"পুনরায় সেট করুন"</string>
<string name="show_silently" msgid="2222875799232222056">"নিঃশব্দে দেখান"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"শব্দ, কম্পন করে না বা বর্তমান স্ক্রীনে এই বিজ্ঞপ্তিগুলিকে দেখানো হয় না৷"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"বিজ্ঞপ্তি সহায়ক"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"বিজ্ঞপ্তির অ্যাক্সেস"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"অ্যাপ্লিকেশানগুলি বিজ্ঞপ্তি পড়তে পারে না"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"MIDI হিসাবে ডিভাইসটি ব্যবহার করুন"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"MIDI হিসাবে এই ডিভাইসটি ব্যবহার করুন"</string>
<string name="usb_use" msgid="3256040963685055320">"এটি করতে USB ব্যবহার করুন"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"কোনো কিছুই সংযুক্ত নেই"</string>
<string name="background_check_pref" msgid="7550258400138010979">"পটভূমি পরীক্ষা করুন"</string>
<string name="background_check_title" msgid="4534254315824525593">"সম্পূর্ণ পটভূমি অ্যাক্সেস করুন"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"স্ক্রীন থেকে পাঠ্য ব্যবহার করুন"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"অ্যাকাউন্ট"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"কনফিগার"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"অ্যাকাউন্টের ডেটা স্বতঃসিঙ্ক"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ব্যক্তিগত অ্যাকাউন্টের ডেটা স্বতঃসিঙ্ক"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"কাজের অ্যাকাউন্টের ডেটা স্বতঃসিঙ্ক"</string>
</resources>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
index 1c5fb01..deb18ad 100644
--- a/res/values-bs-rBA/strings.xml
+++ b/res/values-bs-rBA/strings.xml
@@ -46,7 +46,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Prikaži SIM adresar"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Prikaži brojeve fiksnog biranja"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Prikaži brojeve biranja usluga"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Preuzmi PDP spisak"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Aktivan"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ne radi"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Samo pozivi za hitne slučajeve"</string>
@@ -1611,6 +1624,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ako zaustavite ovu uslugu, neke funkcije telefona će možda prestati pravilno funkcionirati sve dok ne isključite i zatim ponovo uključite tablet."</string>
<string name="language_settings" msgid="8758655933029560944">"Jezici i unos"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Jezici i unos"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastatura i načini unosa"</string>
<string name="phone_language" msgid="7116581601133118044">"Jezici"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2552,10 +2569,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Mreža i internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Povezani uređaji"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikacije i obavještenja"</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">"Korisnik i računi"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Zadane aplikacije"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Jezik: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Postavke"</string>
<string name="search_menu" msgid="6283419262313758339">"Postavke pretraživanja"</string>
@@ -2658,7 +2673,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfiguriraj obavještenja"</string>
+ <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>
@@ -2686,6 +2701,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Ponovno pokretanje"</string>
<string name="show_silently" msgid="2222875799232222056">"Pokaži bez zvuka"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ne oglašavaj ova obavještenja zvukom, vibriranjem niti kratkim prikazom na aktuelnom ekranu."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Pomoćnik za obavještenja"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Pristup obavještenjima"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikacije ne mogu čitati obavještenja"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2981,6 +2997,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Koristi uređaj za MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Uređaj se koristi za rad u MIDI modu"</string>
<string name="usb_use" msgid="3256040963685055320">"Koristi USB za"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ništa nije povezano"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Provjera u pozadini"</string>
<string name="background_check_title" msgid="4534254315824525593">"Pun pristup pozadini"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Koristi tekst sa ekrana"</string>
@@ -3313,4 +3331,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Računi"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfiguriraj"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Auto. sinhr. podataka o računu"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Auto. sinhr. lič. podat. rač."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Auto. sinhr. podat. posl. rač."</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index acb1e2c..7f4131d 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Mostra la llibreta d\'adreces de la SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Mostra els números de marcatge fix"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualitza els números de marcatge de serveis"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Obtén la llista PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"En servei"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Sense servei"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Només trucades d\'emergència"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Si atures aquest servei, és possible que hi hagi funcions del telèfon que deixin de funcionar correctament fins que no l\'apaguis i el tornis a engegar."</string>
<string name="language_settings" msgid="8758655933029560944">"Idiomes i introducció de text"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Idiomes i introducció de text"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teclat i mètodes d\'introducció"</string>
<string name="phone_language" msgid="7116581601133118044">"Idiomes"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Xarxa i Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositius connectats"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplicacions i notificacions"</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">"Usuari i comptes"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplicacions predeterminades"</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ó"</string>
<string name="search_menu" msgid="6283419262313758339">"Configuració de la cerca"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Subst. sons del perfil prof.?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Substitueix"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"El sons actuals del teu perfil professional se substituiran pels del perfil personal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configura les notificacions"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferències de notificació"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançada"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificacions de la feina"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Llum de notificació"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Restableix"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostra de manera silenciosa"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"No reprodueix cap so, no vibra ni mostra aquestes notificacions a la pantalla actual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistent de notificacions"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Accés a les notificacions"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Les aplicacions no poden llegir notificacions"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"fer servir el dispositiu com a MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"fer servir aquest dispositiu com a MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Utilitza l\'USB per"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"No hi ha cap dispositiu connectat"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Comprovació en segon pla"</string>
<string name="background_check_title" msgid="4534254315824525593">"Accés complet en segon pla"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Ús del text de la pantalla"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Comptes"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configuració"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinc. aut. de dades del compte"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinc. aut. dades compte pers."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinc. aut. dades compte feina"</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0c8fcce..2021a63 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Zobrazit adresář SIM karty"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Zobrazit povolená telefonní čísla"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Zobrazit čísla volání služeb"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Zobrazit seznam PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"V provozu"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Mimo provoz"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Pouze tísňová volání"</string>
@@ -811,7 +824,7 @@
<string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP adresa"</string>
<string name="wifi_saved_access_points_label" msgid="2013409399392285262">"Uložené sítě"</string>
<string name="wifi_advanced_settings_label" msgid="3654366894867838338">"Nastavení IP adresy"</string>
- <string name="wifi_advanced_not_available" msgid="5823045095444154586">"Pokročilá nastavení sítě Wi-Fi nejsou pro tohoto uživatele dostupná."</string>
+ <string name="wifi_advanced_not_available" msgid="5823045095444154586">"Rozšířená nastavení sítě Wi-Fi nejsou pro tohoto uživatele dostupná."</string>
<string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Uložit"</string>
<string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Zrušit"</string>
<string name="wifi_ip_settings_invalid_ip_address" msgid="2513142355364274970">"Zadejte platnou IP adresu."</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Pokud tuto službu zastavíte, může se stát, že některé funkce tabletu nebudou fungovat správně, dokud telefon nevypnete a opět nezapnete."</string>
<string name="language_settings" msgid="8758655933029560944">"Jazyky a zadávání"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Jazyky a zadávání"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klávesnice a metody zadávání"</string>
<string name="phone_language" msgid="7116581601133118044">"Jazyky"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2574,10 +2591,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Síť a internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Připojená zařízení"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikace a oznámení"</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">"Uživatel a účty"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Výchozí aplikace"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Jazyk: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Nastavení"</string>
<string name="search_menu" msgid="6283419262313758339">"Nastavení vyhledávání"</string>
@@ -2680,7 +2695,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Nahradit zvuky prac. profilu?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Nahradit"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Zvuky aktuálního pracovního profilu budou nahrazeny zvuky z osobního profilu"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurovat oznámení"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Nastavení oznámení"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Rozšířená nastavení"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Pracovní oznámení"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Blikat kontrolkou oznámení"</string>
@@ -2708,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Resetovat"</string>
<string name="show_silently" msgid="2222875799232222056">"Zobrazovat tiše"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Na tato oznámení nebudete upozorněni zvukem ani vibrací, ani se nebude zobrazovat jejich náhled na aktuální obrazovce."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asistent oznámení"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Přístup k oznámením"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikace nesmí číst oznámení"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3010,6 +3026,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Režim MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Toto zařízení se použije v režimu MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Účel připojení přes USB:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nic není připojeno"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Kontrola pozadí"</string>
<string name="background_check_title" msgid="4534254315824525593">"Úplný přístup k pozadí"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Použití textu z obrazovky"</string>
@@ -3348,4 +3366,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Účty"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurace"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Aut. synchronizovat data účtu"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Aut. synch. data osobního účtu"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Aut. synch. data prac. účtu"</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index a90323c..58fd3e8 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Vis adressebog på SIM-kortet"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vis numre til begrænset opkald"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Vis tjenesten faste opkaldsnumre"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Hent PDP-liste"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"I drift"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ude af drift"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Kun nødopkald"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Hvis du stopper denne tjeneste, kan nogle af funktionerne på din tablet holde op med at fungere korrekt, indtil du slukker og derefter tænder den igen."</string>
<string name="language_settings" msgid="8758655933029560944">"Sprog og indtastning"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Sprog og indtastning"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastatur og inputmetoder"</string>
<string name="phone_language" msgid="7116581601133118044">"Sprog"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Netværk & internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Tilsluttede enheder"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps og underretninger"</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">"Bruger og konti"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Standardapps"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Sprog: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Indstillinger"</string>
<string name="search_menu" msgid="6283419262313758339">"Søgeindstillinger"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurer underretninger"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Nulstil"</string>
<string name="show_silently" msgid="2222875799232222056">"Vis lydløst"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Undlad at give lyd, vibrere eller vise disse underretninger på den aktuelle skærm."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Underretningsassistent"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Adgang til underretninger"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apps kan ikke læse underretninger"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Brug enheden som MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Brug denne enhed som MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Brug USB til"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ingen enheder er tilsluttet via USB"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Baggrundstjek"</string>
<string name="background_check_title" msgid="4534254315824525593">"Fuld baggrundsadgang"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Brug tekst fra skærmen"</string>
@@ -3094,7 +3112,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>
@@ -3105,8 +3123,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>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Konti"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurer"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Automatisk synk. af kontodata"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Aut. synk. af data på personlig konto"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Aut. synk. af arbejdskontodata"</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 6c09730..5ca52ab 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM-Adressbuch anzeigen"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Zugelassene Rufnummern anzeigen"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Servicerufnummern anzeigen"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP-Liste abrufen"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"In Betrieb"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Außer Betrieb"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Nur Notrufe"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Wenn du diesen Dienst beendest, funktionieren möglicherweise einige Funktionen deines Telefons nicht mehr richtig, bis du es aus- und wieder einschaltest."</string>
<string name="language_settings" msgid="8758655933029560944">"Sprachen & Eingabe"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Sprachen & Eingabe"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastatur & Eingabemethoden"</string>
<string name="phone_language" msgid="7116581601133118044">"Sprachen"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Netzwerk & Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Verbundene Geräte"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps & Benachrichtigungen"</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">"Nutzer & Konten"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Standard-Apps"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Sprache: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Einstellungen"</string>
<string name="search_menu" msgid="6283419262313758339">"Sucheinstellungen"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Töne für Arbeitsprofil ersetzen?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Ersetzen"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Deine aktuellen Töne für das Arbeitsprofil werden durch die Töne für das persönliche Profil ersetzt"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Benachrichtigungen"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Benachrichtigungseinstellungen"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Erweitert"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Geschäftliche Benachrichtigungen"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Benachrichtigungslicht"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Zurücksetzen"</string>
<string name="show_silently" msgid="2222875799232222056">"Ohne Ton anzeigen"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Diese Benachrichtigungen nicht auf dem aktuellen Bildschirm einblenden und keinen Ton sowie keine Vibration dafür erzeugen."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Benachrichtigungsassistent"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Benachrichtigungszugriff"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apps können keine Benachrichtigungen lesen."</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2672,7 +2688,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>
@@ -2954,6 +2970,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Gerät als MIDI verwenden"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Dieses Gerät als MIDI verwenden"</string>
<string name="usb_use" msgid="3256040963685055320">"USB für Folgendes verwenden"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nichts angeschlossen"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Hintergrundprüfung"</string>
<string name="background_check_title" msgid="4534254315824525593">"Vollständiger Zugriff auf Hintergrund"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Text auf Bildschirm verwenden"</string>
@@ -3194,7 +3212,7 @@
<string name="support_escalation_title" msgid="4111071371281023145">"Wir sind für dich da"</string>
<string name="support_escalation_24_7_title" msgid="8118369197749832074">"Wir sind täglich rund um die Uhr für dich da"</string>
<string name="support_escalation_24_7_content_description" msgid="3772776213036994533">"Wir sind täglich rund um die Uhr für dich da"</string>
- <string name="support_escalation_summary" msgid="8473084168776014405">"Unser Kundenservice hilft dir beim Lösen von Problemen"</string>
+ <string name="support_escalation_summary" msgid="8473084168776014405">"Unser Kundenservice hilft dir gerne weiter"</string>
<string name="support_escalation_24_7_summary" msgid="2802773279262547187">"Unser Kundenservice steht täglich rund um die Uhr zur Verfügung"</string>
<string name="support_escalation_closed_summary" msgid="2240967274380168303">"Durchsuche die Hilfe oder versuche es noch einmal während der Geschäftszeiten des Supports (Ortszeit):<br><b><xliff:g id="OPERATION_HOURS">%s</xliff:g></b>"</string>
<string name="support_escalation_no_internet_summary" msgid="2526082812336597989">"Geschäftszeiten des telefonischen Supports (Ortszeit)<br><b><xliff:g id="OPERATION_HOURS">%s</xliff:g></b>"</string>
@@ -3280,4 +3298,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Konten"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurieren"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Kontodaten autom. synchronisieren"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Daten des privaten Kontos autom. synchronisieren"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Daten des Arbeitskontos autom. synchronisieren"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 8b0b17e..cb33d7a 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Προβολή βιβλίου διευθύνσεων κάρτας SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Προβολή προκαθορισμένων αριθμών κλήσης"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Προβολή αριθμών κλήσης υπηρεσίας"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Λήψη λίστας PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Σε υπηρεσία"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Εκτός υπηρεσίας"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Μόνο κλήσεις έκτακτης ανάγκης"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Αν διακόψετε τη λειτουργία αυτής της συσκευής, ενδέχεται να σταματήσει η σωστή εκτέλεση ορισμένων λειτουργιών του τηλεφώνου σας, μέχρι να το απενεργοποιήσετε και να το ενεργοποιήσετε ξανά."</string>
<string name="language_settings" msgid="8758655933029560944">"Γλώσσες & εισαγωγή"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Γλώσσες & εισαγωγή"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Πληκτρολογιο & μεθοδοι εισοδου"</string>
<string name="phone_language" msgid="7116581601133118044">"Γλώσσες"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"Προεπιλεγμένες εφαρμογές"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Διαμόρφωση ειδοποιήσεων"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Επαναφορά"</string>
<string name="show_silently" msgid="2222875799232222056">"Εμφάνιση χωρίς ειδοποίηση"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Να μην συνοδεύονται αυτές οι ειδοποιήσεις από ήχο, δόνηση ή προβολή σε αναδυόμενο παράθυρο κατά την προβολή τους στην τρέχουσα οθόνη."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Βοηθός ειδοποιήσεων"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Πρόσβαση ειδοπ/σεων"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Οι εφαρμογές δεν μπορούν να διαβάσουν ειδοποιήσεις"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Χρήση συσκευής ως MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Χρήση αυτής της συσκευής ως MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Χρήση USB για"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Δεν συνδέθηκε τίποτα"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Έλεγχος παρασκηνίου"</string>
<string name="background_check_title" msgid="4534254315824525593">"Πλήρης πρόσβαση στο παρασκήνιο"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Χρήση κειμένου από την οθόνη"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Λογαριασμοί"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Διαμόρφωση"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Αυτ. συγχρ. δεδομένων λογαρ."</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Αυτ. συγχρ. δεδομ. πρ. λογαρ."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Αυτ. συγχρ. δεδ. λογαρ. εργ."</string>
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 5865af6..243bafe 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"View SIM address book"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"View fixed dialling numbers"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"View Service Dialling Numbers"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Get PDP list"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"In service"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Out of service"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Emergency Calls Only"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"If you stop this service, some features of your phone may stop working correctly until you turn it off and then on again."</string>
<string name="language_settings" msgid="8758655933029560944">"Languages & input"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Languages & input"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Keyboard & input methods"</string>
<string name="phone_language" msgid="7116581601133118044">"Languages"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Network & Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Connected devices"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps & notifications"</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">"User & accounts"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Default Apps"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Language: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Settings"</string>
<string name="search_menu" msgid="6283419262313758339">"Search Settings"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Replace work profile sounds?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Replace"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Your current work profile sounds will be replaced with your personal profile sounds"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configure notifications"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Notification preferences"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work notifications"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulse notification light"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Reset"</string>
<string name="show_silently" msgid="2222875799232222056">"Show silently"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Don\'t make sound, vibrate or peek these notifications into view on the current screen."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Notification assistant"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Notification access"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apps cannot read notifications"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Use device as MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Use this device as MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Use USB to"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nothing connected"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Background check"</string>
<string name="background_check_title" msgid="4534254315824525593">"Full background access"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Use text from screen"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Accounts"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configure"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Auto-sync account data"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Auto-sync personal account data"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Auto-sync work account data"</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index ba050f2..38352e3 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"View SIM address book"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"View fixed dialling numbers"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"View Service Dialling Numbers"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Get PDP list"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"In service"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Out of service"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Emergency Calls Only"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"If you stop this service, some features of your phone may stop working correctly until you turn it off and then on again."</string>
<string name="language_settings" msgid="8758655933029560944">"Languages & input"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Languages & input"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Keyboard & input methods"</string>
<string name="phone_language" msgid="7116581601133118044">"Languages"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Network & Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Connected devices"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps & notifications"</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">"User & accounts"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Default Apps"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Language: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Settings"</string>
<string name="search_menu" msgid="6283419262313758339">"Search Settings"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Replace work profile sounds?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Replace"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Your current work profile sounds will be replaced with your personal profile sounds"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configure notifications"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Notification preferences"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work notifications"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulse notification light"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Reset"</string>
<string name="show_silently" msgid="2222875799232222056">"Show silently"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Don\'t make sound, vibrate or peek these notifications into view on the current screen."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Notification assistant"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Notification access"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apps cannot read notifications"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Use device as MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Use this device as MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Use USB to"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nothing connected"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Background check"</string>
<string name="background_check_title" msgid="4534254315824525593">"Full background access"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Use text from screen"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Accounts"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configure"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Auto-sync account data"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Auto-sync personal account data"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Auto-sync work account data"</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index ba050f2..38352e3 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"View SIM address book"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"View fixed dialling numbers"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"View Service Dialling Numbers"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Get PDP list"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"In service"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Out of service"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Emergency Calls Only"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"If you stop this service, some features of your phone may stop working correctly until you turn it off and then on again."</string>
<string name="language_settings" msgid="8758655933029560944">"Languages & input"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Languages & input"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Keyboard & input methods"</string>
<string name="phone_language" msgid="7116581601133118044">"Languages"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Network & Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Connected devices"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps & notifications"</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">"User & accounts"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Default Apps"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Language: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Settings"</string>
<string name="search_menu" msgid="6283419262313758339">"Search Settings"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Replace work profile sounds?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Replace"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Your current work profile sounds will be replaced with your personal profile sounds"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configure notifications"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Notification preferences"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work notifications"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulse notification light"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Reset"</string>
<string name="show_silently" msgid="2222875799232222056">"Show silently"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Don\'t make sound, vibrate or peek these notifications into view on the current screen."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Notification assistant"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Notification access"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apps cannot read notifications"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Use device as MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Use this device as MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Use USB to"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nothing connected"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Background check"</string>
<string name="background_check_title" msgid="4534254315824525593">"Full background access"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Use text from screen"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Accounts"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configure"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Auto-sync account data"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Auto-sync personal account data"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Auto-sync work account data"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 7bd045b..f8717cb 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Ver libreta de direcciones de SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números fijos"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números del servicio técnico"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Obtener lista PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"En servicio"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Fuera de servicio"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Solo emergencia"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Si detienes este servicio, algunas funciones del dispositivo podrían dejar de ejecutarse correctamente hasta que lo apagues y enciendas nuevamente."</string>
<string name="language_settings" msgid="8758655933029560944">"Idiomas y entradas"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Idiomas y entradas"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teclado y métodos de entrada"</string>
<string name="phone_language" msgid="7116581601133118044">"Idiomas"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Internet y red"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositivos conectados"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps y notificaciones"</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">"Usuario y cuentas"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Apps predeterminadas"</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 búsqueda"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"¿Reemplazar sonidos de perfil?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Reemplazar"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Se reemplazarán los sonidos actuales de tu perfil de trabajo por los de tu perfil personal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurar las notificaciones"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferencias de notificaciones"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avanzada"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificaciones de trabajo"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Luz de notificación"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Restablecer"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostrar sin emitir sonido"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"No emitir sonido, vibrar ni mostrar estas notificaciones en la pantalla actual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asistente de notificaciones"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Acceso a notificaciones"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Las aplicaciones no pueden leer las notificaciones."</string>
<!-- String.format failed for translation -->
@@ -2950,6 +2966,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Usar dispositivo como MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Usar este dispositivo como MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Usar USB para"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"No hay dispositivos conectados"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Verificación en segundo plano"</string>
<string name="background_check_title" msgid="4534254315824525593">"Acceso en segundo plano completo"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Utilizar el texto de la pantalla"</string>
@@ -3276,4 +3294,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Cuentas"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configuración"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sincronizar datos de la cuenta automáticamente"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sincronizar datos de la cuenta personal automáticamente"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sincronizar datos de la cuenta de trabajo automáticamente"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 3faa174..808f060 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Ver libreta de direcciones de tarjeta SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números de marcación fija"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números de marcación de servicio"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Obtener lista PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"En servicio"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Fuera de servicio"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Solo llamadas de emergencia"</string>
@@ -1598,6 +1611,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Si detienes este servicio, es posible que algunas funciones del teléfono dejen de funcionar correctamente hasta que reinicies el dispositivo."</string>
<string name="language_settings" msgid="8758655933029560944">"Idiomas e introducción de texto"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Idiomas e introducción de texto"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teclado y métodos de introducción"</string>
<string name="phone_language" msgid="7116581601133118044">"Idiomas"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2528,10 +2545,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Red e Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositivos conectados"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplicaciones y notificaciones"</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">"Cuentas de usuario"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplicaciones predeterminadas"</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">"Ajustes"</string>
<string name="search_menu" msgid="6283419262313758339">"Ajustes de búsqueda"</string>
@@ -2634,7 +2649,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"¿Sustituir sonidos del perfil de trabajo?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Sustituir"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Se sustituirán los sonidos actuales del perfil de trabajo por los sonidos del perfil personal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurar notificaciones"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferencias de notificaciones"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Opciones avanzadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificaciones de trabajo"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Usar LED de notificaciones"</string>
@@ -2662,6 +2677,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Restablecer"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostrar de forma silenciosa"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"No emitir sonido, vibrar ni mostrar notificaciones en la pantalla actual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asistente de notificaciones"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Acceso a notificaciones"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Las aplicaciones no pueden leer notificaciones"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2950,6 +2966,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Utilizar dispositivo como MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Utilizar este dispositivo como MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Utilizar USB para"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"No hay nada conectado"</string>
<string name="background_check_pref" msgid="7550258400138010979">"comprobación de uso en segundo plano"</string>
<string name="background_check_title" msgid="4534254315824525593">"Acceso completo en segundo plano"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Usar texto de la pantalla"</string>
@@ -3276,4 +3294,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Cuentas"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurar"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sincr. autom. datos de cuenta"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sincr. autom. datos personales"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sincr. autom. datos trabajo"</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 1509e0c..3638625 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM-kaardi aadressiraamatu kuvamine"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Kuva määratud valimisnumbrid"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Kuva teenuse valimise numbrid"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP loendi hankimine"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Teenus toimib"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Teenus ei toimi"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Ainult hädaabikõned"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Kui teenuse peatate, ei pruugi mõned telefoni funktsioonid õigesti töötada, kuni selle välja ja seejärel uuesti sisse lülitate."</string>
<string name="language_settings" msgid="8758655933029560944">"Keeled ja sisend"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Keeled ja sisend"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klaviatuur ja sisestusmeetodid"</string>
<string name="phone_language" msgid="7116581601133118044">"Keeled"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Võrk ja Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Ühendatud seadmed"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Rakendused ja märguanded"</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">"Kasutaja ja kontod"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Vaikerakendused"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Keel: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Seaded"</string>
<string name="search_menu" msgid="6283419262313758339">"Otsingu seaded"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Kas asendada tööprofiili helid?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Asenda"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Teie praegused tööprofiili helid asendatakse isikliku profiili helidega"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Märguannete seadistamine"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Märguannete eelistused"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Täpsemad"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Töö märguanded"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Vilkuv märguande tuli"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Lähtesta"</string>
<string name="show_silently" msgid="2222875799232222056">"Kuva vaikselt"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ära tee heli, vibreeri ega kuva neid märguandeid praeguse ekraani servas."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Märguannete abi"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Juurdepääs märguannetele"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Rakendused ei suuda märguandeid lugeda"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Seadme kasutamine MIDI-na"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Kasutage seda seadet MIDI-na"</string>
<string name="usb_use" msgid="3256040963685055320">"Kasutage USB-d järgmiseks."</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Midagi pole ühendatud"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Taustakontroll"</string>
<string name="background_check_title" msgid="4534254315824525593">"Täielik juurdepääs taustale"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Ekraanil oleva teksti kasutamine"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Kontod"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Seadistamine"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Kontoandmete autom. sünkroon."</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Isikl. konto andm. aut. sünkr."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Töö konto andm. autom. sünkr."</string>
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 911ca98..8297af0 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Ikusi SIMeko kontaktuak"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ikusi markatze finkoko zenbakiak"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ikusi zerbitzuaren markatze-zenbakiak"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Lortu PDP zerrenda"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Erabilgarri"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ez erabilgarri"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Larrialdi-deiak soilik"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Zerbitzua gelditzen baduzu, agian telefonoko eginbide batzuk behar bezala funtzionatzeari utziko diote, telefonoa itzali eta berriro piztu arte."</string>
<string name="language_settings" msgid="8758655933029560944">"Hizkuntza eta idazketa"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Hizkuntza eta idazketa"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teklatua eta idazketa-metodoak"</string>
<string name="phone_language" msgid="7116581601133118044">"Hizkuntzak"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Sareak eta Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Konektatutako gailuak"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikazioak eta jakinarazpenak"</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">"Erabiltzailea eta kontuak"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplikazio lehenetsiak"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Hizkuntza: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Ezarpenak"</string>
<string name="search_menu" msgid="6283419262313758339">"Bilaketa-ezarpenak"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfiguratu jakinarazpenak"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Berrezarri"</string>
<string name="show_silently" msgid="2222875799232222056">"Erakutsi soinurik egin gabe"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ez egin soinurik edo dardararik eta ez agerrarazi jakinarazpenak uneko pantailan"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Jakinarazpenen laguntzailea"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Jakinarazpenetarako sarbidea"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikazioek ezin dituzte jakinarazpenak irakurri"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Gailua MIDI gisa erabiltzeko"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Erabili gailua MIDI gisa"</string>
<string name="usb_use" msgid="3256040963685055320">"USB konexioaren erabilerak"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ez dago ezer konektatuta"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Atzeko planoko egiaztapena"</string>
<string name="background_check_title" msgid="4534254315824525593">"Atzeko planorako sarbide osoa"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Erabili pantailako testua"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Kontuak"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfiguratu"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinkronizatu automatikoki kontua"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinkronizatu automatikoki kontu pertsonala"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinkronizatu automatikoki laneko kontua"</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index a33843b..bf70d50 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"مشاهده دفترچه نشانی سیمکارت"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"مشاهده شمارههای شمارهگیری ثابت"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"مشاهده شمارههای شماره گیری سرویس"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"دریافت فهرست PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"سرویس دارد"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"خارج از سرویس"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"فقط تماسهای اضطراری"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"اگر این سرویس را متوقف کنید، برخی از قابلیتهای گوشی شما ممکن است تا زمانی که گوشی را خاموش و سپس دوباره روشن کنید، بهدرستی کار نکنند."</string>
<string name="language_settings" msgid="8758655933029560944">"زبانها و ورودی"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"زبانها و ورودی"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"صفحهکلید و روشهای ورودی"</string>
<string name="phone_language" msgid="7116581601133118044">"زبانها"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2529,12 +2546,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"شبکه و اینترنت"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"دستگاههای متصل"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <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="7342549305933047317">"برنامههای پیشفرض"</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>
@@ -2637,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"پیکربندی اعلانها"</string>
+ <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>
@@ -2665,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"بازنشانی"</string>
<string name="show_silently" msgid="2222875799232222056">"نمایش بهصورت بیصدا"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"بدون صدا و لرزش یا نمایش این اعلانها در صفحهنمایش کنونی."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"دستیار اعلان"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"دسترسی به اعلان"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"برنامهها نمیتوانند اعلانها را بخوانند"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2953,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"استفاده از دستگاه بهعنوان MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"استفاده از این دستگاه بهعنوان MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"استفاده از USB برای"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"چیزی متصل نیست"</string>
<string name="background_check_pref" msgid="7550258400138010979">"بررسی پسزمینه"</string>
<string name="background_check_title" msgid="4534254315824525593">"دسترسی کامل به پسزمینه"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"استفاده از نوشتار صفحه"</string>
@@ -3279,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"حسابها"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"پیکربندی"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"همگامسازی خودکار دادههای حساب"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"همگامسازی خودکار دادههای حساب شخصی"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"همگامسازی خودکار دادههای حساب کاری"</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 3c9ae8c..3faa4f4 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Näytä SIM-kortin osoitekirja"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Näytä sallitut numerot"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Näytä sallitut palvelunumerot"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Näytä PDP-luettelo"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Kuuluvuusalueella"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Katvealueella"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Vain hätäpuhelut"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Jos pysäytät palvelun, jotkut puhelimen toiminnot eivät välttämättä enää toimi oikein, kunnes sammutat laitteen ja käynnistät sen uudelleen."</string>
<string name="language_settings" msgid="8758655933029560944">"Kielet ja syöttötapa"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Kielet ja syöttötapa"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Näppäimistö ja syöttötavat"</string>
<string name="phone_language" msgid="7116581601133118044">"Kielet"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Verkko ja internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Yhdistetyt laitteet"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Sovellukset ja ilmoitukset"</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">"Käyttäjä ja tilit"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Oletussovellukset"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Kieli: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Asetukset"</string>
<string name="search_menu" msgid="6283419262313758339">"Hakuasetukset"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Ilmoitusten määrittäminen"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Nollaa"</string>
<string name="show_silently" msgid="2222875799232222056">"Näytä ilman ääntä"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ilmoitus ei tule aktiiviselle näytölle eikä salli ääniä tai värinää."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Ilmoitusapuri"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Pääsy ilmoituksiin"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Sovellukset eivät voi lukea ilmoituksia"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"MIDI-tila"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Käytä tätä laitetta MIDI-tilassa."</string>
<string name="usb_use" msgid="3256040963685055320">"USB:n käyttötila"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Mitään ei ole yhdistetty."</string>
<string name="background_check_pref" msgid="7550258400138010979">"Taustatarkistus"</string>
<string name="background_check_title" msgid="4534254315824525593">"Täydet taustakäyttöoikeudet"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Käytä näytön tekstiä"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Tilit"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Määritä"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Tilitietojen autom. synkron."</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Omien tietojen autom. synkron."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Työtietojen autom. synkron."</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 5db2760..e507d02 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Afficher le carnet d\'adresses de la carte SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Afficher les numéros autorisés"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Afficher les numéros de service"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Télécharger la liste de PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"En service"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Hors service"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Appels d\'urgence seulement"</string>
@@ -1261,7 +1274,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>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Si vous arrêtez ce service, certaines fonctionnalités de votre téléphone peuvent cesser de fonctionner correctement jusqu\'à ce que vous ayez éteint, puis rallumé votre appareil."</string>
<string name="language_settings" msgid="8758655933029560944">"Langues et modes d\'entrée"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Langues et modes d\'entrée"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Clavier et modes de saisie"</string>
<string name="phone_language" msgid="7116581601133118044">"Langues"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2529,12 +2546,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"Réseau et Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Appareils connectés"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Applications et notifications"</string>
+ <string name="account_dashboard_title" msgid="38701889336378742">"Utilisateurs et comptes"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Applications par défaut"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Langue : <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Paramètres"</string>
<string name="search_menu" msgid="6283419262313758339">"Paramètres de recherche"</string>
@@ -2637,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurer les notifications"</string>
+ <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>
@@ -2665,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Réinitialiser"</string>
<string name="show_silently" msgid="2222875799232222056">"Affichage silencieux"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ne pas émettre de son, activer le vibreur ni afficher ces notifications sur l\'écran actif."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistant des notifications"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Accès aux notifications"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Les applications ne peuvent pas lire les notifications."</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2741,7 +2756,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>
@@ -2953,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Utiliser l\'appareil en tant que MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Utiliser cet appareil en tant que MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Utiliser la connexion USB pour"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Aucun appareil connecté"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Vérification en arrière-plan"</string>
<string name="background_check_title" msgid="4534254315824525593">"Accès complet à l\'arrière-plan"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Utiliser le texte affiché à l\'écran"</string>
@@ -3279,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Comptes"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurer"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Synchro auto données du compte"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sync auto données compte perso"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sync auto données compte prof."</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 1cf7cca..512b198 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Afficher le carnet d\'adresses de la carte SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Afficher les numéros autorisés"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Afficher les numéros de service"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Récupérer la liste PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"En service"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Hors-service"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Appels d\'urgence uniquement"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Si vous arrêtez ce service, certaines fonctionnalités de votre téléphone peuvent cesser de fonctionner correctement jusqu\'à ce que vous ayez éteint, puis rallumé votre appareil."</string>
<string name="language_settings" msgid="8758655933029560944">"Langues et saisie"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Langues et saisie"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Clavier et modes de saisie"</string>
<string name="phone_language" msgid="7116581601133118044">"Langues"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Réseau et Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Appareils connectés"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Applications et notifications"</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">"Utilisateur et comptes"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Applications par défaut"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Langue : <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Paramètres"</string>
<string name="search_menu" msgid="6283419262313758339">"Paramètres de recherche"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Remplacer sons du profil pro ?"</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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurer les notifications"</string>
+ <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 profil pro"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Voyant de notification"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Réinitialiser"</string>
<string name="show_silently" msgid="2222875799232222056">"Affichage silencieux"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ne pas émettre de son, activer le vibreur ni afficher ces notifications sur l\'écran actif."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistant de notifications"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Accès aux notifications"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Les applications ne peuvent pas lire les notifications."</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Utiliser l\'appareil en tant que MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Utiliser cet appareil en tant que MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Utiliser la connexion USB pour"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Aucun appareil connecté"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Vérification en arrière-plan"</string>
<string name="background_check_title" msgid="4534254315824525593">"Accès complet à l\'arrière-plan"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Utiliser le texte affiché à l\'écran"</string>
@@ -3205,7 +3223,7 @@
<string name="support_escalation_by_phone" msgid="4843223043487058711">"Téléphone"</string>
<string name="support_escalation_by_chat" msgid="977019859110763749">"Chat"</string>
<string name="support_tips_and_tricks_title" msgid="4153466795695447828">"Parcourir les conseils et les astuces"</string>
- <string name="support_help_feedback_title" msgid="693440287222186718">"Rechercher dans l\'aide ou envoyer comment."</string>
+ <string name="support_help_feedback_title" msgid="693440287222186718">"Rechercher dans l\'aide et envoyer des commentaires"</string>
<string name="support_sign_in_required_title" msgid="1367187789121480440">"Contacter le service d\'assistance"</string>
<string name="support_sign_in_button_text" msgid="3054769428620671241">"Connexion"</string>
<string name="support_sign_in_required_help" msgid="5200654782405538114">"Vous ne pouvez pas vous connecter ?"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Comptes"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurer"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Synchro auto données du compte"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Synchro auto données perso"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Synchro auto données pro"</string>
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 76ba96f..bf59730 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Ver axenda de enderezos da SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números de marcación fixa"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números de marcación de servizo"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Obter lista de PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"En servizo"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Fóra de servizo"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Só chamadas de emerxencia"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Se detés este servizo, é posible que algunhas funcións do teléfono deixen de funcionar correctamente ata que o apagues e o acendas de novo."</string>
<string name="language_settings" msgid="8758655933029560944">"Idiomas e entrada"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Idiomas e entrada"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teclado e métodos de entrada"</string>
<string name="phone_language" msgid="7116581601133118044">"Idiomas"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rede e Internet"</string>
<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>
- <!-- 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">"Usuario e contas"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplicacións predeterminadas"</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>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Substit. sons perfil traballo?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Substituír"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Os sons actuais do perfil do traballo substituiranse cos sons do teu perfil persoal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurar notificacións"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferencias de notificacións"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avanzada"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificacións do traballo"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Luz de notificación"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Restablecer"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostrar en silencio"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Non emitir son, vibrar nin mostrar estas notificacións na pantalla actual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asistente de notificacións"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Acceso a notificacións"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"As aplicacións non poden ler as notificacións"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Utilizar o dispositivo como MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Utiliza este dispositivo como MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Utilizar a conexión USB para"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Non hai nada conectado"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Comprobación de uso en segundo plano"</string>
<string name="background_check_title" msgid="4534254315824525593">"Acceso completo en segundo plano"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Usar o texto da pantalla"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Contas"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurar"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Conta sincronización automát."</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Conta persoal sinc. automática"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Conta laboral sinc. automática"</string>
</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index e5e0a72..e869d7e 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM સરનામાં પુસ્તિકા જુઓ"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ફિક્સ્ડ ડાયલિંગ નંબર્સ જુઓ"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"સેવા ડાયલિંગ નંબર્સ જુઓ"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP સૂચિ મેળવો"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"સેવામાં"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"કાર્યરત્ નથી"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"ફક્ત કટોકટીના કૉલ્સ"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"જો તમે આ સેવા બંધ કરો છો, તો તમારા ફોનની કેટલીક સુવિધાઓ કાર્ય કરતી બંધ થઈ જશે જ્યાં સુધી તમે તેને પાવર બંધ કરીને ફરીથી ચાલુ ન કરો."</string>
<string name="language_settings" msgid="8758655933029560944">"ભાષા અને ઇનપુટ"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ભાષા અને ઇનપુટ"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"કીબોર્ડ અને ઇનપુટ પદ્ધતિઓ"</string>
<string name="phone_language" msgid="7116581601133118044">"ભાષાઓ"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2532,10 +2549,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="7342549305933047317">"ડિફૉલ્ટ ઍપ્લિકેશનો"</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>
@@ -2638,7 +2653,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"સૂચનાઓ ગોઠવો"</string>
+ <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>
@@ -2666,6 +2681,7 @@
<string name="importance_reset" msgid="7458420788555607007">"ફરીથી સેટ કરો"</string>
<string name="show_silently" msgid="2222875799232222056">"ચુપચાપ બતાવો"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"વર્તમાન સ્ક્રીન પર દૃશ્યમાં આ સૂચનાઓને અવાજ કરવા, વાઇબ્રેટ કરવા કે ઝબકારારૂપે દેખાવા દેશો નહીં."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"સૂચના સહાયક"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"સૂચના ઍક્સેસ"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"ઍપ્લિકેશનો સૂચનાઓ વાંચી શકતી નથી"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2954,6 +2970,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"MIDI તરીકે ઉપકરણનો ઉપયોગ કરો"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"MIDI તરીકે આ ઉપકરણનો ઉપયોગ કરો"</string>
<string name="usb_use" msgid="3256040963685055320">"આના માટે USB નો ઉપયોગ કરો"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"કંઈપણ કનેક્ટ કર્યું નથી"</string>
<string name="background_check_pref" msgid="7550258400138010979">"પૃષ્ઠભૂમિ તપાસ"</string>
<string name="background_check_title" msgid="4534254315824525593">"પૂર્ણ પૃષ્ઠભૂમિ ઍક્સેસ"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"સ્ક્રીન પરની ટેક્સ્ટનો ઉપયોગ કરો"</string>
@@ -3280,4 +3298,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"એકાઉન્ટ્સ"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"ગોઠવો"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"એકાઉન્ટ ડેટા સ્વતઃ સમન્વયન"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"વ્યક્તિગત એકાઉન્ટ ડેટા સ્વતઃ સમન્વયન"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"કાર્યાલય એકાઉન્ટ ડેટા સ્વતઃ-સમન્વયન"</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 6ee22ec..f091749 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"सिम पता पुस्तिका देखें"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"फ़िक्स्ड डायलिंग नंबर देखें"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"सेवा डायलिंग नंबर देखें"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP सूची प्राप्त करें"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"सेवा में"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"सेवा में नहीं"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"केवल आपातकालीन कॉल"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"यदि आप यह सेवा रोकते हैं, तो हो सकता है कि आपके फ़ोन की कुछ सुविधाएं ठीक से कार्य करना बंद कर दें जब तक कि आप उसे बंद करके फिर से चालू न कर लें."</string>
<string name="language_settings" msgid="8758655933029560944">"भाषाएं और इनपुट"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"भाषाएं और इनपुट"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"कीबोर्ड और इनपुट पद्धति"</string>
<string name="phone_language" msgid="7116581601133118044">"भाषाएं"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"डिफ़ॉल्ट ऐप्लिकेशन"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"नोटिफिकेशन कॉन्फ़िगर किए गए"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"रीसेट करें"</string>
<string name="show_silently" msgid="2222875799232222056">"मौन रूप से दिखाएं"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"वर्तमान स्क्रीन पर इन नोटिफिकेशन के लिए ना तो ध्वनि करें, ना कंपन करें और ना ही झलक दिखाएं."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"नोटिफिकेशन सहायक"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"एक्सेस नोटिफिकेशन"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"ऐप्स नोटिफिकेशन नहीं पढ़ सकते"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"डिवाइस का उपयोग MIDI के रूप में करें"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"इस डिवाइस का उपयोग MIDI के रूप में करें"</string>
<string name="usb_use" msgid="3256040963685055320">"इसके लिए USB का उपयोग करें"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"कुछ भी कनेक्ट नहीं किया गया"</string>
<string name="background_check_pref" msgid="7550258400138010979">"पृष्ठभूमि जांच"</string>
<string name="background_check_title" msgid="4534254315824525593">"पूर्ण पृष्ठभूमि एक्सेस"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"स्क्रीन के लेख का उपयोग करना"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"खाते"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"कॉन्फ़िगर करें"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"खाता डेटा स्वतः सिंक करें"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"निजी खाता डेटा स्वतः सिंक करें"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"कार्य खाता डेटा स्वतः सिंक करें"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 3e8afca..08bced4 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -46,7 +46,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Prikaži imenik SIM-a"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Prikaži brojeve za fiksno biranje"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Prikaži brojeve za servisno biranje"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Dohvati PDP popis"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Upotrebljava se"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ne radi"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Samo hitni pozivi"</string>
@@ -1611,6 +1624,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ako zaustavite ovu uslugu, neke značajke vašeg telefona mogu prestati raditi ispravno dok ga ne isključite i ponovo ne uključite."</string>
<string name="language_settings" msgid="8758655933029560944">"Jezici i unos"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Jezici i unos"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tipkovnica i načini unosa"</string>
<string name="phone_language" msgid="7116581601133118044">"Jezici"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2552,10 +2569,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Mreža i internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Povezani uređaji"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikacije i obavijesti"</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">"Korisnik i postavke"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Zadane aplikacije"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Jezik: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Postavke"</string>
<string name="search_menu" msgid="6283419262313758339">"Postavke pretraživanja"</string>
@@ -2658,7 +2673,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfiguriranje obavijesti"</string>
+ <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>
@@ -2686,6 +2701,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Poništi"</string>
<string name="show_silently" msgid="2222875799232222056">"Prikaži tiho"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Nemoj emitirati zvuk, vibrirati niti prikazivati obavijesti na trenutačnom zaslonu."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Pomoćnik za obavijesti"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Pristup obavijestima"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikacije ne mogu čitati obavijesti"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2981,6 +2997,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Upotreba uređaja kao MIDI-ja"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Upotrebljavajte uređaj kao MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Odaberite namjenu USB-a"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ništa nije povezano"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Provjera u pozadini"</string>
<string name="background_check_title" msgid="4534254315824525593">"Potpuni pristup u pozadini"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Koristi tekst sa zaslona"</string>
@@ -3313,4 +3331,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Računi"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfiguriranje"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autom. sink. podataka o računu"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Autom. sink. osobnog računa"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Autom. sink. radnog računa"</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index f2a8db9..6215d10 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM-kártya telefonkönyvének megtekintése"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Fix hívószámok megtekintése"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Szolgáltatásszámok megtekintése"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP-lista lekérése"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Szolgáltatás"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Nem működik"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Csak segélyhívások"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ha leállítja ezt a szolgáltatást, telefonjának néhány funkciója hibásan működhet, amíg ki, majd újra be nem kapcsolja azt."</string>
<string name="language_settings" msgid="8758655933029560944">"Nyelvek és bevitel"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Nyelvek és bevitel"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Billentyűzet- és beviteli módok"</string>
<string name="phone_language" msgid="7116581601133118044">"Nyelvek"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Hálózat és internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Társított eszközök"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Alkalmazások és értesítések"</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">"Felhasználó és fiókok"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Alapértelmezett alkalmazások"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Nyelv: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Beállítások"</string>
<string name="search_menu" msgid="6283419262313758339">"Keresési beállítások"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Lecseréli a munkaprofil hangbeállításait?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Csere"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"A munkaprofil jelenlegi hangbeállításait lecseréljük a személyes profilban lévőkkel"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Értesítések beállítása"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Értesítési beállítások"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Speciális"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Munkahelyi profil értesítései"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Villogó értesítő fény"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Visszaállítás"</string>
<string name="show_silently" msgid="2222875799232222056">"Megjelenítés hangjelzés nélkül"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ne legyen hangjelzés vagy rezgés, illetve az értesítések ne jelenjenek meg rövid időre sem az aktuális képernyőn."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Értesítési segéd"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Hozzáférés értesítésekhez"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Az alkalmazások nem tudják olvasni az értesítéseket"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Készülék használata MIDI-eszközként"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"A készülék használata MIDI-eszközként"</string>
<string name="usb_use" msgid="3256040963685055320">"USB-kapcsolat használata a következőre:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nincs csatlakoztatott eszköz"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Háttérellenőrzés"</string>
<string name="background_check_title" msgid="4534254315824525593">"Teljes hozzáférés a háttérhez"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"A képernyőn megjelenő szöveg használata"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Fiókok"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurálás"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Fiókadat-szinkronizálás"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Személyesfiók-szinkronizálás"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Munkafiók-szinkronizálás"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index a60127d..44dc076 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Դիտել SIM քարտի հասցեագիրքը"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Տեսնել ամրակցված հեռախոսահամարները"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Տեսնել ծառայությունների հեռախոսահամարները"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Տեսնել PDP ցանկը"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Շահագործման մեջ է"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Չի շահագործվում"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Միայն արտակարգ իրավիճակների զանգեր"</string>
@@ -165,7 +178,7 @@
<string name="proxy_port_label" msgid="5655276502233453400">"Պրոքսի միացք"</string>
<string name="proxy_exclusionlist_label" msgid="7700491504623418701">"Շրջանցման պրոքսի"</string>
<string name="proxy_defaultView_text" msgid="6387985519141433291">"Վերականգնել լռելյայն կարգավորումները"</string>
- <string name="proxy_action_text" msgid="2957063145357903951">"Կատարված է:"</string>
+ <string name="proxy_action_text" msgid="2957063145357903951">"Պատրաստ է:"</string>
<string name="proxy_hostname_label" msgid="8490171412999373362">"Պրոքսի հոսթի անունը"</string>
<string name="proxy_error" msgid="8926675299638611451">"Ուշադրություն"</string>
<string name="proxy_error_dismiss" msgid="4993171795485460060">"Լավ"</string>
@@ -632,7 +645,7 @@
<string name="wifi_display_details" msgid="7791118209992162698">"Ցուցադրել կարգավորումները"</string>
<string name="wifi_display_options_title" msgid="5740656401635054838">"Անլար ցուցադրվող ընտրանքներ"</string>
<string name="wifi_display_options_forget" msgid="9119048225398894580">"Մոռանալ"</string>
- <string name="wifi_display_options_done" msgid="5703116500357822557">"Կատարված է"</string>
+ <string name="wifi_display_options_done" msgid="5703116500357822557">"Պատրաստ է"</string>
<string name="wifi_display_options_name" msgid="4756080222307467898">"Անուն"</string>
<string name="wifi_band_24ghz" msgid="852929254171856911">"2.4 ԳՀց"</string>
<string name="wifi_band_5ghz" msgid="6433822023268515117">"5 ԳՀց"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Եթե դուք կասեցնեք այս ծառայությունը, հեռախոսի որոշ հատկություններ կարող են դադարել ճիշտ գործել, մինչև այն չանջատեք և վերամիացնեք:"</string>
<string name="language_settings" msgid="8758655933029560944">"Լեզուներ և ներածում"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Լեզուներ և ներածում"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Ստեղնաշար և մուտքագրման եղանակներ"</string>
<string name="phone_language" msgid="7116581601133118044">"Լեզուներ"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2330,7 +2347,7 @@
<string name="selinux_status_permissive" msgid="6004965534713398778">"Թույլատրելի"</string>
<string name="selinux_status_enforcing" msgid="2252703756208463329">"Պարտադրում"</string>
<string name="ssl_ca_cert_warning" msgid="2045866713601984673">"Ցանցը կարող է վերահսկվել"</string>
- <string name="done_button" msgid="1991471253042622230">"Կատարված է"</string>
+ <string name="done_button" msgid="1991471253042622230">"Պատրաստ է"</string>
<plurals name="ssl_ca_cert_dialog_title" formatted="false" msgid="7145092748045794650">
<item quantity="one">Հաստատեք կամ հեռացրեք վկայականները</item>
<item quantity="other">Հաստատեք կամ հեռացրեք վկայականները</item>
@@ -2530,10 +2547,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="7342549305933047317">"Կանխադրված հավելվածներ"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Ծանուցումների կազմաձևում"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Վերակայել"</string>
<string name="show_silently" msgid="2222875799232222056">"Ցույց տալ անձայն"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ձայնային ազդանշան չհնչեցնել, չթրթռալ և ընթացիկ էկրանին այս ծանուցումները չցուցադրել:"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Ծանուցումների օգնական"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Մուտք ծանուցումներին"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Ծրագրիը չի կարող կարդալ ծանուցումները"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2808,9 +2824,9 @@
<string name="encrypt_require_pin" msgid="2063945047845243752">"Սարքը միացնելուց պահանջել PIN"</string>
<string name="encrypt_require_pattern" msgid="6898479411004015810">"Սարքը միացնելուց պահանջել նախշ"</string>
<string name="encrypt_require_password" msgid="8770628366276570518">"Սարքը միացնելուց պահանջել գաղտնաբառ"</string>
- <string name="encrypt_dont_require_pin" msgid="1082444817726247368">"Ոչ, շնորհակալություն"</string>
- <string name="encrypt_dont_require_pattern" msgid="6668299362640433843">"Ոչ, շնորհակալություն"</string>
- <string name="encrypt_dont_require_password" msgid="2580403214917009046">"Ոչ, շնորհակալություն"</string>
+ <string name="encrypt_dont_require_pin" msgid="1082444817726247368">"Ոչ"</string>
+ <string name="encrypt_dont_require_pattern" msgid="6668299362640433843">"Ոչ"</string>
+ <string name="encrypt_dont_require_password" msgid="2580403214917009046">"Ոչ"</string>
<string name="encrypt_talkback_dialog_require_pin" msgid="8299960550048989807">"Պահանջե՞լ PIN-ը:"</string>
<string name="encrypt_talkback_dialog_require_pattern" msgid="1499790256154146639">"Պահանջե՞լ ապակողպման նախշը:"</string>
<string name="encrypt_talkback_dialog_require_password" msgid="8841994614218049215">"Պահանջե՞լ գաղտնաբառը:"</string>
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Սարքի օգտագործում որպես MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Այս սարքի օգտագործում որպես MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Օգտագործել USB-ն հետևյալ նպատակով"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Կապակցված սարքեր չկան"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Ֆոնային ստուգում"</string>
<string name="background_check_title" msgid="4534254315824525593">"Լիակատար ֆոնային մուտք"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Օգտվել էկրանի տեքստային բովանդակությունից"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Հաշիվներ"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Կարգավորում"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Ինքնահամաժամել հաշվի տվյալները"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Ինքնահամաժամել անձնական հաշվի տվյալները"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Ինքնահամաժամել աշխատանքային հաշվի տվյալները"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 34ec92f..fdc0617 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Lihat Buku Alamat SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Lihat Nomor Panggilan Tetap"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Lihat Nomor Panggilan Layanan"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Dapatkan Daftar PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Dalam Layanan"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Di Luar Area Layanan"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Telepon urgen saja"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Jika Anda menghentikan layanan ini, beberapa fitur ponsel mungkin tidak bekerja dengan semestinya sampai Anda mematikan dan menyalakannya lagi."</string>
<string name="language_settings" msgid="8758655933029560944">"Bahasa & masukan"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Bahasa & masukan"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Keyboard & metode masukan"</string>
<string name="phone_language" msgid="7116581601133118044">"Bahasa"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Jaringan & Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Perangkat yang terhubung"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikasi & notifikasi"</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">"Pengguna & akun"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplikasi default"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Bahasa: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Setelan"</string>
<string name="search_menu" msgid="6283419262313758339">"Setelan penelusuran"</string>
@@ -2601,7 +2616,7 @@
<string name="ringtone_title" msgid="5379026328015343686">"Nada dering ponsel"</string>
<string name="notification_ringtone_title" msgid="3361201340352664272">"Dering notifikasi default"</string>
<string name="alarm_ringtone_title" msgid="2015124067611102995">"Nada dering alarm default"</string>
- <string name="vibrate_when_ringing_title" msgid="3806079144545849032">"Juga getar saat ada panggilan"</string>
+ <string name="vibrate_when_ringing_title" msgid="3806079144545849032">"Getarkan juga untuk panggilan"</string>
<string name="other_sound_settings" msgid="3151004537006844718">"Suara lainnya"</string>
<string name="dial_pad_tones_title" msgid="1999293510400911558">"Nada tombol nomor"</string>
<string name="screen_locking_sounds_title" msgid="1340569241625989837">"Suara kunci layar"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Ganti suara profil kerja?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Ganti"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Suara profil kerja saat ini akan diganti dengan suara profil pribadi"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurasikan notifikasi"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferensi notifikasi"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Lanjutan"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notifikasi kerja"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Kedipkan lampu notifikasi"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Setel ulang"</string>
<string name="show_silently" msgid="2222875799232222056">"Tampilkan secara diam-diam"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Jangan bersuara, bergetar, atau mengintip notifikasi tersebut untuk ditampilkan di layar saat ini."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asisten notifikasi"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Akses notifikasi"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikasi tidak dapat membaca notifikasi"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Gunakan perangkat sebagai MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Menggunakan perangkat ini sebagai MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Gunakan USB untuk"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Tidak ada yang terhubung"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Pemeriksaan latar belakang"</string>
<string name="background_check_title" msgid="4534254315824525593">"Akses penuh latar belakang"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Gunakan teks dari layar"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Akun"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurasikan"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinkron otomatis data akun"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinkron otomatis data akun pribadi"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinkron otomatis data akun kerja"</string>
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 443a7e7..5b3093f 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Skoða símaskrá SIM-korts"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Skoða læst númeraval"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Skoða þjónustunúmer"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Sækja PDP-lista"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Innan þjónustusvæðis"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Utan þjónustusvæðis"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Aðeins neyðarsímtöl"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ef þú stöðvar þessa þjónustu getur verið að einhverjir eiginleikar símans hætti að virka rétt þar til þú slekkur á honum og kveikir á honum aftur."</string>
<string name="language_settings" msgid="8758655933029560944">"Tungumál og inntak"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Tungumál og inntak"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Lyklaborð og innsláttaraðferðir"</string>
<string name="phone_language" msgid="7116581601133118044">"Tungumál"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Netkerfi og internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Tengd tæki"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Forrit og tilkynningar"</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">"Notandi og reikningar"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Sjálfgefin forrit"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Tungumál: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Stillingar"</string>
<string name="search_menu" msgid="6283419262313758339">"Leitarstillingar"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Skipta út hljóðum vinnuprófíls?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Skipta út"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Núverandi hljóðum vinnuprófílsins verður skipt út fyrir hljóð úr persónulega prófílnum"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Stilla tilkynningar"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Tilkynningastillingar"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Ítarlegt"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Vinnutilkynningar"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Hægt blikkandi tilkynningaljós"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Endurstilla"</string>
<string name="show_silently" msgid="2222875799232222056">"Sýna án hljóðs"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ekki nota hljóð, titring eða birta tilkynningar á núverandi skjá."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Tilkynningaaðstoð"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Tilkynningaaðgangur"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Forrit geta ekki lesið tilkynningar"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Nota tækið sem MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Nota þetta tæki sem MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Nota USB til að"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ekkert er tengt"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Bakgrunnsathugun"</string>
<string name="background_check_title" msgid="4534254315824525593">"Fullur bakgrunnsaðgangur"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Nota texta af skjánum"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Reikningar"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Stilla"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Samst. reikningsg. sjálfkrafa"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Samst. einkareikng. sjálfkr."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Samst. vinnureikngögn sjálfkr."</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index fb95867..74968c8 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Visualizza rubrica SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visualizza numeri selezione fissa"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualizza numeri dell\'elenco dei numeri di servizio"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Ricevi elenco PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"In servizio"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Fuori servizio"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Solo chiamate di emergenza"</string>
@@ -1029,7 +1042,7 @@
<string name="device_status" msgid="607405385799807324">"Stato"</string>
<string name="device_status_summary" product="tablet" msgid="3292717754497039686">"Stato delle batteria, della rete e altre informazioni"</string>
<string name="device_status_summary" product="default" msgid="2599162787451519618">"Numero di telefono, segnale ecc."</string>
- <string name="storage_settings" msgid="4211799979832404953">"Memoria"</string>
+ <string name="storage_settings" msgid="4211799979832404953">"Spazio di archiviazione"</string>
<string name="storage_usb_settings" msgid="7293054033137078060">"Spazio di archiviazione"</string>
<string name="storage_settings_title" msgid="8746016738388094064">"Impostazioni memoria"</string>
<string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Smonta l\'archivio USB, visualizza lo spazio di archiviazione disponibile"</string>
@@ -1110,7 +1123,7 @@
<string name="storage_menu_set_up" msgid="4263294929451685366">"Configura"</string>
<string name="storage_menu_explore" msgid="4637496051816521560">"Esplora"</string>
<string name="storage_menu_free" msgid="6386070442027135427">"Libera spazio"</string>
- <string name="storage_menu_manage" msgid="5914482953856430780">"Gestisci memoria"</string>
+ <string name="storage_menu_manage" msgid="5914482953856430780">"Gestisci archiviazione"</string>
<string name="storage_title_usb" msgid="679612779321689418">"Connessione computer USB"</string>
<string name="usb_connection_category" msgid="7805945595165422882">"Connetti come"</string>
<string name="usb_mtp_title" msgid="3399663424394065964">"Dispositivo multimediale (MTP)"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Se interrompi questo servizio, potrebbero verificarsi anomalie in alcune funzioni del telefono fino allo spegnimento e alla riaccensione del telefono."</string>
<string name="language_settings" msgid="8758655933029560944">"Lingue e immissione"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Lingue e immissione"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastiera e metodi di immissione"</string>
<string name="phone_language" msgid="7116581601133118044">"Lingue"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rete e Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositivi collegati"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"App e notifiche"</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">"Utente e account"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"App predefinite"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Lingua: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Impostazioni"</string>
<string name="search_menu" msgid="6283419262313758339">"Impostazioni di ricerca"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configura le notifiche"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Reimposta"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostra silenziosamente"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Non emettere suoni o vibrazioni e non mostrare queste notifiche nella schermata corrente."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistente notifica"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Accesso alle notifiche"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Le app non possono leggere le notifiche"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Utilizzare il dispositivo per la modalità MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Utilizzare questo dispositivo per la modalità MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Utilizza USB per"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nessun dispositivo collegato"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Controllo background"</string>
<string name="background_check_title" msgid="4534254315824525593">"Accesso completo in background"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Utilizza testo sullo schermo"</string>
@@ -3234,7 +3252,7 @@
<string name="bluetooth_talkback_headphone" msgid="26580326066627664">"Cuffie"</string>
<string name="bluetooth_talkback_input_peripheral" msgid="5165842622743212268">"Periferica di immissione"</string>
<string name="bluetooth_talkback_bluetooth" msgid="5615463912185280812">"Bluetooth"</string>
- <string name="automatic_storage_manager_settings" msgid="7819434542155181607">"Gestisci memoria"</string>
+ <string name="automatic_storage_manager_settings" msgid="7819434542155181607">"Gestisci archiviazione"</string>
<string name="automatic_storage_manager_text" msgid="4562950476680600604">"Per liberare spazio, la gestione memoria rimuove foto e video dal dispositivo dopo averne eseguito il backup."</string>
<string name="automatic_storage_manager_days_title" msgid="2017913896160914647">"Rimuovi foto e video"</string>
<string name="automatic_storage_manager_preference_title" msgid="5753702798151073383">"Gestione memoria"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Account"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurazione"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sincr. automatica dati account"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sincr. automat. dati account pers."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sincr. automat. dati account lavoro"</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 64d83db..8df7a46 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"הצג פנקס כתובות של SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"הצג מספרי חיוג קבועים"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"הצג מספרי חיוג לשירות"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"קבל רשימת PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"בשירות"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"לא תקין"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"שיחות חירום בלבד"</string>
@@ -823,7 +836,7 @@
<string name="wifi_gateway" msgid="163914742461092086">"שער"</string>
<string name="wifi_network_prefix_length" msgid="3028785234245085998">"אורך קידומת של רשת"</string>
<string name="wifi_p2p_settings_title" msgid="5444461191435291082">"Wi-Fi ישיר"</string>
- <string name="wifi_p2p_device_info" msgid="3191876744469364173">"פרטי מכשיר"</string>
+ <string name="wifi_p2p_device_info" msgid="3191876744469364173">"מידע מהמכשיר"</string>
<string name="wifi_p2p_persist_network" msgid="1646424791818168590">"זכור חיבור זה"</string>
<string name="wifi_p2p_menu_search" msgid="3436429984738771974">"חיפוש מכשירים"</string>
<string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"מחפש…"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"אם תפסיק שירות זה, תכונות מסוימות של הטלפון עלולות להפסיק לפעול כהלכה עד לכיבוי המכשיר והפעלתו מחדש."</string>
<string name="language_settings" msgid="8758655933029560944">"שפות וקלט"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"שפות וקלט"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"מקלדת ושיטות קלט"</string>
<string name="phone_language" msgid="7116581601133118044">"שפות"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2576,10 +2593,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="7342549305933047317">"אפליקציות בברירת מחדל"</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>
@@ -2682,7 +2697,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"הגדרת הודעות"</string>
+ <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>
@@ -2710,6 +2725,7 @@
<string name="importance_reset" msgid="7458420788555607007">"אפס"</string>
<string name="show_silently" msgid="2222875799232222056">"הצג ללא צליל"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"אל תשמיע צליל, תפעיל רטט או תציג במהירות הודעות אלו לתצוגה המפורטת במסך הנוכחי."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"אסיסטנט ההודעות"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"גישה אל הודעות"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"אפליקציות לא יכולות לקרוא התראות"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3012,6 +3028,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"להשתמש במכשיר כהתקן MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"שימוש במכשיר זה כהתקן MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"השתמש ב-USB כדי"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"דבר לא מחובר"</string>
<string name="background_check_pref" msgid="7550258400138010979">"בדיקה ברקע"</string>
<string name="background_check_title" msgid="4534254315824525593">"גישה מלאה ברקע"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"שימוש בטקסט המופיע במסך"</string>
@@ -3350,4 +3368,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"חשבונות"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"הגדרה"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"סנכרון אוטומטי לנתוני החשבון"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"סנכרון אוט\' לנתוני חשבון פרטי"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"סנכרון אוט\' לנתוני חשבון עבודה"</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index e5680af..ad56f2a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM のアドレス帳を表示"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"発信番号制限を表示"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"サービス電話番号を表示"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP リストを取得"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"圏内"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"圏外"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"緊急通報のみ"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"このサービスを停止すると、電源を一旦OFFにして再度ONにするまで、モバイル端末の一部の機能が正常に動作しなくなる場合があります。"</string>
<string name="language_settings" msgid="8758655933029560944">"言語と入力"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"言語と入力"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"キーボードと入力方法"</string>
<string name="phone_language" msgid="7116581601133118044">"言語"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2534,10 +2551,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="7342549305933047317">"デフォルト アプリ"</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>
@@ -2640,7 +2655,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"通知の設定"</string>
+ <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>
@@ -2668,6 +2683,7 @@
<string name="importance_reset" msgid="7458420788555607007">"リセット"</string>
<string name="show_silently" msgid="2222875799232222056">"マナーモードで表示"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"音やバイブレーションで知らせず、現在の画面に通知を数秒間表示することもしません。"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"通知アシスタント"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"通知へのアクセス"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"アプリは通知を読み取ることができません"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2956,6 +2972,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"この端末を MIDI として利用する"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"この端末を MIDI として利用する際に使用します"</string>
<string name="usb_use" msgid="3256040963685055320">"USB 接続の用途"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"何も接続されていません"</string>
<string name="background_check_pref" msgid="7550258400138010979">"バックグラウンド チェック"</string>
<string name="background_check_title" msgid="4534254315824525593">"バックグラウンドへのフルアクセス"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"画面のテキストを使用"</string>
@@ -3004,7 +3022,7 @@
<string name="system_alert_window_settings" msgid="1757821151143694951">"他のアプリの上に重ねて表示"</string>
<string name="system_alert_window_apps_title" msgid="7005760279028569491">"アプリ"</string>
<string name="system_alert_window_access_title" msgid="8811695381437304132">"他のアプリの上に重ねて描画"</string>
- <string name="permit_draw_overlay" msgid="6606018549732046201">"他のアプリの上に重ねて描画することを許可"</string>
+ <string name="permit_draw_overlay" msgid="6606018549732046201">"他のアプリ上に重ねて描画することを許可"</string>
<string name="app_overlay_permission_preference" msgid="8355410276571387439">"アプリが上に重ねて描画する権限"</string>
<string name="allow_overlay_description" msgid="7895191337585827691">"この権限により、アプリは使用中の他のアプリの上に重ねて表示できるようになります。これにより、他のアプリのインターフェースを使用する際に邪魔になったり、他のアプリに表示されていると思われるものが変更されたりする場合があります。"</string>
<string name="keywords_vr_listener" msgid="7441221822576384680">"vr バーチャル リアリティ リスナー ステレオ ヘルパー サービス"</string>
@@ -3282,4 +3300,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"アカウント"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"設定"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"アカウント データを自動同期"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"個人用アカウント データを自動同期"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"仕事用アカウント データを自動同期"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index e234eaf..989ff1a 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM-ის მისამართების წიგნის ნახვა"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ფიქსირებული დარეკილი ნომრების ნახვა"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"სერვისის დარეკილი ნომრების ნახვა"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP სიის მიღება"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"მომსახურების არეში"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"მომსახურების არის მიღმა"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"მხოლოდ გადაუდებელი ზარები"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"სერვისის გაჩერების შემთხვევაში, ტელეფონის მომდევნო სრულ გადატვირთვამდე შესაძლოა ზოგმა ფუნქციამ შეცდომებით იმუშაოს."</string>
<string name="language_settings" msgid="8758655933029560944">"ენები და შეყვანა"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ენები და შეყვანა"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"კლავიატურა და შეყვანის მეთოდები"</string>
<string name="phone_language" msgid="7116581601133118044">"ენები"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"ნაგულისხმევი აპები"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"შეტყობინ. კონფიგურაცია"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"გადაყენება"</string>
<string name="show_silently" msgid="2222875799232222056">"უხმოდ ჩვენება"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"შეტყობინებებისთვის ხმისა თუ ვიბრაციის გათიშვა და მიმდინარე ეკრანზე ანთების აკრძალვა."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"შეტყობინებათა ასისტენტი"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"შეტყობინებებზე წვდომა"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"აპები ვერ კითხულობს შეტყობინებებს"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"მოწყობილობის MIDI-ს სახით გამოყენება"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ამ მოწყობილობის MIDI-ს სახით გამოყენება"</string>
<string name="usb_use" msgid="3256040963685055320">"აირჩიეთ USB-ს გამოყენების მიზანი:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"დაკავშირებული მოწყობილობები არ არის"</string>
<string name="background_check_pref" msgid="7550258400138010979">"ფონურ რეჟიმში შემოწმება"</string>
<string name="background_check_title" msgid="4534254315824525593">"სრული წვდომა ფონურ რეჟიმში"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"ტექსტის გამოყენება ეკრანიდან"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"ანგარიშები"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"კონფიგურაცია"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ანგარიშის მონაცემების ავტოსინქრონიზაცია"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"პირადი ანგარიშის მონაცემების ავტოსინქრონიზაცია"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"სამსახურის ანგარიშის მონაცემების ავტოსინქრონიზაცია"</string>
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index d97d9bb..8ce1908 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM мекенжай кітапшасын қарау"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Бекітілген теру нөмірлерін қарау"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Қызметтік теру нөмірлерін қарау"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP тізімін алу"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Істеп тұр"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Істен шыққан"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Тек қана төтенше қоңыраулар"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Бұл қызметті тоқтатсаңыз телефонның кейбір функциялары телефонды өшіріп, қайта қосқанша дұрыс жұмыс істемеуі мүмкін."</string>
<string name="language_settings" msgid="8758655933029560944">"Тілдер және енгізу"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Тілдер және енгізу"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Пернетақта және енгізу әдістері"</string>
<string name="phone_language" msgid="7116581601133118044">"Тілдер"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"Әдепкі қолданбалар"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Хабарландырулар конфигурациясы"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Ысыру"</string>
<string name="show_silently" msgid="2222875799232222056">"Үнсіз көрсету"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Дыбыс шығармау, дірілдетпеу немесе осы хабарландыруларды ағымдағы экрандағы көріністе көрсетпеу."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Хабарландыру көмекшісі"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Хабарландыруға кіру мүмкіндігі"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Қолданбалар хабарларды оқи алмайды."</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Құрылғыны MIDI ретінде пайдалану"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Осы құрылғыны MIDI ретінде пайдалану"</string>
<string name="usb_use" msgid="3256040963685055320">"USB портын келесі үшін пайдалану"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ештеңе жалғанбады"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Фондық тексеру"</string>
<string name="background_check_title" msgid="4534254315824525593">"Толық фондық қатынасу"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Экрандағы мәтінді пайдалану"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Есептік жазбалар"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Конфигурациялау"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Есептік жазба деректерін автоматты синхрондау"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Жеке есептік жазба деректерін автоматты синхрондау"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Жұмыс есептік жазбасы деректерін автоматты синхрондау"</string>
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 5b2b968..2112c21 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"មើលសៀវភៅអាសយដ្ឋានក្នុងស៊ីមកាត"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"មើលលេខហៅថេរ"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"មើលលេខហៅសេវាកម្ម"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"ទទួលយកបញ្ជី PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"កំពុងដំណើរការ"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"មិនដំណើរការ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"សម្រាប់តែការហៅពេលអាសន្នប៉ុណ្ណោះ"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"បើអ្នកបញ្ឈប់សេវាកម្មនេះ លក្ខណៈមួយចំនួននៃទូរស័ព្ទរបស់អ្នកអាចលែងដំណើរការតាមត្រឹមត្រូវ លុះត្រាតែអ្នកបិទ ហើយបើកវាឡើងវិញ។"</string>
<string name="language_settings" msgid="8758655933029560944">"ភាសា និងធាតុចូល"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ភាសា និងធាតុចូល"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"ក្ដារចុច & វិធីសាស្ត្របញ្ចូល"</string>
<string name="phone_language" msgid="7116581601133118044">"ភាសា"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"កម្មវិធីលំនាំដើម"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"កំណត់រចនាសម្ព័ន្ធការជូនដំណឹង"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"កំណត់ឡើងវិញ"</string>
<string name="show_silently" msgid="2222875799232222056">"បង្ហាញស្ងាត់ៗ"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"កុំបន្លឺសំឡេង ញ័រ ឬលោតបង្ហាញការជូនដំណឹងទាំងនេះទៅក្នុងការបង្ហាញនៃអេក្រង់បច្ចុប្បន្ន។"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"ជំនួយការជូនដំណឹង"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"ចូលដំណើរការការជូនដំណឹង"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"កម្មវិធីមិនអាចអានការជូនដំណឹង"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"ប្រើឧបករណ៍ជាមីឌី"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ប្រើឧបករណ៍នេះជាមីឌី"</string>
<string name="usb_use" msgid="3256040963685055320">"ប្រើ USB ដើម្បី"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"មិនមានភ្ជាប់អ្វីទាំងអស់"</string>
<string name="background_check_pref" msgid="7550258400138010979">"ពិនិត្យផ្ទៃខាងក្រោយ"</string>
<string name="background_check_title" msgid="4534254315824525593">"ចូលដំណើរការផ្ទៃខាងក្រោយពេញលេញ"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"ប្រើអត្ថបទពីអេក្រង់"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"គណនី"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"កំណត់រចនាសម្ព័ន្ធ"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ធ្វើសមកាលកម្មទិន្នន័យគណនីដោយស្វ័យប្រវត្តិ"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ធ្វើសមកាលកម្មទិន្នន័យគណនីផ្ទាល់ខ្លួនដោយស្វ័យប្រវត្តិ"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"ធ្វើសមកាលកម្មទិន្នន័យគណនីការងារដោយស្វ័យប្រវត្តិ"</string>
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index a29aff2..6ba9fcf 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"ಸಿಮ್ ವಿಳಾಸ ಪುಸ್ತಕವನ್ನು ವೀಕ್ಷಿಸಿ"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ಸ್ಥಿರ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"ಸೇವಾ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP ಪಟ್ಟಿ ಪಡೆಯಿರಿ"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"ಸೇವೆಯಲ್ಲಿದೆ"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"ಸೇವೆಯಲ್ಲಿಲ್ಲ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"ತುರ್ತು ಕರೆಗಳು ಮಾತ್ರ"</string>
@@ -256,7 +269,7 @@
<string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB ಸಂಗ್ರಹಣೆ"</string>
<string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD ಕಾರ್ಡ್"</string>
<string name="proxy_settings_label" msgid="3271174136184391743">"ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
- <string name="cancel" msgid="6859253417269739139">"ರದ್ದುಮಾಡು"</string>
+ <string name="cancel" msgid="6859253417269739139">"ರದ್ದುಮಾಡಿ"</string>
<string name="okay" msgid="1997666393121016642">"ಸರಿ"</string>
<string name="forget" msgid="1400428660472591263">"ಮರೆತುಬಿಡಿ"</string>
<string name="save" msgid="879993180139353333">"ಉಳಿಸು"</string>
@@ -342,7 +355,7 @@
<string name="security_settings_fingerprint_enroll_introduction_message" msgid="3508870672887336095">"ನಿಮ್ಮ ಫೋನ್ ಅನ್ಲಾಕ್ ಮಾಡಲು, ಖರೀದಿಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಕೇವಲ ಬೆರಳಚ್ಚು ಸೆನ್ಸರ್ ಸ್ಪರ್ಶಿಸಿ. ನೀವು ಸೇರಿಸುವ ಬೆರಳಚ್ಚುಗಳ ಬಗ್ಗೆ ಜಾಗರೂಕರಾಗಿರಿ. ಒಂದು ಹೆಚ್ಚಿನ ಬೆರಳಚ್ಚು ಸಹ ಇವುಗಳಲ್ಲಿ ಯಾವುದನ್ನಾದರೂ ಮಾಡಬಹುದು.\n\nಗಮನಿಸಿ: ನಿಮ್ಮ ಬೆರಳಚ್ಚು ಬಲವಾದ ಪ್ಯಾಟರ್ನ್ ಅಥವಾ ಪಿನ್ಗಿಂತ ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗಿರಬಹುದು."</string>
<string name="security_settings_fingerprint_enroll_introduction_message_unlock_disabled" msgid="4193477159493347679">"ಖರೀದಿಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಕೇವಲ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಸ್ಪರ್ಶಿಸಿ. ನೀವು ಸೇರಿಸುವ ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳ ಬಗ್ಗೆ ಕಾಳಜಿವಹಿಸಿ. ಒಂದು ಹೆಚ್ಚಿನ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸಹ ಇವುಗಳಲ್ಲಿ ಯಾವುದನ್ನಾದರೂ ಮಾಡಬಹುದು.\n\nಗಮನಿಸಿ: ಈ ಸಾಧನವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು ನೀವು ನಿಮ್ಮ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
<string name="security_settings_fingerprint_enroll_introduction_message_setup" msgid="3635924459027832861">"ನಿಮ್ಮ ಫೋನ್ ಅನ್ಲಾಕ್ ಮಾಡಲು, ಖರೀದಿಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಕೇವಲ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಸ್ಪರ್ಶಿಸಿ. ನೀವು ಯಾರ ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳನ್ನು ಸೇರಿಸುತ್ತೀರಿ ಎಂಬುದರ ಕುರಿತು ಎಚ್ಚರಿಕೆಯಿಂದಿರಿ. ಒಂದು ಸೇರಿಸಲಾದ ಮುದ್ರಣವು ಸಹ ಇವುಗಳಲ್ಲಿ ಯಾವುದನ್ನಾದರೂ ಪೂರೈಸಬಹುದು.\n\nನಿಮ್ಮ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಬಲವಾದ ಪ್ಯಾಟರ್ನ್ ಅಥವಾ ಪಿನ್ಗಿಂತಲೂ ಕಡಿಮೆ ಸುರಕ್ಷತೆ ಹೊಂದಿರಬಹುದು."</string>
- <string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="3199351118385606526">"ರದ್ದುಮಾಡು"</string>
+ <string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="3199351118385606526">"ರದ್ದುಮಾಡಿ"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue" msgid="7472492858148162530">"ಮುಂದುವರಿಸು"</string>
<string name="security_settings_fingerprint_enroll_introduction_cancel_setup" msgid="5021369420474432665">"ಸ್ಕಿಪ್"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue_setup" msgid="8386444182056861429">"ಬೆರಳಚ್ಚು ಸೇರಿಸಿ"</string>
@@ -546,8 +559,8 @@
<string name="lockpassword_password_recently_used" msgid="4687102591995446860">"ಸಾಧನ ನಿರ್ವಾಹಕ ಇತ್ತೀಚಿನ ಪಾಸ್ವರ್ಡ್ ಬಳಸಲು ಅನುಮತಿಸುವುದಿಲ್ಲ."</string>
<string name="lockpassword_pin_no_sequential_digits" msgid="6830610582179569631">"ಅಂಕಿಗಳ ಆರೋಹಣ, ಅವರೋಹಣ ಅಥವಾ ಪುನಾವರ್ತಿತ ಅನುಕ್ರಮವನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ"</string>
<string name="lockpassword_ok_label" msgid="313822574062553672">"ಸರಿ"</string>
- <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ರದ್ದುಮಾಡು"</string>
- <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ರದ್ದುಮಾಡು"</string>
+ <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ರದ್ದುಮಾಡಿ"</string>
+ <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ರದ್ದುಮಾಡಿ"</string>
<string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"ಮುಂದೆ"</string>
<string name="lock_setup" msgid="3355847066343753943">"ಸೆಟಪ್ ಪೂರ್ಣಗೊಂಡಿದೆ."</string>
<string name="device_admin_title" msgid="3562216873644263804">"ಸಾಧನ ನಿರ್ವಹಣೆ"</string>
@@ -774,7 +787,7 @@
<string name="wifi_failed_forget_message" msgid="1348172929201654986">"ನೆಟ್ವರ್ಕ್ ಮರೆಯಲು ವಿಫಲವಾಗಿದೆ"</string>
<string name="wifi_save" msgid="3331121567988522826">"ಉಳಿಸು"</string>
<string name="wifi_failed_save_message" msgid="6650004874143815692">"ನೆಟ್ವರ್ಕ್ ಉಳಿಸಲು ವಿಫಲವಾಗಿದೆ"</string>
- <string name="wifi_cancel" msgid="6763568902542968964">"ರದ್ದುಮಾಡು"</string>
+ <string name="wifi_cancel" msgid="6763568902542968964">"ರದ್ದುಮಾಡಿ"</string>
<string name="wifi_skip_anyway" msgid="6965361454438011190">"ಅದೇನೇ ಇರಲಿ ಸ್ಕಿಪ್ ಮಾಡು"</string>
<string name="wifi_dont_skip" msgid="3615535136327231588">"ಹಿಂತಿರುಗು"</string>
<string name="wifi_skipped_message" product="tablet" msgid="6761689889733331124">"ಎಚ್ಚರಿಕೆ: ನೀವು ವೈ-ಫೈ ಸ್ಕಿಪ್ ಮಾಡಿದರೆ, ಆರಂಭಿಕ ಡೌನ್ಲೋಡ್ಗಳು ಮತ್ತು ನವೀಕರಣಗಳಿಗಾಗಿ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಸೆಲ್ಯುಲಾರ್ ಡೇಟಾವನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತದೆ. ಸಂಭಾವ್ಯ ಡೇಟಾ ಶುಲ್ಕಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು, ವೈ-ಫೈ ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ."</string>
@@ -795,7 +808,7 @@
<string name="wifi_advanced_settings_label" msgid="3654366894867838338">"IP ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="wifi_advanced_not_available" msgid="5823045095444154586">"ಈ ಬಳಕೆದಾರರಿಗೆ ವೈ ಫೈ ಸುಧಾರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
<string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"ಉಳಿಸು"</string>
- <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"ರದ್ದುಮಾಡು"</string>
+ <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"ರದ್ದುಮಾಡಿ"</string>
<string name="wifi_ip_settings_invalid_ip_address" msgid="2513142355364274970">"ಮಾನ್ಯವಾದ IP ವಿಳಾಸವನ್ನು ಟೈಪ್ ಮಾಡಿ."</string>
<string name="wifi_ip_settings_invalid_gateway" msgid="8164264988361096450">"ಮಾನ್ಯವಾದ ಗೇಟ್ವೇ ವಿಳಾಸವನ್ನು ಟೈಪ್ ಮಾಡಿ."</string>
<string name="wifi_ip_settings_invalid_dns" msgid="8744583948328391047">"ಮಾನ್ಯವಾದ DNS ವಿಳಾಸವನ್ನು ಟೈಪ್ ಮಾಡಿ."</string>
@@ -999,7 +1012,7 @@
<string name="sim_change_succeeded" msgid="8556135413096489627">"ಸಿಮ್ ಪಿನ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಬದಲಾಯಿಸಲಾಗಿದೆ"</string>
<string name="sim_lock_failed" msgid="2489611099235575984">"ಸಿಮ್ ಕಾರ್ಡ್ ಲಾಕ್ ಸ್ಥಿತಿಯನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\nಬಹುಶಃ ತಪ್ಪಾದ ಪಿನ್."</string>
<string name="sim_enter_ok" msgid="6475946836899218919">"ಸರಿ"</string>
- <string name="sim_enter_cancel" msgid="6240422158517208036">"ರದ್ದುಮಾಡು"</string>
+ <string name="sim_enter_cancel" msgid="6240422158517208036">"ರದ್ದುಮಾಡಿ"</string>
<string name="sim_multi_sims_title" msgid="9159427879911231239">"ಬಹು ಸಿಮ್ ಗಳು ಕಂಡುಬಂದಿವೆ"</string>
<string name="sim_multi_sims_summary" msgid="7018740080801483990">"ಸೆಲ್ಯುಲಾರ್ ಡೇಟಾಗೆ ನೀವು ಬಯಸುವ ಸಿಮ್ ಆಯ್ಕೆಮಾಡಿ."</string>
<string name="sim_change_data_title" msgid="294357201685244532">"ಡೇಟಾ ಸಿಮ್ ಬದಲಾಯಿಸುವುದೇ?"</string>
@@ -1501,7 +1514,7 @@
<string name="clear_data_dlg_title" msgid="5605258400134511197">"ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾ ಅಳಿಸುವುದೇ?"</string>
<string name="clear_data_dlg_text" msgid="3951297329833822490">"ಈ ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್ನ ಡೇಟಾವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ. ಇದರಲ್ಲಿ ಎಲ್ಲ ಫೈಲ್ಗಳು, ಸೆಟ್ಟಿಂಗ್ಗಳು, ಖಾತೆಗಳು, ಡೇಟಾಬೇಸ್ಗಳು ಇತರೆ ಒಳಗೊಂಡಿರುತ್ತದೆ."</string>
<string name="dlg_ok" msgid="2402639055725653590">"ಸರಿ"</string>
- <string name="dlg_cancel" msgid="1674753358972975911">"ರದ್ದುಮಾಡು"</string>
+ <string name="dlg_cancel" msgid="1674753358972975911">"ರದ್ದುಮಾಡಿ"</string>
<string name="app_not_found_dlg_title" msgid="3127123411738434964"></string>
<string name="app_not_found_dlg_text" msgid="4893589904687340011">"ಸ್ಥಾಪಿಸಲಾಗಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಕಂಡುಬಂದಿಲ್ಲ."</string>
<string name="clear_data_failed" msgid="7214074331627422248">"ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ತೆರವುಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"ನೀವು ಈ ಸೇವೆಯನ್ನು ನಿಲ್ಲಿಸಿದರೆ, ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಆಫ್ ಮಾಡಿ ಹಾಗೂ ನಂತರ ಮತ್ತೆ ಆನ್ ಮಾಡುವವರೆಗೆ ಅದರ ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳು ಸದ್ಯಕ್ಕೆ ಕಾರ್ಯ ನಿರ್ವಹಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಬಹುದು."</string>
<string name="language_settings" msgid="8758655933029560944">"ಭಾಷೆಗಳು ಮತ್ತು ಇನ್ಪುಟ್"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ಭಾಷೆಗಳು ಮತ್ತು ಇನ್ಪುಟ್"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"ಕೀಬೋರ್ಡ್ & ಇನ್ಪುಟ್ ವಿಧಾನಗಳು"</string>
<string name="phone_language" msgid="7116581601133118044">"ಭಾಷೆಗಳು"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -1814,7 +1831,7 @@
<string name="print_print_jobs" msgid="3582094777756968793">"ಮುದ್ರಣ ಕಾರ್ಯಗಳು"</string>
<string name="print_print_job" msgid="7563741676053287211">"ಮುದ್ರಣ ಕಾರ್ಯ"</string>
<string name="print_restart" msgid="8373999687329384202">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
- <string name="print_cancel" msgid="3621199386568672235">"ರದ್ದುಮಾಡು"</string>
+ <string name="print_cancel" msgid="3621199386568672235">"ರದ್ದುಮಾಡಿ"</string>
<string name="print_job_summary" msgid="8472427347192930694">"<xliff:g id="PRINTER">%1$s</xliff:g>\n<xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="print_printing_state_title_template" msgid="5736107667714582025">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ಮುದ್ರಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="print_cancelling_state_title_template" msgid="7102968925358219875">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ರದ್ದು ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
@@ -2083,7 +2100,7 @@
<string name="wifi_setup_connect" msgid="7954456989590237049">"ಸಂಪರ್ಕಪಡಿಸು"</string>
<string name="wifi_setup_forget" msgid="2562847595567347526">"ಮರೆತುಬಿಡು"</string>
<string name="wifi_setup_save" msgid="3659235094218508211">"ಉಳಿಸು"</string>
- <string name="wifi_setup_cancel" msgid="3185216020264410239">"ರದ್ದುಮಾಡು"</string>
+ <string name="wifi_setup_cancel" msgid="3185216020264410239">"ರದ್ದುಮಾಡಿ"</string>
<string name="wifi_setup_status_scanning" msgid="5317003416385428036">"ನೆಟ್ವರ್ಕ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
<string name="wifi_setup_status_select_network" msgid="3960480613544747397">"ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಗೊಳಿಸಲು ಅದನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="wifi_setup_status_existing_network" msgid="6394925174802598186">"ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಗೊಳಿಸಿ"</string>
@@ -2268,7 +2285,7 @@
<string name="vpn_not_used" msgid="9094191054524660891">"(ಬಳಸಲಾಗಿಲ್ಲ)"</string>
<string name="vpn_no_ca_cert" msgid="8776029412793353361">"(ಸರ್ವರ್ ಅನ್ನು ಪರಿಶೀಲಿಸದಿರು)"</string>
<string name="vpn_no_server_cert" msgid="2167487440231913330">"(ಸರ್ವರ್ನಿಂದ ಸ್ವೀಕರಿಸಲಾಗಿದೆ)"</string>
- <string name="vpn_cancel" msgid="1979937976123659332">"ರದ್ದುಮಾಡು"</string>
+ <string name="vpn_cancel" msgid="1979937976123659332">"ರದ್ದುಮಾಡಿ"</string>
<string name="vpn_done" msgid="8678655203910995914">"ವಜಾಗೊಳಿಸು"</string>
<string name="vpn_save" msgid="4233484051644764510">"ಉಳಿಸು"</string>
<string name="vpn_connect" msgid="8469608541746132301">"ಸಂಪರ್ಕಿಸು"</string>
@@ -2324,7 +2341,7 @@
<string name="new_backup_pw_prompt" msgid="8755501377391998428">"ಸಂಪೂರ್ಣ ಬ್ಯಾಕಪ್ಗಳಿಗಾಗಿ ಹೊಸ ಪಾಸ್ವರ್ಡನ್ನು ಇಲ್ಲಿ ಟೈಪ್ ಮಾಡಿ"</string>
<string name="confirm_new_backup_pw_prompt" msgid="3238728882512787864">"ನಿಮ್ಮ ಹೊಸ ಪೂರ್ಣ ಬ್ಯಾಕಪ್ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಇಲ್ಲಿ ಮರುಟೈಪ್ ಮಾಡಿ"</string>
<string name="backup_pw_set_button_text" msgid="2387480910044648795">"ಬ್ಯಾಕಪ್ ಪಾಸ್ವರ್ಡ್ ಹೊಂದಿಸಿ"</string>
- <string name="backup_pw_cancel_button_text" msgid="8845630125391744615">"ರದ್ದುಮಾಡು"</string>
+ <string name="backup_pw_cancel_button_text" msgid="8845630125391744615">"ರದ್ದುಮಾಡಿ"</string>
<string name="additional_system_update_settings_list_item_title" msgid="214987609894661992">"ಹೆಚ್ಚುವರಿ ಸಿಸ್ಟಂ ಅಪ್ಡೇಟ್ಗಳು"</string>
<string name="selinux_status_disabled" msgid="924551035552323327">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
<string name="selinux_status_permissive" msgid="6004965534713398778">"ಅನುಮೋದನೆ"</string>
@@ -2530,10 +2547,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="7342549305933047317">"ಡಿಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"ಮರುಹೊಂದಿಸಿ"</string>
<string name="show_silently" msgid="2222875799232222056">"ಮೌನವಾಗಿ ತೋರಿಸು"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ಪ್ರಸ್ತುತ ಪರದೆಯಲ್ಲಿ ಈ ಅಧಿಸೂಚನೆಗಳನ್ನು ತೋರಿಸಲು ಧ್ವನಿ, ವೈಬ್ರೇಷನ್ ಅಥವಾ ಇಣುಕು ನೋಟ ಮಾಡಬೇಡ."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"ಅಧಿಸೂಚನೆ ಸಹಾಯಕ"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"ಅಧಿಸೂಚನೆ ಪ್ರವೇಶ"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"ಅಪ್ಲಿಕೇಶನ್ಗಳು ಅಧಿಸೂಚನೆಗಳನ್ನು ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2675,7 +2691,7 @@
<string name="notification_listener_security_warning_summary" msgid="119203147791040151">"ಸಂಪರ್ಕ ಹೆಸರುಗಳು ಮತ್ತು ನೀವು ಸ್ವೀಕರಿಸುವ ಸಂದೇಶಗಳ ಪಠ್ಯದಂತಹ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ಸೇರಿದಂತೆ <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ಗೆ ಎಲ್ಲ ಅಧಿಸೂಚನೆಗಳನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಇದಕ್ಕೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ವಜಾ ಮಾಡಲು ಅಥವಾ ಅವುಗಳು ಹೊಂದಿರುವಂತಹ ಕ್ರಿಯೆ ಬಟನ್ಗಳನ್ನು ಟ್ರಿಗ್ಗರ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. \n\nಈ ಅಪ್ಲಿಕೇಶನ್ ಸಂಬಂಧಿಸಿದ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಮತ್ತು ಅಡಚಣೆ ಮಾಡಬೇಡ ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಈ ಅಪ್ಲಿಕೇಶನ್ಗಳು ನೀಡುತ್ತದೆ."</string>
<string name="notification_listener_disable_warning_summary" msgid="6738915379642948000">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ಗೆ ನೀವು ಅಧಿಸೂಚನೆ ಪ್ರವೇಶಿಸುವಿಕೆಯನ್ನು ಆಫ್ ಮಾಡಿದರೆ, ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಪ್ರವೇಶವು ಸಹ ಆಫ್ ಆಗಬಹುದು."</string>
<string name="notification_listener_disable_warning_confirm" msgid="8333442186428083057">"ಆಫ್ ಮಾಡು"</string>
- <string name="notification_listener_disable_warning_cancel" msgid="8586417377104211584">"ರದ್ದು ಮಾಡು"</string>
+ <string name="notification_listener_disable_warning_cancel" msgid="8586417377104211584">"ರದ್ದು ಮಾಡಿ"</string>
<string name="vr_listeners_title" msgid="1318901577754715777">"VR ಸಹಾಯ ಸೇವೆಗಳು"</string>
<string name="no_vr_listeners" msgid="2689382881717507390">"ಯಾವುದೇ ಸ್ಥಾಪಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ಗಳು VR ಸಹಾಯಕ ಸೇವೆಗಳ ರೀತಿಯಲ್ಲಿ ರನ್ ಮಾಡಲು ವಿನಂತಿಸಿಲ್ಲ."</string>
<string name="vr_listener_security_warning_title" msgid="8309673749124927122">"<xliff:g id="SERVICE">%1$s</xliff:g> ಗೆ VR ಸೇವೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುವುದೇ?"</string>
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"ಸಾಧನವನ್ನು MIDI ಎಂದು ಬಳಸಿ"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ಈ ಸಾಧನವನ್ನು MIDI ಎಂದು ಬಳಸಿ"</string>
<string name="usb_use" msgid="3256040963685055320">"ಇದಕ್ಕೆ USB ಬಳಸಿ"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"ಏನೂ ಸಂಪರ್ಕಿತವಾಗಿಲ್ಲ"</string>
<string name="background_check_pref" msgid="7550258400138010979">"ಹಿನ್ನೆಲೆ ಪರಿಶೀಲಿಸಿ"</string>
<string name="background_check_title" msgid="4534254315824525593">"ಪೂರ್ಣ ಹಿನ್ನೆಲೆ ಪ್ರವೇಶ"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"ಪರದೆಯಿಂದ ಪಠ್ಯವನ್ನು ಬಳಸಿ"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"ಖಾತೆಗಳು"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ಸ್ವಯಂ-ಸಿಂಕ್ ಖಾತೆಯ ಡೇಟಾ"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ಸ್ವಯಂ-ಸಿಂಕ್ ವೈಯಕ್ತಿಕ ಖಾತೆ ಡೇಟಾ"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"ಸ್ವಯಂ-ಸಿಂಕ್ ಕೆಲಸದ ಖಾತೆಯ ಡೇಟಾ"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index b92fdae..3466dd0 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM 주소록 보기"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"발신 허용 번호 보기"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"SDN(Service Dialing Numbers) 보기"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP 목록 가져오기"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"서비스 중"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"서비스 지역 벗어남"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"긴급 통화만 허용"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"이 서비스를 중지하면 휴대전화의 일부 기능이 올바르게 작동되지 않을 수 있으며 전원을 껐다 켜야 합니다."</string>
<string name="language_settings" msgid="8758655933029560944">"언어 및 입력"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"언어 및 입력"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"키보드 및 입력 방법"</string>
<string name="phone_language" msgid="7116581601133118044">"언어"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2529,12 +2546,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"네트워크 및 인터넷"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"연결된 기기"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <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="7342549305933047317">"기본 앱"</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>
@@ -2637,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"알림 구성"</string>
+ <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>
@@ -2665,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"초기화"</string>
<string name="show_silently" msgid="2222875799232222056">"조용히 표시"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"현재 화면에서 소리, 진동, 알림 표시를 허용하지 않습니다."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"알림 어시스턴트"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"알림 액세스"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"앱에서 알림을 읽을 수 없습니다."</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2953,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"기기를 MIDI로 사용"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"이 기기를 MIDI로 사용"</string>
<string name="usb_use" msgid="3256040963685055320">"다음에 USB 사용"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"아무것도 연결되지 않음"</string>
<string name="background_check_pref" msgid="7550258400138010979">"백그라운드 확인"</string>
<string name="background_check_title" msgid="4534254315824525593">"전체 백그라운드 액세스"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"화면의 텍스트 사용"</string>
@@ -3279,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"계정"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"설정"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"계정 데이터 자동 동기화"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"개인 계정 데이터 자동 동기화"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"직장 계정 데이터 자동 동기화"</string>
</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index d336841..c5f92ff 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM картадагы дарек китепчесин көрүү"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Туруктуу терүү номерлерин көрүү"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Кызматтык терүү номерлерин көрүү"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP тизмесин алуу"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Тейлөө аймагында"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Тейлөө аймагынын сыртында"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Шашылыш чалуулар гана"</string>
@@ -1599,6 +1612,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Бул кызматты токтотсоңуз, телефонуңузду өчүрүп, кайра жандырмайынча, анын кээ бир мүмкүнчүлүктөрү туура эмес иштеп калышы мүмкүн."</string>
<string name="language_settings" msgid="8758655933029560944">"Тилдер жана киргизүү ыкмасы"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Тилдер жана киргизүү ыкмасы"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Тергич жана киргизүү ыкмалары"</string>
<string name="phone_language" msgid="7116581601133118044">"Тилдер"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2280,9 +2297,9 @@
<string name="vpn_version" msgid="1939804054179766249">"<xliff:g id="VERSION">%s</xliff:g> версиясы"</string>
<string name="vpn_forget_long" msgid="2232239391189465752">"VPN профили унутулсун"</string>
<string name="vpn_replace_vpn_title" msgid="2963898301277610248">"Учурдагы VPN алмаштырылсынбы?"</string>
- <string name="vpn_set_vpn_title" msgid="4009987321156037267">"Дайым иштеген VPN\'ди жөндөөбу?"</string>
+ <string name="vpn_set_vpn_title" msgid="4009987321156037267">"Дайым иштеген VPN\'ди жөндөө керекпи?"</string>
<string name="vpn_first_always_on_vpn_message" msgid="3025322109743675467">"Бул орнотууну куйгүзүү менен VPN ийгиликтүү туташмайынча, интернетиңиз жок болуп турат"</string>
- <string name="vpn_replace_always_on_vpn_enable_message" msgid="2577928591361606641">"Күйгүзулгөн VPN\'ңиз алмаштырылып, VPN ийгиликтүү туташмайынча, интернетиңиз жок болуп турат"</string>
+ <string name="vpn_replace_always_on_vpn_enable_message" msgid="2577928591361606641">"Күйгүзүлгөн VPN\'ңиз алмаштырылып, VPN ийгиликтүү туташмайынча, интернетиңиз жок болуп турат"</string>
<string name="vpn_replace_always_on_vpn_disable_message" msgid="3011818750025879902">"Дайым иштеген VPN кызматыңыз туташылган. Эгер башкасына туташсаңыз, учурдагы VPN алмаштырылып, дайым күйүк режими өчүрүлүп калат."</string>
<string name="vpn_replace_vpn_message" msgid="5611635724578812860">"VPN кызматы туташылган. Эгер башкасына туташсаңыз, учурдагы VPN өчүрүлөт."</string>
<string name="vpn_turn_on" msgid="2363136869284273872">"Күйгүзүү"</string>
@@ -2529,10 +2546,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="7342549305933047317">"Демейки колдонмолор"</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>
@@ -2635,7 +2650,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Эскертмелерди жөндөө"</string>
+ <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>
@@ -2663,6 +2678,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Баштапкы абалга келтирүү"</string>
<string name="show_silently" msgid="2222875799232222056">"Үнсүз көрсөтүлсүн"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Үн чыгарылбасын, дирилдебесин же бул эскертмелер учурдагы экранда көрүнбөсүн."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Эскертме жардамчысы"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Эскертмени колдонуу мүмкүнчлгү"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Колдонмолор эскертмелерди окуй алышпайт"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2951,6 +2967,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Түзмөктү MIDI катары колдонуу"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Бул түзмөктү MIDI катары колдонуу"</string>
<string name="usb_use" msgid="3256040963685055320">"USB туташууну төмөнкү максатта колдонуу"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Эч нерсе туташпай турат"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Фондо текшерүү"</string>
<string name="background_check_title" msgid="4534254315824525593">"Фондук режимде толук мүмкүнчүлүк"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Экрандагы текстти колдонуу"</string>
@@ -3277,4 +3295,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Каттоо эсептери"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Конфигурациялоо"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Аккаунтту авто-шайкештештирүү"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Жеке аккаунтту авто-шайкешт."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Жумуш аккаунтун авто-шайкешт."</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 40654cf..c30ef18 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"ເບິ່ງສະໝຸດທີ່ຢູ່ໃນ SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ເບິ່ງໝາຍເລກຈຳກັດການໂທອອກ"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"ເບິ່ງໝາຍເລກບໍລິການໂທອອກ"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"ຂໍລາຍຊື່ PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"ກຳລັງໃຫ້ບໍລິການ"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"ນອກເຂດໃຫ້ບໍລິການ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"ໂທສຸກເສີນເທົ່ານັ້ນ"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"ຫາກທ່ານຢຸດບໍລິການນີ້ ບາງຄຸນສົມບັດຂອງໂທລະສັບທ່ານອາດເຮັດວຽກໄດ້ບໍ່ຖືກຕ້ອງ ຈົນກວ່າທ່ານຈະປິດແລ້ວເປີດໃໝ່ໃໝ່ອີກຄັ້ງ."</string>
<string name="language_settings" msgid="8758655933029560944">"ພາສາ ແລະ ການປ້ອນຂໍ້ມູນ"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ພາສາ ແລະ ການປ້ອນຂໍ້ມູນ"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"ແປ້ນພິມ & ວິທີປ້ອນຂໍ້ມູນເຂົ້າ"</string>
<string name="phone_language" msgid="7116581601133118044">"ພາສາ"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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">"User & accounts"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"ແອັບເລີ່ມຕົ້ນ"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Language: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"ການຕັ້ງຄ່າ"</string>
<string name="search_menu" msgid="6283419262313758339">"ການຕັ້ງຄ່າການຊອກຫາ"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"ປັບແຕ່ງການແຈ້ງເຕືອນ"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"ຣີເຊັດ"</string>
<string name="show_silently" msgid="2222875799232222056">"ສະແດງແບບມິດໆ"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ບໍ່ໃຊ້ສຽງ, ສັ່ນ ຫຼື ເຫັນການແຈ້ງເຕືອນເຫຼົ່ານີ້ໃນໜ້າຈໍປັດຈຸບັນ."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"ຕົວຊ່ວຍການແຈ້ງເຕືອນ"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"ການເຂົ້າເຖິງການແຈ້ງເຕືອນ"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"ແອັບຯບໍ່ສາມາດອ່ານການແຈ້ງເຕືອນໄດ້"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"ໃຊ້ອຸປະກອນເປັນ MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ໃຊ້ອຸປະກອນນີ້ເປັນ MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"ໃຊ້ USB ເພື່ອ"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"ບໍ່ໄດ້ເຊື່ອມຕໍ່ຫຍັງ"</string>
<string name="background_check_pref" msgid="7550258400138010979">"ການກວດໃນພື້ນຫຼັງ"</string>
<string name="background_check_title" msgid="4534254315824525593">"ການເຂົ້າເຖິງພື້ນຫຼັງເຕັມສ່ວນ"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"ໃຊ້ຂໍ້ຄວາມຈາກໜ້າຈໍ"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"ບັນຊີ"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"ຕັ້ງຄ່າ"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ຊິ້ງຂໍ້ມູນບັນຊີອັດຕະໂນມັດ"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ຊິ້ງຂໍ້ມູນບັນຊີສ່ວນຕົວອັດຕະໂນມັດ"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"ຊິ້ງຂໍ້ມູນບັນຊີບ່ອນເຮັດວຽກອັດຕະໂນມັດ"</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index fa39cf3..fffe808 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Žiūrėti SIM kortelės adresų knygą"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Žiūrėti fiksuoto rinkimo numerius"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Žiūrėti paslaugos renkamus numerius"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Gauti PDP sąrašą"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Aptarnaujama"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Paslaugos neteikiamos"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Tik skambučiai pagalbos numeriu"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Jei sustabdysite šią paslaugą, kai kurios telefono funkcijos gali tinkamai nebeveikti, kol jį išjungsite ir vėl įjungsite."</string>
<string name="language_settings" msgid="8758655933029560944">"Kalbos ir įvestis"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Kalbos ir įvestis"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klaviatūra ir įvesties metodai"</string>
<string name="phone_language" msgid="7116581601133118044">"Kalbos"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2574,10 +2591,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Tinkas ir internetas"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Prijungti įrenginiai"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Programos ir pranešimai"</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">"Naudotojas ir paskyros"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Numatytosios programos"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Kalba: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Nustatymai"</string>
<string name="search_menu" msgid="6283419262313758339">"Paieškos nustatymai"</string>
@@ -2680,7 +2695,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Pakeisti darbo profil. garsus?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Pakeisti"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Dabartiniai darbo profilio garsai bus pakeisti asmeninio profilio garsais"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Pranešimų konfigūravimas"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Pranešimų nuostatos"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Išplėstiniai"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Darbo profilio pranešimai"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsuojanti įspėjimo šviesa"</string>
@@ -2708,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Nustatyti iš naujo"</string>
<string name="show_silently" msgid="2222875799232222056">"Rodyti tyliai"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Neskambėti, nevibruoti arba nerodyti šių pranešimų dabartiniame ekrane."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Pranešimų pagelbiklis"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Prieiga prie pranešimų"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Programos negali skaityti pranešimų"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3012,6 +3028,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Naudoti įrenginį kaip MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Naudoti šį įrenginį kaip MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Naudojant USB"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nėra jokių prijungtų įrenginių"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Fono tikrinimas"</string>
<string name="background_check_title" msgid="4534254315824525593">"Visateisė prieiga prie fono"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Naudoti tekstą iš ekrano"</string>
@@ -3350,4 +3368,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Paskyros"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigūruoti"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autom. sinchr. pask. duomenis"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Aut. sinchr. asm. pask. duom."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Aut. sinchr. darbo pask. duom."</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 8a74bb3..5d4283a 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -46,7 +46,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Skatīt SIM adrešu grāmatu"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Fiksētās iezvanes numuru skatīšana"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Pakalpojuma iezvanes numuru skatīšana"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Saņemt PDP sarakstu"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Darbojas"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Nedarbojas"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Tikai ārkārtas izsaukumi"</string>
@@ -1611,6 +1624,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ja apturēsiet šī pakalpojuma darbību, dažas tālruņa funkcijas var nedarboties pareizi līdz brīdim, kad tālrunis tiks izslēgts un atkal ieslēgts."</string>
<string name="language_settings" msgid="8758655933029560944">"Valodas un ievade"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Valodas un ievade"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastatūra un ievades metodes"</string>
<string name="phone_language" msgid="7116581601133118044">"Valodas"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2552,10 +2569,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Tīkls un internets"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Pievienotās ierīces"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Lietotnes un paziņojumi"</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">"Lietotāji un konti"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Noklusējuma lietotnes"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Valoda: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Iestatījumi"</string>
<string name="search_menu" msgid="6283419262313758339">"Meklēšanas iestatījumi"</string>
@@ -2658,7 +2673,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Aizstāt darba profila signālus?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Aizstāt"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Jūsu pašreizējā darba profila signāli tiks aizstāti ar jūsu personiskā profila signāliem."</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Paziņojumu konfigurēšana"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Paziņojumu preferences"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Papildu"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Darba paziņojumi"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsa paziņojuma indikators"</string>
@@ -2686,6 +2701,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Atiestatīt"</string>
<string name="show_silently" msgid="2222875799232222056">"Rādīt bez skaņas signāla"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Nerādīt šos paziņojumus pašreizējā ekrāna skatā, kā arī neatskaņot to skaņas signālu un nevibrēt"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Paziņojumu palīgs"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Piekļuve paziņojumiem"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Lietotnēs nevar lasīt paziņojumus."</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2981,6 +2997,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Izmantot ierīci MIDI režīmā"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Izmantot šo ierīci MIDI režīmā"</string>
<string name="usb_use" msgid="3256040963685055320">"Ar USB var"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nekas nav pievienots"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Fona pārbaude"</string>
<string name="background_check_title" msgid="4534254315824525593">"Pilna piekļuve fonam"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Izmantot ekrānā redzamo tekstu"</string>
@@ -3313,4 +3331,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Konti"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurācija"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autom. sinhronizēt konta datus"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Aut. sinhr. pers. konta datus"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Aut. sinhr. darba konta datus"</string>
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index ef83816..55bac42 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Прикажи SIM адресар"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Прикажи броеви на фиксно бирање"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Прикажи броеви за бирање служби"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Добиј список со PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Во употреба"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Надвор од употреба"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Само итни повици"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ако ја запрете оваа услуга, некои карактеристики на вашиот телефон може да престанат да работат правилно, додека не го исклучите и повторно не го вклучите."</string>
<string name="language_settings" msgid="8758655933029560944">"Јазици и внесување"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Јазици и внесување"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Тастатура и методи на внес"</string>
<string name="phone_language" msgid="7116581601133118044">"Јазици"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"Стандардни апликации"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Конфигурирајте известувања"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Ресетирај"</string>
<string name="show_silently" msgid="2222875799232222056">"Покажи тивко"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Прикажувај ги овие апликации на тековниот екран без звук, вибрации или ѕиркање."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Помошник за известувања"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Пристап кон известување"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Апликациите не можат да читаат известувања"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Користете го уредот како MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Користете го уредов како MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Користете USB за"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ништо не е поврзано"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Проверка на заднината"</string>
<string name="background_check_title" msgid="4534254315824525593">"Целосен пристап до заднината"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Користи го текстот од екранот"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Сметки"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Конфигурирајте"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Автосинхр. податоци за сметка"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Автосинхр. лични податоци"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Автосинхр. подат. за службена"</string>
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 03a9246..a1eb21f 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"സിം വിലാസ പുസ്തകം കാണുക"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"സ്ഥിര ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"സർവീസ് ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP ലിസ്റ്റ് സ്വീകരിക്കുക"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"അറ്റകുറ്റപ്പണിയിൽ"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"സേവനം ലഭ്യമല്ല"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"അടിയന്തിര കോളുകൾ മാത്രം"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"നിങ്ങൾ ഈ സേവനം നിർത്തുകയാണെങ്കിൽ, നിങ്ങളുടെ ഫോൺ ഓഫാക്കി വീണ്ടും ഓണാക്കുന്നതുവരെ അതിലെ ചില സവിശേഷതകൾ ശരിയായി പ്രവർത്തിക്കുന്നത് അവസാനിപ്പിക്കാനിടയുണ്ട്."</string>
<string name="language_settings" msgid="8758655933029560944">"ഭാഷകളും ഇൻപുട്ടും"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ഭാഷകളും ഇൻപുട്ടും"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"കീബോർഡും ടൈപ്പുചെയ്യൽ രീതികളും"</string>
<string name="phone_language" msgid="7116581601133118044">"ഭാഷകൾ"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"ഡിഫോൾട്ട് ആപ്സ്"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"അറിയിപ്പ് കോൺഫിഗർചെയ്യൂ"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"പുനഃക്രമീകരിക്കുക"</string>
<string name="show_silently" msgid="2222875799232222056">"നിശബ്ദമായി കാണിക്കുക"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ഈ അറിയിപ്പുകൾ ശബ്ദമുണ്ടാക്കുകയോ വൈബ്രേറ്റുചെയ്യുകയോ നിലവിലെ സ്ക്രീനിലെ കാഴ്ചയിൽ കാണിക്കുകയോ അരുത്."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"അറിയിപ്പ് സഹായി"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"അറിയിപ്പ് ക്രമീകരണം"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"അപ്ലിക്കേഷനുകൾക്ക് അറിയിപ്പുകൾ വായിക്കാനായില്ല"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"MIDI ആയി ഉപകരണം ഉപയോഗിക്കുക"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"MIDI ആയി ഈ ഉപകരണം ഉപയോഗിക്കുക"</string>
<string name="usb_use" msgid="3256040963685055320">"ഇനിപ്പറയുന്നതിന് USB ഉപയോഗിക്കുക"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"ഒന്നും കണക്റ്റുചെയ്തിട്ടില്ല"</string>
<string name="background_check_pref" msgid="7550258400138010979">"പശ്ചാത്തല പരിശോധന"</string>
<string name="background_check_title" msgid="4534254315824525593">"പൂർണ്ണ പശ്ചാത്തല ആക്സസ്"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"സ്ക്രീനിലെ ടെക്സ്റ്റ് ഉപയോഗിക്കുക"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"അക്കൗണ്ടുകൾ"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"ക്രമീകരിക്കുക"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"അക്കൗണ്ട് വിവരങ്ങൾ സ്വയമേവ സമന്വയിപ്പിക്കുക"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"വ്യക്തിഗത അക്കൗണ്ട് വിവരങ്ങൾ സ്വയമേവ സമന്വയിപ്പിക്കുക"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"ഔദ്യോഗിക അക്കൗണ്ട് വിവരങ്ങൾ സ്വയമേവ സമന്വയിപ്പിക്കുക"</string>
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 5f09887..6e7010c 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM хаягийн лавлахыг харах"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Тогтвортой залгах дугаарыг харах"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Үйлчилгээний Залгах Дугаарыг харах"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP жагсаалт авах"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Үйлчилгээнд байгаа"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Үйлчилгээнээс гарсан"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Зөвхөн яаралтай дуудлага"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Хэрэв та энэ үйлчилгээг зогсоовол утсаа унтраагаад асаахаас нааш таны утасны зарим функцууд зөв ажиллахаа больж магадгүй."</string>
<string name="language_settings" msgid="8758655933029560944">"Хэл, оролт"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Хэл, оролт"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Гар & оруулах аргууд"</string>
<string name="phone_language" msgid="7116581601133118044">"Хэл"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"Өгөгдмөл апп"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Мэдэгдлийг оновчлох"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Дахин шинэчлэх"</string>
<string name="show_silently" msgid="2222875799232222056">"Чимээгүй харуулах"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Эдгээр мэдэгдлүүдийг одоогийн дэлгэцэд харахдаа дуугүй, чичиргээгүй болон яаралтай гаргаж ирэхгүй болгож тохируулна уу."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Мэдэгдлийн туслагч"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Мэдэгдлийн хандалт"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Апп-ууд мэдэгдлийг уншиж чадахгүй"</string>
<!-- String.format failed for translation -->
@@ -2950,6 +2966,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Төхөөрөмжийг MIDI горимоор ашиглах"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Энэ төхөөрөмжийг MIDI горимоор ашиглах"</string>
<string name="usb_use" msgid="3256040963685055320">"USB ашиглах"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Холбогдсон зүйл алга"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Дэвсгэрийг шалгах"</string>
<string name="background_check_title" msgid="4534254315824525593">"Бүтэн дэвсгэрийн хандалт"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Дэлгэцийн текстийг ашиглах"</string>
@@ -3276,4 +3294,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Бүртгэл"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Хэлбэрт оруулах"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Бүртгэлийн өгөгдлийг автоматаар синк хийх"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Хувийн бүртгэлийн өгөгдлийг автоматаар синк хийх"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Ажлын бүртгэлийн өгөгдлийг автоматаар синк хийх"</string>
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 90d68c7..189d270 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"सिम अॅड्रेस बुक पहा"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"निश्चित डायलिंग नंबर पहा"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"सेवा डायलिंग नंबर पहा"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP सूची मिळवा"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"सेवेत"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"सेवाबाह्य"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"फक्त आणीबाणीचे कॉल"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"आपण ही सेवा थांबविल्यास, आपण तीचा पॉवर बंद करून पुन्हा चालू करेपर्यंत आपल्या टॅब्लेटची काही वैशिष्ट्ये योग्यरितीने कार्य करणे थांबवू शकतात."</string>
<string name="language_settings" msgid="8758655933029560944">"भाषा आणि इनपुट"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"भाषा आणि इनपुट"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"कीबोर्ड आणि इनपुट पद्धती"</string>
<string name="phone_language" msgid="7116581601133118044">"भाषा"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"डीफॉल्ट अॅप्स"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"सूचना कॉन्फिगर करा"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"रीसेट करा"</string>
<string name="show_silently" msgid="2222875799232222056">"शांतपणे दर्शवा"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ध्वनी, कंपन करू नका किंवा वर्तमान स्क्रीनवर दृश्यामध्ये या सूचना दर्शवू नका."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"सूचना सहाय्यक"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"सूचना प्रवेश"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"अॅप्स सूचनांचे वाचन करु शकत नाहीत"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"MIDI म्हणून डिव्हाइसचा वापर करा"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"या डिव्हाइसचा MIDI म्हणून वापर करा"</string>
<string name="usb_use" msgid="3256040963685055320">"USB वापरा आणि"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"काहीही कनेक्ट केले नाही"</string>
<string name="background_check_pref" msgid="7550258400138010979">"पार्श्वभूमी तपासणे"</string>
<string name="background_check_title" msgid="4534254315824525593">"पूर्ण पार्श्वभूमी प्रवेश"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"स्क्रीनवरील मजकूर वापरा"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"खाती"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"कॉन्फिगर करा"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"खाते डेटा स्वयं संकालित करा"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"वैयक्तिक खाते डेटा स्वयं संकालित करा"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"कार्य खाते डेटा स्वयं संकालित करा"</string>
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 5d521e2..941fc06 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Lihat Buku Alamat SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Lihat Nombor Dailan Tetap"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Lihat Nombor Dailan Servis"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Dapatkan Senarai PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Berfungsi"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Rosak"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Panggilan Kecemasan Sahaja"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Jika anda menghentikan perkhidmatan ini, beberapa ciri telefon anda boleh berhenti berfungsi dengan betul sehingga anda mematikannya dan kemudian menghidupkannya semula."</string>
<string name="language_settings" msgid="8758655933029560944">"Bahasa & input"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Bahasa & input"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Papan kekunci & kaedah input"</string>
<string name="phone_language" msgid="7116581601133118044">"Bahasa"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rangkaian & Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Peranti yang disambungkan"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apl & pemberitahuan"</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">"Pengguna & akaun"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Apl lalai"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Bahasa: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Tetapan"</string>
<string name="search_menu" msgid="6283419262313758339">"Tetapan carian"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurasikan pemberitahuan"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Tetapkan semula"</string>
<string name="show_silently" msgid="2222875799232222056">"Tunjukkan secara senyap"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Jangan berbunyi, bergetar atau mengintai pemberitahuan ini sehingga kelihatan pada skrin semasa."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Pembantu pemberitahuan"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Akses pemberitahuan"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apl tidak boleh membaca pemberitahuan"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Gunakan peranti sebagai MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Gunakan peranti ini sebagai MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Gunakan USB untuk"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Tiada apa-apa yang disambungkan"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Semakan latar belakang"</string>
<string name="background_check_title" msgid="4534254315824525593">"Akses latar belakang penuh"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Gunakan teks daripada skrin"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Akaun"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurasikan"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autosegerak data akaun"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Autosegerak data akaun peribadi"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Autosegerak data akaun kerja"</string>
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index de5746b..c527123 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM ထဲရှိ လိပ်စာ စာအုပ်ကိုကြည့်ပါ"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားကြည့်မည်"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"ခေါ်ဆိုသည့်ဝန်ဆောင်မှုနံပါတ်အားကြည့်မည်"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP စာရင်းရယူပါ"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"ဝန်ဆောင်မှုရှိပါသည်"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"ဆက်သွယ်မှုဧရိယာပြင်ပ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"အရေးပေါ်ခေါ်ဆိုမှုများသာ"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"အကယ်၍ဤဝန်ဆောင်မှုကိုရပ်ဆိုင်းလျှင် သင့်ဖုန်း၏အချို့သောလုပ်ဆောင်ချက်များမှာ ပါဝါပိတ်ပြီး နောက်တခါပြန်လည်ဖွင့်သည့်အထိ ကောင်းစွာအလုပ်လုပ်မည်မဟုတ်ပါ"</string>
<string name="language_settings" msgid="8758655933029560944">"ဘာသာစကား & ထည့်သွင်းစနစ်"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ဘာသာစကား & ထည့်သွင်းစနစ်"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"ကီးဘုတ်နှင့်ထည့်သွင်းရန်နည်းလမ်းများ"</string>
<string name="phone_language" msgid="7116581601133118044">"ဘာသာစကားများ"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"မူရင်းအက်ပ်များ"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"အကြောင်းကြားချက်များ သတ်မှတ်ခြင်း"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"ပြန်လည်သတ်မှတ်ပါ"</string>
<string name="show_silently" msgid="2222875799232222056">"တိတ်တဆိတ်ပြပါ"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"အသံပြုခြင်း၊ တုန်ခါခြင်း၊ သို့မဟုတ် လက်ရှိမျက်နှာပြင်တွင် ဤသတိပေးချက်များကို ပြခြင်းများ မပြုလုပ်ပါနှင့်။"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"သတိပေးချက် အကူအညီ"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"အကြောင်းကြားချက်ကို ဖွင့်သုံးခြင်း"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"အကြောင်းကြားချက်များကို အပလီကေးရှင်းများက မဖတ်နိုင်ပါ။"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"စက်ပစ္စည်းကို MIDI အဖြစ်အသုံးပြုပါ"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ဤစက်ပစ္စည်းကို MIDI အဖြစ်အသုံးပြုပါ"</string>
<string name="usb_use" msgid="3256040963685055320">"USB ကို အောက်ပါအတွက် အသုံးပြုပါ -"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"မည်သည့်အရာမျှ ချိတ်ဆက်မထားပါ"</string>
<string name="background_check_pref" msgid="7550258400138010979">"နောက်ခံကို စစ်ကြည့်ပါ"</string>
<string name="background_check_title" msgid="4534254315824525593">"နောက်ခံကို အပြည့်အဝ သုံးနိုင်ခွင့်"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"မျက်နှာပြင်မှ စာသားကိုသုံးမည်"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"အကောင့်များ"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"စီစဉ်သတ်မှတ်ပါ"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"အကောင့်ဒေတာ အော်တိုစင့်ခ်လုပ်ပါ"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ကိုယ်ပိုင်အကောင့်ဒေတာ အော်တိုစင့်ခ်လုပ်ပါ"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"အကောင့်ဒေတာ အော်တိုစင့်ခ်လုပ်ပါ"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 14410c0..095bc6d 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Se adressebok for SIM-kort"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vis faste numre"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Vis tjenestenummer"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Hent PDP-liste"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Fungerer som normalt"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ute av drift"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Bare nødanrop"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Hvis du stopper denne tjenesten, kan noen av funksjonene i telefonen din slutte å virke slik de skal inntil du slår den av og deretter på igjen."</string>
<string name="language_settings" msgid="8758655933029560944">"Språk og inndata"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Språk og inndata"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastatur og inndatametoder"</string>
<string name="phone_language" msgid="7116581601133118044">"Språk"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Nettverk og Internett"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Tilkoblede enheter"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apper og varsler"</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">"Bruker og kontoer"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Standardapper"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Språk: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Innstillinger"</string>
<string name="search_menu" msgid="6283419262313758339">"Søkeinnstillinger"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurer varsler"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Tilbakestill"</string>
<string name="show_silently" msgid="2222875799232222056">"Vis uten lyd"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Disse varslene vises ikke kjapt på skjermen – verken med vibrering eller lyd."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Varselassistent"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Varseltilgang"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apper kan ikke lese varsler"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"å bruke enheten som MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Bruk denne enheten som MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Bruk USB for"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ingenting er tilkoblet"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Bakgrunnssjekk"</string>
<string name="background_check_title" msgid="4534254315824525593">"Full bakgrunnstilgang"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Bruk teksten fra skjermen"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Kontoer"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurer"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autosynk. av kontodata"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Autosynk. av pers. kontodata"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Autosynk. av jobbkontodata"</string>
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index dd19c87..ed82c1b 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM को ठेगाना पुस्तिका हेर्नुहोस्"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"स्थिर डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"सेवा डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP को सूची प्राप्त गर्नुहोस्"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"सेवामा"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"सेवा उपलब्ध छैन"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"आपतकालीन कल मात्र"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"यदि तपाईँले यस सेवालाई बन्द गर्नु भएको खण्डमा तपाईँको फोनका केही सुविधाहरू सही तवरले काम गर्न बन्द गर्न सक्छन् तबसम्म तपाईँले फेरि यसलाई पावर बन्द गरी फेरि सुरु गर्नु हुन्न।"</string>
<string name="language_settings" msgid="8758655933029560944">"भाषा र इनपुट"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"भाषा र इनपुट"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"किबोर्ड र इनपुट विधिहरू"</string>
<string name="phone_language" msgid="7116581601133118044">"भाषाहरू"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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">"प्रयोगकर्ता रamp; खाता"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"पूर्वनिर्धारित अनुप्रयोगहरू"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"सूचनाहरू कन्फिगर गर्नुहोस्"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"रिसेट गर्नुहोस्"</string>
<string name="show_silently" msgid="2222875799232222056">"मौन रूपमा देखाउनुहोस्"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ध्वनि, कम्पन नगर्नुहोस् वा हालको स्क्रिनमा यी सूचनाहरूलाई दृश्यमा नचियाउनुहोस्।"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"सूचना सहायक"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"सूचना पहुँच"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"अनुप्रयोगहरूले सूचनाहरू पढ्न सक्दैन"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"यन्त्रलाई MIDI को रूपमा प्रयोग गर्नुहोस्"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"यस यन्त्रलाई MIDI को रूपमा प्रयोग गर्नुहोस्"</string>
<string name="usb_use" msgid="3256040963685055320">"निम्न कार्यका लागि USB प्रयोग गर्नुहोस्"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"कुनै पनि कुरा जोडिएको छैन"</string>
<string name="background_check_pref" msgid="7550258400138010979">"पृष्ठभूमि जाँच"</string>
<string name="background_check_title" msgid="4534254315824525593">"पूर्ण पृष्ठभूमि पहुँच"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"स्क्रिनबाट पाठ प्रयोग गर्नुहोस्"</string>
@@ -3280,4 +3298,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"खाताहरू"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"कन्फिगर गर्नुहोस्"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"खाताको डेटा स्वतः सिंक गर्नुहोस्"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"व्यक्तिगत खाताको डेटा स्वतः सिंक गर्नुहोस्"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"कार्य खाताको डेटा स्वतः सिंक गर्नुहोस्"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 444e54f..2faad80 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Adresboek op simkaart weergeven"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vaste nummers weergeven"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Servicenummers weergeven"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP-lijst ophalen"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"In gebruik"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Niet in gebruik"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Alleen noodoproepen"</string>
@@ -268,7 +281,7 @@
<string name="radio_controls_title" msgid="3447085191369779032">"Meer"</string>
<string name="wireless_networks_settings_title" msgid="3643009077742794212">"Draadloos en netwerken"</string>
<string name="radio_controls_summary" msgid="2837395036275123133">"Wifi, Bluetooth, vliegtuigmodus, mobiele netwerken en VPN\'s beheren"</string>
- <string name="cellular_data_title" msgid="2525947635539415202">"Mobiele gegevens"</string>
+ <string name="cellular_data_title" msgid="2525947635539415202">"Mobiele data"</string>
<string name="calls_title" msgid="3544471959217176768">"Oproepen"</string>
<string name="sms_messages_title" msgid="1778636286080572535">"Sms\'jes"</string>
<string name="cellular_data_summary" msgid="4575500999626276446">"Geg.gebruik via mobiel netwerk toestaan"</string>
@@ -681,7 +694,7 @@
<string name="wifi_suspend_optimizations" msgid="1220174276403689487">"Wifi-optimalisatie"</string>
<string name="wifi_suspend_optimizations_summary" msgid="4151428966089116856">"Accugebruik minimaliseren wanneer wifi is ingeschakeld"</string>
<string name="wifi_limit_optimizations_summary" msgid="9000801068363468950">"Accugebruik van wifi beperken"</string>
- <string name="wifi_switch_away_when_unvalidated" msgid="1410499115509796174">"Overschakelen naar mobiele gegevens als wifi geen internettoegang meer heeft."</string>
+ <string name="wifi_switch_away_when_unvalidated" msgid="1410499115509796174">"Overschakelen naar mobiele data als wifi geen internettoegang meer heeft."</string>
<string name="wifi_cellular_data_fallback_title" msgid="8741291033791891668">"Automatisch overschakelen naar mobiele data"</string>
<string name="wifi_cellular_data_fallback_summary" msgid="2641527693037426430">"Mobiele data gebruiken wanneer er geen internettoegang via wifi is. Datagebruik kan in rekening worden gebracht."</string>
<string name="wifi_add_network" msgid="6234851776910938957">"Netwerk toevoegen"</string>
@@ -777,9 +790,9 @@
<string name="wifi_cancel" msgid="6763568902542968964">"Annuleren"</string>
<string name="wifi_skip_anyway" msgid="6965361454438011190">"Toch overslaan"</string>
<string name="wifi_dont_skip" msgid="3615535136327231588">"Terug"</string>
- <string name="wifi_skipped_message" product="tablet" msgid="6761689889733331124">"WAARSCHUWING: als je wifi overslaat, gebruikt je telefoon alleen mobiele gegevens voor initiële downloads en updates. Maak verbinding met wifi om te voorkomen dat er gegevenskosten in rekening worden gebracht."</string>
- <string name="wifi_skipped_message" product="device" msgid="1385490367826852775">"WAARSCHUWING: als je wifi overslaat, gebruikt apparaat alleen mobiele gegevens voor initiële downloads en updates. Maak verbinding met wifi om te voorkomen dat er gegevenskosten in rekening worden gebracht."</string>
- <string name="wifi_skipped_message" product="default" msgid="6084295135297772350">"WAARSCHUWING: als je wifi overslaat, gebruikt je telefoon alleen mobiele gegevens voor initiële downloads en updates. Maak verbinding met wifi om te voorkomen dat er gegevenskosten in rekening worden gebracht."</string>
+ <string name="wifi_skipped_message" product="tablet" msgid="6761689889733331124">"WAARSCHUWING: als je wifi overslaat, gebruikt je telefoon alleen mobiele data voor initiële downloads en updates. Maak verbinding met wifi om te voorkomen dat er datakosten in rekening worden gebracht."</string>
+ <string name="wifi_skipped_message" product="device" msgid="1385490367826852775">"WAARSCHUWING: als je wifi overslaat, gebruikt apparaat alleen mobiele data voor initiële downloads en updates. Maak verbinding met wifi om te voorkomen dat er datakosten in rekening worden gebracht."</string>
+ <string name="wifi_skipped_message" product="default" msgid="6084295135297772350">"WAARSCHUWING: als je wifi overslaat, gebruikt je telefoon alleen mobiele data voor initiële downloads en updates. Maak verbinding met wifi om te voorkomen dat er datakosten in rekening worden gebracht."</string>
<string name="wifi_and_mobile_skipped_message" product="tablet" msgid="6324917391996718760">"Als je wifi overslaat:\n\n"<li>"Je tablet heeft geen verbinding met internet."</li>\n\n<li>"Je ontvangt geen software-updates totdat je verbinding maakt met internet."</li>\n\n<li>"Je kunt op dit moment geen functies voor apparaatbescherming activeren."</li></string>
<string name="wifi_and_mobile_skipped_message" product="device" msgid="1110629752293998468">"Als je wifi overslaat:\n\n"<li>"Je apparaat heeft geen verbinding met internet."</li>\n\n<li>"Je ontvangt geen software-updates totdat je verbinding maakt met internet."</li>\n\n<li>"Je kunt op dit moment geen functies voor apparaatbescherming activeren."</li></string>
<string name="wifi_and_mobile_skipped_message" product="default" msgid="8271524692702309267">"Als je wifi overslaat:\n\n"<li>"Heeft je telefoon geen verbinding met internet."</li>\n\n<li>"Ontvang je geen software-updates totdat je verbinding maakt met internet."</li>\n\n<li>"Kun je op dit moment geen functies voor apparaatbescherming activeren."</li></string>
@@ -1001,11 +1014,11 @@
<string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string>
<string name="sim_enter_cancel" msgid="6240422158517208036">"Annuleren"</string>
<string name="sim_multi_sims_title" msgid="9159427879911231239">"Meerdere simkaarten gevonden"</string>
- <string name="sim_multi_sims_summary" msgid="7018740080801483990">"Kies de simkaart die je wilt gebruiken voor mobiele gegevens."</string>
+ <string name="sim_multi_sims_summary" msgid="7018740080801483990">"Kies de simkaart die je wilt gebruiken voor mobiele data."</string>
<string name="sim_change_data_title" msgid="294357201685244532">"Sim voor gegevens wijzigen?"</string>
- <string name="sim_change_data_message" msgid="1313940695939674633">"<xliff:g id="NEW_SIM">%1$s</xliff:g> in plaats van <xliff:g id="OLD_SIM">%2$s</xliff:g> gebruiken voor mobiele gegevens?"</string>
+ <string name="sim_change_data_message" msgid="1313940695939674633">"<xliff:g id="NEW_SIM">%1$s</xliff:g> in plaats van <xliff:g id="OLD_SIM">%2$s</xliff:g> gebruiken voor mobiele data?"</string>
<string name="sim_preferred_title" msgid="5567909634636045268">"Voorkeurs-simkaart updaten?"</string>
- <string name="sim_preferred_message" msgid="301251431163650167">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is de enige simkaart in je apparaat. Wil je deze simkaart gebruiken voor mobiele gegevens, oproepen en sms\'jes?"</string>
+ <string name="sim_preferred_message" msgid="301251431163650167">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is de enige simkaart in je apparaat. Wil je deze simkaart gebruiken voor mobiele data, oproepen en sms\'jes?"</string>
<string name="wrong_pin_code_pukked" msgid="4003655226832658066">"Onjuiste pincode voor simkaart. Je moet nu contact opnemen met je provider om je apparaat te ontgrendelen."</string>
<plurals name="wrong_pin_code" formatted="false" msgid="1582398808893048097">
<item quantity="other">Onjuiste pincode voor simkaart. Je hebt nog <xliff:g id="NUMBER_1">%d</xliff:g> pogingen over.</item>
@@ -1366,7 +1379,7 @@
<string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Bevestig de pincode"</string>
<string name="lockpassword_confirm_passwords_dont_match" msgid="5140892109439191415">"Wachtwoorden komen niet overeen"</string>
<string name="lockpassword_confirm_pins_dont_match" msgid="7226244811505606217">"Pincodes komen niet overeen"</string>
- <string name="lockpassword_choose_lock_generic_header" msgid="3811438094903786145">"Ontgrendelingsmethode selecteren"</string>
+ <string name="lockpassword_choose_lock_generic_header" msgid="3811438094903786145">"Ontgrendelingsmethode"</string>
<string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Wachtwoord is ingesteld"</string>
<string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Pincode is ingesteld"</string>
<string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Patroon is ingesteld"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Als je deze service stopt, werken bepaalde functies van je telefoon mogelijk pas weer correct nadat je de telefoon hebt uitgeschakeld en weer ingeschakeld."</string>
<string name="language_settings" msgid="8758655933029560944">"Talen en invoer"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Talen en invoer"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Toetsenbord en invoermethoden"</string>
<string name="phone_language" msgid="7116581601133118044">"Talen"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2191,8 +2208,8 @@
<string name="data_usage_label_foreground" msgid="4938034231928628164">"Voorgrond"</string>
<string name="data_usage_label_background" msgid="3225844085975764519">"Achtergrond"</string>
<string name="data_usage_app_restricted" msgid="3568465218866589705">"beperkt"</string>
- <string name="data_usage_disable_mobile" msgid="2613595056882494652">"Mobiele gegevens uitschakelen?"</string>
- <string name="data_usage_disable_mobile_limit" msgid="3934211003105066167">"Mobiele geg.limiet inst."</string>
+ <string name="data_usage_disable_mobile" msgid="2613595056882494652">"Mobiele data uitschakelen?"</string>
+ <string name="data_usage_disable_mobile_limit" msgid="3934211003105066167">"Mobiele datalimiet inst."</string>
<string name="data_usage_disable_4g_limit" msgid="6233554774946681175">"4G-gegevenslimiet instellen"</string>
<string name="data_usage_disable_3g_limit" msgid="2558557840444266906">"2G-3G-gegevenslimiet instellen"</string>
<string name="data_usage_disable_wifi_limit" msgid="1394901415264660888">"Wifi-datalimiet instellen"</string>
@@ -2203,7 +2220,7 @@
<string name="data_usage_tab_3g" msgid="6092169523081538718">"2G-3G"</string>
<string name="data_usage_list_mobile" msgid="7219011330831181312">"Mobiel"</string>
<string name="data_usage_list_none" msgid="3933892774251050735">"Geen"</string>
- <string name="data_usage_enable_mobile" msgid="5900650720568852325">"Mobiele gegevens"</string>
+ <string name="data_usage_enable_mobile" msgid="5900650720568852325">"Mobiele data"</string>
<string name="data_usage_enable_3g" msgid="6304006671869578254">"2G-/3G-gegevens"</string>
<string name="data_usage_enable_4g" msgid="3635854097335036738">"4G-gegevens"</string>
<string name="data_usage_forground_label" msgid="7654319010655983591">"Voorgrond:"</string>
@@ -2211,10 +2228,10 @@
<string name="data_usage_app_settings" msgid="2279171379771253165">"App-instellingen"</string>
<string name="data_usage_app_restrict_background" msgid="7359227831562303223">"Achtergrondgegevens"</string>
<string name="data_usage_app_restrict_background_summary" msgid="4669789008211107454">"Gebruik van mobiele data op de achtergrond toestaan"</string>
- <string name="data_usage_app_restrict_background_summary_disabled" msgid="1446565717342917727">"Beperk achtergrondgegevens voor deze app met een mobiele gegevenslimiet."</string>
+ <string name="data_usage_app_restrict_background_summary_disabled" msgid="1446565717342917727">"Beperk achtergrondgegevens voor deze app met een mobiele datalimiet."</string>
<string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"Achtergrondgegevens beperken?"</string>
<string name="data_usage_app_restrict_dialog" msgid="5871168521456832764">"Deze functie kan zorgen dat een app die afhankelijk is van achtergrondgegevens, niet meer werkt als er alleen mobiele netwerken beschikbaar zijn.\n\nIn de instellingen van de app kun je relevantere opties voor gegevensbeheer vinden."</string>
- <string name="data_usage_restrict_denied_dialog" msgid="1493134803720421674">"Je moet een mobiele gegevenslimiet instellen om achtergrondgegevens te kunnen beperken."</string>
+ <string name="data_usage_restrict_denied_dialog" msgid="1493134803720421674">"Je moet een mobiele datalimiet instellen om achtergronddata te kunnen beperken."</string>
<string name="data_usage_auto_sync_on_dialog_title" msgid="2438617846762244389">"Auto-synchronisatie inschakelen?"</string>
<string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="8581983093524041669">"Wijzigingen die je op internet aanbrengt in je accounts, worden automatisch naar je telefoon gekopieerd.\n\nBij sommige accounts worden mogelijk ook de wijzigingen die je op de tablet aanbrengt, naar internet gekopieerd. Dit geldt bijvoorbeeld voor Google-accounts."</string>
<string name="data_usage_auto_sync_on_dialog" product="default" msgid="8651376294887142858">"Wijzigingen die je op internet aanbrengt in je accounts, worden automatisch naar je telefoon gekopieerd.\n\nBij sommige accounts worden mogelijk ook de wijzigingen die je op de telefoon aanbrengt, naar internet gekopieerd. Dit geldt bijvoorbeeld voor Google-accounts."</string>
@@ -2226,12 +2243,12 @@
<string name="data_usage_warning_editor_title" msgid="3704136912240060339">"Waarschuwing voor gegevensverbruik instellen"</string>
<string name="data_usage_limit_editor_title" msgid="9153595142385030015">"Limiet voor gegevensverbruik instellen"</string>
<string name="data_usage_limit_dialog_title" msgid="3023111643632996097">"Gegevensgebruik beperken"</string>
- <string name="data_usage_limit_dialog_mobile" product="tablet" msgid="5788774061143636263">"Je tablet schakelt mobiele gegevens uit zodra de ingestelde limiet wordt bereikt.\n\nOmdat het gegevensgebruik wordt gemeten door je telefoon en je provider het gebruik anders kan berekenen, kun je het beste een voorzichtige limiet instellen."</string>
- <string name="data_usage_limit_dialog_mobile" product="default" msgid="3511301596446820549">"Je telefoon schakelt mobiele gegevens uit zodra de ingestelde limiet wordt bereikt.\n\nOmdat het gegevensgebruik wordt gemeten door de telefoon en je provider het gebruik anders kan berekenen, kun je het beste een voorzichtige limiet instellen."</string>
+ <string name="data_usage_limit_dialog_mobile" product="tablet" msgid="5788774061143636263">"Je tablet schakelt mobiele data uit zodra de ingestelde limiet wordt bereikt.\n\nOmdat het datagebruik wordt gemeten door je telefoon en je provider het gebruik anders kan berekenen, kun je het beste een voorzichtige limiet instellen."</string>
+ <string name="data_usage_limit_dialog_mobile" product="default" msgid="3511301596446820549">"Je telefoon schakelt mobiele data uit zodra de ingestelde limiet wordt bereikt.\n\nOmdat het datagebruik wordt gemeten door de telefoon en je provider het gebruik anders kan berekenen, kun je het beste een voorzichtige limiet instellen."</string>
<string name="data_usage_restrict_background_title" msgid="2201315502223035062">"Achtergrondgegevens beperken?"</string>
- <string name="data_usage_restrict_background" msgid="6264965779074729381">"Als je mobiele achtergrondgegevens beperkt, werken sommige apps en services alleen als je verbinding hebt via wifi."</string>
- <string name="data_usage_restrict_background_multiuser" product="tablet" msgid="7954930300449415764">"Als je mobiele achtergrondgegevens beperkt, werken sommige apps en services alleen als je verbinding hebt via wifi.\n\nDeze instelling is van toepassing op alle gebruikers op deze tablet."</string>
- <string name="data_usage_restrict_background_multiuser" product="default" msgid="259958321968870600">"Als je mobiele achtergrondgegevens beperkt, werken sommige apps en services alleen als je verbinding hebt via wifi..\n\nDeze instelling is van toepassing op alle gebruikers op deze telefoon."</string>
+ <string name="data_usage_restrict_background" msgid="6264965779074729381">"Als je mobiele achtergronddata beperkt, werken sommige apps en services alleen als je verbinding hebt via wifi."</string>
+ <string name="data_usage_restrict_background_multiuser" product="tablet" msgid="7954930300449415764">"Als je mobiele achtergronddata beperkt, werken sommige apps en services alleen als je verbinding hebt via wifi.\n\nDeze instelling is van toepassing op alle gebruikers op deze tablet."</string>
+ <string name="data_usage_restrict_background_multiuser" product="default" msgid="259958321968870600">"Als je mobiele achtergronddata beperkt, werken sommige apps en services alleen als je verbinding hebt via wifi..\n\nDeze instelling is van toepassing op alle gebruikers op deze telefoon."</string>
<string name="data_usage_sweep_warning" msgid="6387081852568846982"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"waarschuwing"</font></string>
<string name="data_usage_sweep_limit" msgid="860566507375933039"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"limiet"</font></string>
<string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Verwijderde apps"</string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Netwerk en internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Verbonden apparaten"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps en meldingen"</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">"Gebruiker en accounts"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Standaard-apps"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Taal: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Instellingen"</string>
<string name="search_menu" msgid="6283419262313758339">"Zoekinstellingen"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Geluid werkprofiel vervangen?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Vervangen"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"De huidige geluiden van je werkprofiel worden vervangen door de huidige geluiden van je persoonlijke profiel"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Meldingen configureren"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Meldingsvoorkeuren"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Geavanceerd"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Werkmeldingen"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Meldingslampje knippert"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Resetten"</string>
<string name="show_silently" msgid="2222875799232222056">"Zonder geluid weergeven"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Geen geluid laten horen, niet trillen en deze meldingen niet weergeven op het huidige scherm."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Meldingsassistent"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Toegang tot meldingen"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Apps kunnen geen meldingen lezen"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Apparaat gebruiken als MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Dit apparaat gebruiken als MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"USB gebruiken voor het volgende:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Niets verbonden"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Achtergrondcontrole"</string>
<string name="background_check_title" msgid="4534254315824525593">"Volledige toegang tot achtergrond"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Tekst van scherm gebruiken"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Accounts"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configureren"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Accountgegevens autom. synchr."</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Persoonl. accountgeg. auto-synchr."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Werkaccountgegev. auto-synchr."</string>
</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index a6b31c1..0255919 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"ਸਿਮ ਪਤਾ ਬੁੱਕ ਵੇਖੋ"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"ਸੇਵਾ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"ਸੇਵਾ ਵਿੱਚ"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"ਸੇਵਾ ਵਿੱਚ ਨਹੀਂ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"ਸਿਰਫ਼ ਐਮਰਜੈਂਸੀ ਕਾਲਾਂ"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"ਜੇਕਰ ਤੁਸੀਂ ਇਹ ਸੇਵਾ ਬੰਦ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੇ ਫੋਨ ਦੀਆਂ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਸਕਦੀਆਂ ਹਨ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਇਸਦੀ ਪਾਵਰ ਬੰਦ ਅਤੇ ਫਿਰ ਦੁਬਾਰਾ ਚਾਲੂ ਨਹੀਂ ਕਰਦੇ।"</string>
<string name="language_settings" msgid="8758655933029560944">"ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਇਨਪੁੱਟ"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਇਨਪੁੱਟ"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"ਕੀ-ਬੋਰਡ & ਇਨਪੁਟ ਵਿਧੀਆਂ"</string>
<string name="phone_language" msgid="7116581601133118044">"ਭਾਸ਼ਾਵਾਂ"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2284,7 +2301,7 @@
<string name="vpn_set_vpn_title" msgid="4009987321156037267">"ਕੀ ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN ਨੂੰ ਸੈੱਟ ਕਰਨਾ ਹੈ?"</string>
<string name="vpn_first_always_on_vpn_message" msgid="3025322109743675467">"ਇਸ ਸੈਟਿੰਗ ਨੂੰ ਚਾਲੂ ਕਰਨ ਨਾਲ, ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਤਦ ਤੱਕ ਨਹੀਂ ਹੋਵੇਗਾ ਜਦ ਤੱਕ VPN ਸਫ਼ਲਤਾਪੂਰਵਕ ਕਨੈਕਟ ਨਹੀਂ ਹੋ ਜਾਂਦਾ"</string>
<string name="vpn_replace_always_on_vpn_enable_message" msgid="2577928591361606641">"ਤੁਹਾਡੇ ਮੌਜੂਦਾ VPN ਨੂੰ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ, ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ ਤਦ ਤੱਕ ਇੱਕ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਹੋਵੇਗਾ ਜਦ ਤੱਕ VPN ਸਫ਼ਲਤਾਪੂਰਵਕ ਕਨੈਕਟ ਨਹੀਂ ਹੋ ਜਾਂਦਾ"</string>
- <string name="vpn_replace_always_on_vpn_disable_message" msgid="3011818750025879902">"ਤੁਸੀਂ ਪਹਿਲਾਂ ਤੋਂ ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN ਨਾਲ ਕਨੈਕਟ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਨਾਲ ਕਨੈਕਟ ਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੇ ਮੌਜੂਦਾ VPN ਨੂੰ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ, ਅਤੇ ਹਮੇਸ਼ਾ-ਚਾਲੂ ਮੋਡ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।"</string>
+ <string name="vpn_replace_always_on_vpn_disable_message" msgid="3011818750025879902">"ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN ਨਾਲ ਕਨੈਕਟ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਨਾਲ ਕਨੈਕਟ ਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੇ ਮੌਜੂਦਾ VPN ਨੂੰ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ, ਅਤੇ ਹਮੇਸ਼ਾ-ਚਾਲੂ ਮੋਡ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।"</string>
<string name="vpn_replace_vpn_message" msgid="5611635724578812860">"ਤੁਸੀਂ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਕਿਸੇ VPN ਨਾਲ ਕਨੈਕਟ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਨਾਲ ਕਨੈਕਟ ਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੇ ਵਰਤਮਾਨ VPN ਨੂੰ ਤਬਦੀਲ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ।"</string>
<string name="vpn_turn_on" msgid="2363136869284273872">"ਚਾਲੂ ਕਰੋ"</string>
<string name="vpn_cant_connect_title" msgid="4517706987875907511">"<xliff:g id="VPN_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
@@ -2530,10 +2547,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="7342549305933047317">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਐਪਾਂ"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"ਸੂਚਨਾਵਾਂ ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"ਰੀਸੈੱਟ ਕਰੋ"</string>
<string name="show_silently" msgid="2222875799232222056">"ਚੁੱਪਚਾਪ ਵਿਖਾਓ"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ਵਰਤਮਾਨ ਸਕ੍ਰੀਨ \'ਤੇ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਇਹਨਾਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਧੁਨੀ ਨਾ ਵਜਾਉਣ ਦਿਓ, ਥਰਥਰਾਹਟ ਨਾ ਕਰਨ ਦਿਓ ਜਾਂ ਝਲਕ ਨਾ ਵਿਖਾਉਣ ਦਿਓ।"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"ਸੂਚਨਾ ਸਹਾਇਕ"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"ਸੂਚਨਾ ਪਹੁੰਚ"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"ਐਪ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਪੜ੍ਹ ਸਕਦੇ"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"ਡੀਵਾਈਸ ਦੀ ਵਰਤੋਂ MIDI ਵਜੋਂ ਕਰੋ"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ਇਸ ਡੀਵਾਈਸ ਦੀ MIDI ਵਜੋਂ ਵਰਤੋਂ ਕਰੋ"</string>
<string name="usb_use" msgid="3256040963685055320">"ਇਹਨਾਂ ਲਈ USB ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"ਕੁਝ ਵੀ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ"</string>
<string name="background_check_pref" msgid="7550258400138010979">"ਬੈਕਗ੍ਰਾਊਂਡ ਜਾਂਚ"</string>
<string name="background_check_title" msgid="4534254315824525593">"ਪੂਰੀ ਬੈਕਗ੍ਰਾਊਂਡ ਪਹੁੰਚ"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"ਸਕ੍ਰੀਨ ਤੋਂ ਟੈਕਸਟ ਵਰਤੋ"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"ਖਾਤੇ"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"ਸੰਰੂਪਣ ਕਰੋ"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ਖਾਤਾ ਡੈਟਾ ਸਵੈ-ਸਮਕਾਲੀਕਿਰਤ ਕਰੋ"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ਵਿਅਕਤੀਗਤ ਖਾਤਾ ਡੈਟਾ ਸਵੈ-ਸਮਕਾਲੀਕਿਰਤ ਕਰੋ"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"ਕਾਰਜ ਖਾਤਾ ਡੈਟਾ ਸਵੈ-ਸਮਕਾਲੀਕਿਰਤ ਕਰੋ"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 7987bfb..672c4ed 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Wyświetl książkę adresową z karty SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Wyświetl ustalone numery"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Wyświetl numery usług"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Pobierz listę PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Działa"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Nie działa"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Tylko połączenia alarmowe"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Jeśli zatrzymasz tę usługę, niektóre funkcje telefonu mogą przestać poprawnie działać do chwili jego wyłączenia i ponownego włączenia."</string>
<string name="language_settings" msgid="8758655933029560944">"Języki i metody wprowadzania"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Języki i metody wprowadzania"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klawiatura i wprowadzanie tekstu"</string>
<string name="phone_language" msgid="7116581601133118044">"Języki"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -1719,7 +1736,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 +1749,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 +2476,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 +2485,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>
@@ -2574,10 +2591,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Sieć i internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Połączone urządzenia"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikacje i powiadomienia"</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">"Użytkownik i konta"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Domyślne aplikacje"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Język: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Ustawienia"</string>
<string name="search_menu" msgid="6283419262313758339">"Ustawienia wyszukiwania"</string>
@@ -2680,7 +2695,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Skonfiguruj powiadomienia"</string>
+ <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>
@@ -2708,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Resetuj"</string>
<string name="show_silently" msgid="2222875799232222056">"Pokazuj dyskretnie"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Nie sygnalizuj tych powiadomień dźwiękiem ani wibracjami ani nie wyświetlaj ich na bieżącym ekranie."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asystent powiadomień"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Dostęp do powiadomień"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikacje nie mogą odczytywać powiadomień"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3010,6 +3026,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Użyć urządzenia jako MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Użyj tego urządzenia jako MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Skorzystaj z USB, aby"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nic nie jest połączone"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Kontrola działania w tle"</string>
<string name="background_check_title" msgid="4534254315824525593">"Pełny dostęp w tle"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Używanie tekstu na ekranie"</string>
@@ -3348,4 +3366,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Konta"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfiguracja"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autosynchronizacja: dane konta"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Autosynchronizacja: osobiste"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Autosynchronizacja: służbowe"</string>
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 415a112..f95579f 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Ver o catálogo de endereços do SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visualizar números de chamada fixa"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualizar números de chamada de serviço"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Adquirir lista PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Em serviço"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Fora de serviço"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Somente chamadas de emergência"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Se você interromper este serviço, alguns recursos de seu tablet podem parar de funcionar corretamente até que você o desligue e ligue novamente."</string>
<string name="language_settings" msgid="8758655933029560944">"Idiomas e entrada"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Idiomas e entrada"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teclado e métodos de entrada"</string>
<string name="phone_language" msgid="7116581601133118044">"Idiomas"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rede e Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositivos conectados"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps e notificações"</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">"Usuário e contas"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Apps padrão"</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">"Configurações"</string>
<string name="search_menu" msgid="6283419262313758339">"Configurações de pesquisa"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Substituir sons do perfil de trabalho?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Substituir"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Os sons atuais do seu perfil de trabalho serão substituídos pelos sons do seu perfil pessoal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurar notificações"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferências de notificação"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificações de trabalho"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsar luz de notificação"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Redefinir"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostrar de forma silenciosa"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Não emitir som, vibrar ou mostrar parcialmente essas notificações na tela atual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistente de notificação"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Acesso a notificações"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Os apps não podem ler notificações"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Usar o dispositivo como MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Usar este dispositivo como MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Usar USB para"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nada conectado"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Verificação em segundo plano"</string>
<string name="background_check_title" msgid="4534254315824525593">"Acesso completo ao segundo plano"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Usar texto da tela"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Contas"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurar"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinc. autom. de dados da conta"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinc. autom. dados pessoais da conta"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinc. autom. dados de trab. da conta"</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 36b79eb..0373b11 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Ver livro de endereços do SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números de marcação fixos"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números de marcação de serviços"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Obter lista de PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Em serviço"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Fora de serviço"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Apenas chamadas de emergência"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Se interromper este serviço, algumas funcionalidades do telemóvel podem deixar de funcionar corretamente até ser desligado e ligado novamente."</string>
<string name="language_settings" msgid="8758655933029560944">"Idiomas e introdução"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Idiomas e introdução"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teclado e métodos de introdução"</string>
<string name="phone_language" msgid="7116581601133118044">"Idiomas"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rede e Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositivos ligados"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplicações e notificações"</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">"Utilizador e contas"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplicações predefinidas"</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">"Definições"</string>
<string name="search_menu" msgid="6283419262313758339">"Definições de pesquisa"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Subst. sons perfil de trab.?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Substituir"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Os sons atuais do seu perfil de trabalho serão substituídos pelos sons do seu perfil pessoal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurar notificações"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferências de notificação"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificações de trabalho"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Usar luz de notificações"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Repor"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostrar silenciosamente"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Não emitir som, vibrar, nem mostrar estas notificações no ecrã atual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistente de notificações"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Acesso a notificações"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"As aplicações não podem ler notificações"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Utilizar dispositivo como MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Utilizar este dispositivo como MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Utilizar USB para"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nenhum dispositivo ligado"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Verificação em segundo plano"</string>
<string name="background_check_title" msgid="4534254315824525593">"Acesso completo em segundo plano"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Utilizar o texto do ecrã"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Contas"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurar"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinc. autom. os dados da conta"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinc. aut. dados da conta pes."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinc. aut. dados da conta tr."</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 415a112..f95579f 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Ver o catálogo de endereços do SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visualizar números de chamada fixa"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualizar números de chamada de serviço"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Adquirir lista PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Em serviço"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Fora de serviço"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Somente chamadas de emergência"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Se você interromper este serviço, alguns recursos de seu tablet podem parar de funcionar corretamente até que você o desligue e ligue novamente."</string>
<string name="language_settings" msgid="8758655933029560944">"Idiomas e entrada"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Idiomas e entrada"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Teclado e métodos de entrada"</string>
<string name="phone_language" msgid="7116581601133118044">"Idiomas"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rede e Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispositivos conectados"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps e notificações"</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">"Usuário e contas"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Apps padrão"</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">"Configurações"</string>
<string name="search_menu" msgid="6283419262313758339">"Configurações de pesquisa"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Substituir sons do perfil de trabalho?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Substituir"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Os sons atuais do seu perfil de trabalho serão substituídos pelos sons do seu perfil pessoal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurar notificações"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferências de notificação"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificações de trabalho"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Pulsar luz de notificação"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Redefinir"</string>
<string name="show_silently" msgid="2222875799232222056">"Mostrar de forma silenciosa"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Não emitir som, vibrar ou mostrar parcialmente essas notificações na tela atual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistente de notificação"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Acesso a notificações"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Os apps não podem ler notificações"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Usar o dispositivo como MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Usar este dispositivo como MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Usar USB para"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nada conectado"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Verificação em segundo plano"</string>
<string name="background_check_title" msgid="4534254315824525593">"Acesso completo ao segundo plano"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Usar texto da tela"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Contas"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurar"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinc. autom. de dados da conta"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinc. autom. dados pessoais da conta"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinc. autom. dados de trab. da conta"</string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 5c5f548..9c6b725 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -46,7 +46,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Afișați agenda de pe SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Afișați numerele fixe de apelare"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Vedeți numere de apelare de serviciu"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Obțineți lista PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"În aria de acoperire"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"În afara ariei de acoperire"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Numai apeluri de urgență"</string>
@@ -1611,6 +1624,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Dacă opriți acest serviciu, este posibil ca unele funcții ale telefonului să nu mai funcționeze corect decât după ce îl veți închide și redeschide."</string>
<string name="language_settings" msgid="8758655933029560944">"Limbi și introducerea textului"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Limbi și introducerea textului"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastatură și introducere de text"</string>
<string name="phone_language" msgid="7116581601133118044">"Limbi"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2552,10 +2569,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rețea și internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Dispozitive conectate"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplicații și notificări"</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">"Utilizator și conturi"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplicații prestabilite"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Limba: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Setări"</string>
<string name="search_menu" msgid="6283419262313758339">"Setări de căutare"</string>
@@ -2658,7 +2673,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Înlocuiți sunetele profilului de serviciu?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Înlocuiți"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Sunetele actuale ale profilului de serviciu vor fi înlocuite cu cele ale profilului personal"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Configurați notificările"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Preferințe privind notificările"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avansate"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificări profil de serviciu"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Indicator luminos intermitent"</string>
@@ -2686,6 +2701,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Resetați"</string>
<string name="show_silently" msgid="2222875799232222056">"Se afișează fără sunet"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Sunetul și vibrațiile sunt dezactivate, iar aceste notificări nu se afișează pentru o scurtă durată pe ecranul actual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asistent pentru notificări"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Acces la notificări"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplicațiile nu pot citi notificările"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2703,7 +2719,7 @@
<string name="no_vr_listeners" msgid="2689382881717507390">"Nicio aplicație instalată nu a solicitat să fie rulată ca un serviciu de ajutor pentru Realitatea virtuală."</string>
<string name="vr_listener_security_warning_title" msgid="8309673749124927122">"Permiteți accesul la serviciul de Realitate virtuală pentru <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
<string name="vr_listener_security_warning_summary" msgid="6931541068825094653">"<xliff:g id="VR_LISTENER_NAME">%1$s</xliff:g> va putea rula când folosiți aplicațiile în modul de realitate virtuală."</string>
- <string name="display_vr_pref_title" msgid="8104485269504335481">"Când dispozitivul este în modul VR"</string>
+ <string name="display_vr_pref_title" msgid="8104485269504335481">"Când dispozitivul este în modul RV"</string>
<string name="display_vr_pref_low_persistence" msgid="5707494209944718537">"Reduceți estomparea (recomandat)"</string>
<string name="display_vr_pref_off" msgid="2190091757123260989">"Reduceți pâlpâirea"</string>
<string name="manage_zen_access_title" msgid="2611116122628520522">"Accesul Nu deranja"</string>
@@ -2981,6 +2997,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Folosiți dispozitivul ca MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Folosiți acest dispozitiv ca MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Folosiți conexiunea USB ca să"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nu este nimic conectat"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Verificare de fundal"</string>
<string name="background_check_title" msgid="4534254315824525593">"Acces complet la fundal"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Folosește textul de pe ecran"</string>
@@ -3313,4 +3331,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Conturi"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Configurați"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinc. aut. date cont"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinc. aut. date personale cont"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinc. aut. date profes. cont"</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index c7678e4..cd19915 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Просмотреть адресную книгу на SIM-карте"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Просм. список разреш. номеров"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Просмотреть номера служебного набора"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Получить список PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"В зоне обслуживания"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Вне зоны обслуживания"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Только экстренные вызовы"</string>
@@ -959,7 +972,7 @@
<string name="night_display_category_schedule" msgid="2044072617637348966">"Расписание"</string>
<string name="night_display_category_status" msgid="1952928783124400330">"Статус"</string>
<string name="night_display_auto_mode_title" msgid="8046314360381608455">"Включать автоматически"</string>
- <string name="night_display_auto_mode_never" msgid="6723636142053240947">"Всегда выключать"</string>
+ <string name="night_display_auto_mode_never" msgid="6723636142053240947">"Никогда"</string>
<string name="night_display_auto_mode_custom" msgid="6012300346981608242">"Мое расписание"</string>
<string name="night_display_auto_mode_twilight" msgid="2123345097508167094">"От заката до рассвета"</string>
<string name="night_display_start_time_title" msgid="8918016772613689584">"Время включения"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Отключение этой системной службы может повлиять на функциональность телефона. Чтобы восстановить работу устройства, потребуется перезагрузить его."</string>
<string name="language_settings" msgid="8758655933029560944">"Язык и ввод"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Язык и ввод"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Клавиатура и способы ввода"</string>
<string name="phone_language" msgid="7116581601133118044">"Языки"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2573,12 +2590,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"Сеть и Интернет"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Подключенные устройства"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <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="7342549305933047317">"Приложения по умолчанию"</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>
@@ -2681,7 +2695,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Настройка уведомлений"</string>
+ <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>
@@ -2709,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Сбросить"</string>
<string name="show_silently" msgid="2222875799232222056">"Без звука"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Отключить звуковой сигнал и вибрацию, не показывать оповещения поверх других приложений."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Настройка уведомлений"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Доступ к уведомлениям"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Приложения не могут просматривать уведомления"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3011,6 +3026,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Подключение как MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Использование устройства как MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Режим работы USB"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Подключений нет"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Фоновая проверка"</string>
<string name="background_check_title" msgid="4534254315824525593">"Полный доступ в фоновом режиме"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Использовать текст с экрана"</string>
@@ -3349,4 +3366,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Аккаунты"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Настройки"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Автосинхронизация аккаунта"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Автосинхр. личного аккаунта"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Автосинхр. рабочего аккаунта"</string>
</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 47893c6..2fa0a97 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM ලිපින පොත බලන්න"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ස්ථිර ඇමතුම් අංක පෙන්වන්න"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"සේවා ඇමතුම් අංක පෙන්වන්න"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP ලැයිස්තුව ලබා ගන්න"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"සේවයේ පවතියි"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"සේවය රහිතයි"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"හදිසි ඇමතුම් පමණි"</string>
@@ -1602,6 +1615,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"ඔබ මෙම සේවාව නැවත්වුවහොත්, ඔබගේ දුරකථනයේ සමහර අංග ඔබ එය බලය අක්රිය කර නැවත දමන තුරු නිවැරදිව ක්රියා නොකිරීමට හැක."</string>
<string name="language_settings" msgid="8758655933029560944">"භාෂා සහ ආදානය"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"භාෂා සහ ආදානය"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"යතුරුපුවරුව සහ ආදාන ආකාර"</string>
<string name="phone_language" msgid="7116581601133118044">"භාෂා"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2532,10 +2549,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="7342549305933047317">"පෙරනිමි යෙදුම්"</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>
@@ -2638,7 +2653,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"දැනුම්දීම් වින්යාස කිරීම"</string>
+ <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>
@@ -2666,6 +2681,7 @@
<string name="importance_reset" msgid="7458420788555607007">"යළි පිහිටුවන්න"</string>
<string name="show_silently" msgid="2222875799232222056">"නිහඬව පෙන්වන්න"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ශබ්ද කිරීම, කම්පනය කිරීම, හෝ මෙම දැනුම්දීම් වත්මන් තිරයේ දසුන මතට එබිකම් කිරීම නොකරන්න."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"දැනුම්දීම් සහායක"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"දැනුම්දීම් ප්රවේශනය"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"යෙදුම්වලට දැනුම් දීම් කියවිය නොහැක"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2954,6 +2970,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"උපාංගය MIDI ලෙස භාවිත කිරීම"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"මෙම උපාංගය MIDI ලෙස භාවිත කිරිම"</string>
<string name="usb_use" msgid="3256040963685055320">"USB භාවිත කරන්න"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"කිසිවක් සම්බන්ධිත නැත"</string>
<string name="background_check_pref" msgid="7550258400138010979">"පසුබිම් පරීක්ෂාව"</string>
<string name="background_check_title" msgid="4534254315824525593">"පූර්ණ පසුබිම ප්රවේශය"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"තිරයේ ඇති පෙළ භාවිතා කරන්න"</string>
@@ -3280,4 +3298,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"ගිණුම්"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"වින්යාස කරන්න"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ස්වයං සමමුහුර්ත ගිණුම් දත්ත"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ස්වයං සමමුහු. පුද්. ගිණු. දත්ත"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"ස්වයං සමමුහු. කාර්. ගිණු. දත්ත"</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 6265435..58f1500 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Zobraziť adresár SIM karty"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Zobraziť povolené čísla"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Zobraziť čísla volaní služieb"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Získať zoznam PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"V prevádzke"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Mimo prevádzky"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Len tiesňové volania"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ak túto službu zastavíte, niektoré funkcie vášho telefónu nemusia fungovať. Ich funkčnosť sa obnoví až po vypnutí telefónu a jeho opätovnom zapnutí."</string>
<string name="language_settings" msgid="8758655933029560944">"Jazyky a vstup"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Jazyky a vstup"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klávesnica a metódy vstupu"</string>
<string name="phone_language" msgid="7116581601133118044">"Jazyky"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2574,10 +2591,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Sieť a internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Pripojené zariadenia"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikácie a upozornenia"</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">"Používateľ a účty"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Predvolené aplikácie"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Jazyk: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Nastavenia"</string>
<string name="search_menu" msgid="6283419262313758339">"Nastavenia vyhľadávania"</string>
@@ -2680,7 +2695,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Nahradiť zvuky prac. profilu?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Nahradiť"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Vaše súčasné zvuky pracovného profilu budú nahradené zvukmi osobného profilu"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurácia upozornení"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Predvoľby upozornení"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Rozšírené"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Pracovné upozornenia"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Blikať kontrolkou upozornenia"</string>
@@ -2708,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Obnoviť"</string>
<string name="show_silently" msgid="2222875799232222056">"Zobraziť bez zvukov"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Bez zvukov, vibrovania alebo posunutia do zobrazenia na aktuálnej obrazovke"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asistent upozornení"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Prístup k upozorneniam"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikácie nesmú čítať upozornenia"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3010,6 +3026,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Režim MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Použiť toto zariadenie ako MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Použiť USB na"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nič nie je pripojené"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Kontrola na pozadí"</string>
<string name="background_check_title" msgid="4534254315824525593">"Úplný prístup na pozadí"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Použiť text z obrazovky"</string>
@@ -3348,4 +3366,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Účty"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurácia"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Aut. synchronizovať dáta účtu"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Aut. synch. dáta osobného účtu"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Aut. synch. dáta prac. účtu"</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 1178dab..25b0bcf 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Prikaži imenik na kartici SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Prikaži številke za zaporo odhodnih klicev"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Prikaži številke za klicanje storitev"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Pridobi seznam PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"V uporabi"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ne deluje"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Samo klici v sili"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Če ustavite to stgoritev, lahko nekatere funkcije v telefonu nehajo pravilno delovati, dokler ga ne izklopite in znova vklopite."</string>
<string name="language_settings" msgid="8758655933029560944">"Jeziki in vnos"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Jeziki in vnos"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tipkovnica in načini vnosa"</string>
<string name="phone_language" msgid="7116581601133118044">"Jeziki"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2573,12 +2590,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"Omrežje in internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Povezane naprave"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikacije in obvestila"</string>
+ <string name="account_dashboard_title" msgid="38701889336378742">"Uporabnik in računi"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Privzete aplikacije"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Jezik: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Nastavitve"</string>
<string name="search_menu" msgid="6283419262313758339">"Nastavitve iskanja"</string>
@@ -2681,7 +2695,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfiguriranje obvestil"</string>
+ <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>
@@ -2709,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Ponastavi"</string>
<string name="show_silently" msgid="2222875799232222056">"Prikaži brez zvoka"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Na trenutnem zaslonu ne predvajaj zvoka, vibriraj ali na hitro prikazuj teh obvestil."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Pomočnik za obvestila"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Dostop do obvestil"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikacije ne morejo brati obvestil"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3011,6 +3026,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Uporaba naprave kot vmesnik MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Uporaba te naprave kot vmesnik MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Uporaba povezave USB za:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ni povezanih naprav"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Preverjanje ozadja"</string>
<string name="background_check_title" msgid="4534254315824525593">"Poln dostop do ozadja"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Uporaba besedila na zaslonu"</string>
@@ -3349,4 +3366,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Računi"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfiguriranje"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Samod. sinhr. podatkov računa"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sam. sinhr. podat. oseb. rač."</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sam. sinhr. podat. delov. rač."</string>
</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 9fa3e81..02f07d9 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Shiko librin e adresave të kartës SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Shiko numrat me telefonim të përzgjedhur"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Shiko numrat e telefonit të shërbimit"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Merr listën PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Në shërbim"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Jashtë shërbimit"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Vetëm telefonata urgjence"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Nëse e ndalon këtë shërbim, disa funksione të telefonit tënd mund të mos punojnë më si duhet deri sa ta fikësh dhe më pas ta ndezësh përsëri."</string>
<string name="language_settings" msgid="8758655933029560944">"Gjuhët dhe të dhënat"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Gjuhët dhe të dhënat"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tastiera dhe metodat e hyrjes"</string>
<string name="phone_language" msgid="7116581601133118044">"Gjuhët"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Rrjeti dhe interneti"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Pajisje të lidhura"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikacionet dhe njoftimet"</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">"Përdoruesi dhe llogaritë"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Aplikacionet e parazgjedhura"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Gjuha: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Cilësimet"</string>
<string name="search_menu" msgid="6283419262313758339">"Cilësimet e kërkimit"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfiguro njoftimet"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Rivendos"</string>
<string name="show_silently" msgid="2222875799232222056">"Shfaq në heshtje"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Mos lësho tingull, dridhje apo t\'i shfaqësh me shpejtësi në pamje këto njoftime në ekranin aktual."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Asistenti i njoftimeve"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Qasja te njoftimet"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Aplikacionet nuk mund t\'i lexojnë njoftimet"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Përdorur pajisjen si MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Përdore këtë pajisje si MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Përdor USB-në për të"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Nuk ka asgjë të lidhur"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Kontrolli i sfondit"</string>
<string name="background_check_title" msgid="4534254315824525593">"Qasje e plotë në sfond"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Përdor tekstin nga ekrani"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Llogaritë"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfiguro"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sinkronizo auto. të dhënat"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sinkr. auto. të dhëna personale"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sinkronizo auto. të dhëna pune"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index e15bbc7..2ecbeaf 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -46,7 +46,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Прикажи SIM адресар"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Прикажи бројеве за фиксно бирање"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Прикажи бројеве за сервисно бирање"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Преузми PDP листу"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Ради"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Не ради"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Само хитни позиви"</string>
@@ -1611,6 +1624,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ако зауставите ову услугу, неке функције телефона ће можда престати исправно да функционишу док не искључите и поново укључите телефон."</string>
<string name="language_settings" msgid="8758655933029560944">"Језици и унос"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Језици и унос"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Тастатура и методе уноса"</string>
<string name="phone_language" msgid="7116581601133118044">"Језици"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2552,10 +2569,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">"Aпликације и обавештења"</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="7342549305933047317">"Подразумеване апликације"</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>
@@ -2658,7 +2673,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Заменити звуке профилa за Work?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Замени"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Актуелни звуци профилa за Work ће бити замењени звуцима са личног профила"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Конфигуришите обавештења"</string>
+ <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>
@@ -2686,6 +2701,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Ресетуј"</string>
<string name="show_silently" msgid="2222875799232222056">"Приказивање без звука"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Нема никаквог звука ни вибрације нити се ова обавештења накратко приказују на актуелном екрану."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Помоћник за обавештења"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Приступ обавештењима"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Апликације не могу да читају обавештења"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2981,6 +2997,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Коришћење уређаја у MIDI режиму"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Користи овај уређај као MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Употребите USB за:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ништа није повезано"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Провера у позадини"</string>
<string name="background_check_title" msgid="4534254315824525593">"Потпун приступ позадини"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Користи текст са екрана"</string>
@@ -3313,4 +3331,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Налози"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Конфигуришите"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Аутом. синхр. податке са налога"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Аутом. синхр. личне податке са налога"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Аутом. синхр. пословне податке са налога"</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 3fc903b..1c92fc6 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Visa SIM-adressbok"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visa Fasta nummer"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visa tjänstenummer"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Hämta PDP-lista"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"I tjänst"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ur funktion"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Endast nödsamtal"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Om du avslutar tjänsten kanske vissa funktioner i mobilen inte fungerar korrekt förrän du stänger av och slår på den igen."</string>
<string name="language_settings" msgid="8758655933029560944">"Språk och inmatning"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Språk och inmatning"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Tangentbord och inmatningsmetoder"</string>
<string name="phone_language" msgid="7116581601133118044">"Språk"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Nätverk och internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Anslutna enheter"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Appar och aviseringar"</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">"Användare och konton"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Standardappar"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Språk: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Inställningar"</string>
<string name="search_menu" msgid="6283419262313758339">"Sökinställningar"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Konfigurera aviseringar"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Återställ"</string>
<string name="show_silently" msgid="2222875799232222056">"Visa utan ljud"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Inga ljud, ingen vibration och inga aviseringar som visas som snabbtitt på skärmen."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Aviseringsassistent"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Åtkomst till aviseringar"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Appar kan läsa meddelanden"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Använda enheten som MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Använd den här enheten som MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Välj vad du vill använda USB-anslutningen till"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Ingenting är anslutet"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Bakgrundskontroll"</string>
<string name="background_check_title" msgid="4534254315824525593">"Fullständig bakgrundsåtkomst"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Använda text från skärmen"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Konton"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Konfigurera"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Autosynka data i konto"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Autosynka data i privat konto"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Autosynka data i jobbkonto"</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 68c9598..5a826a0 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Angalia Kitabu cha Anwani katika SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ona nambari zilizopangwa za kupiga"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Angalia number za huduma za kubonyeza"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Pata Orodha ya PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Inatumika"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Haitumiki"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Simu za Dharura Pekee"</string>
@@ -1606,6 +1619,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ukisitisha huduma hii, baadhi ya vipengele vya simu yako vinaweza kuwacha kufanya kazi kwa usahihi mpaka uizime na kisha uwashe tena."</string>
<string name="language_settings" msgid="8758655933029560944">"Lugha na uingizaji wa data"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Lugha na uingizaji wa data"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Kibodi na mbinu za kuingiza hoja"</string>
<string name="phone_language" msgid="7116581601133118044">"Lugha"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2536,10 +2553,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Mtandao na Intaneti"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Vifaa vilivyounganishwa"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Programu na arifa"</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">"Watumiaji na akaunti"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Programu chaguo-msingi"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Lugha: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Mipangilio"</string>
<string name="search_menu" msgid="6283419262313758339">"Mipangilio ya utafutaji"</string>
@@ -2642,7 +2657,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Arifa za kuweka mipangilio"</string>
+ <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>
@@ -2670,6 +2685,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Weka upya"</string>
<string name="show_silently" msgid="2222875799232222056">"Onyesha chinichini"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Usiruhusu sauti, mtetemo au onyesho la kuchungulia kwenye skrini ya sasa."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Mratibu wa arifa"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Kufikia arifa"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Programu haziwezi kusoma arifa"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2958,6 +2974,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Tumia kifaa kama MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Tumia kifaa hiki kama MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Tumia USB"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Haijaunganisha chochote"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Ukaguzi wa chini chini"</string>
<string name="background_check_title" msgid="4534254315824525593">"Idhini ya kufikia chini chini"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Tumia maandishi kutoka skrini"</string>
@@ -3284,4 +3302,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Akaunti"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Weka mipangilio"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Sawazisha kiotomatiki data ya akaunti"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Sawazisha kiotomatiki data ya akaunti binafsi"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Sawazisha kiotomatiki data ya akaunti ya kazi"</string>
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index bf455ab..37d6d3c 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"சிம் முகவரிப் புத்தகத்தைக் காட்டு"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"நிலையான அழைப்பு எண்களைக் காட்டு"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"சேவை அழைப்பு எண்களைக் காட்டு"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP பட்டியலைப் பெறு"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"சேவையில் உள்ளது"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"சேவையில் இல்லை"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"அவசர அழைப்புகள் மட்டும்"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"இந்தச் சேவையை நீங்கள் நிறுத்தினால், உங்கள் மொபைலை ஸ்விட்ச் ஆஃப் செய்து ஸ்டார்ட் செய்யும் வரை அதன் அம்சங்களில் சில வேலைசெய்யாமல் போகலாம்."</string>
<string name="language_settings" msgid="8758655933029560944">"மொழிகள் & உள்ளீடு"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"மொழிகள் & உள்ளீடு"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"விசைப்பலகை & உள்ளீட்டு முறைகள்"</string>
<string name="phone_language" msgid="7116581601133118044">"மொழிகள்"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"இயல்புப் பயன்பாடுகள்"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"அறிவிப்புகளை உள்ளமை"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"மீட்டமை"</string>
<string name="show_silently" msgid="2222875799232222056">"ஒலிக்காமல் காட்டு"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"இந்த அறிவிப்புகளை நடப்புத் திரையில் காட்டும் போது ஒலி, அதிர்வை ஏற்படுத்தாது அல்லது திரையின் மேல் பகுதியில் காட்டாது."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"அறிவிப்பு உதவி"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"அறிவிப்பு அணுகல்"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"பயன்பாடுகளால் அறிவிப்புகளைப் படிக்க முடியாது"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"சாதனத்தை MIDI ஆகப் பயன்படுத்து"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"இந்தச் சாதனத்தை MIDI ஆகப் பயன்படுத்தும்"</string>
<string name="usb_use" msgid="3256040963685055320">"USBஐ இதற்குப் பயன்படுத்து:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"எதுவும் இணைக்கப்படவில்லை"</string>
<string name="background_check_pref" msgid="7550258400138010979">"பின்புலச் சோதனை"</string>
<string name="background_check_title" msgid="4534254315824525593">"முழுமையான பின்புல அணுகல்"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"திரையில் காட்டப்படும் உரையை பயன்படுத்து"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"கணக்குகள்"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"உள்ளமைக்கவும்"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"கணக்குத் தரவைத் தானாக ஒத்திசை"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"சொந்த கணக்கு தரவை தானாக ஒத்திசை"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"பணி கணக்கு தரவை தானாக ஒத்திசை"</string>
</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 6b159fc..c50c728f 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM చిరునామా పుస్తకాన్ని వీక్షించండి"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ఫిక్స్డ్ డయలింగ్ నంబర్లను వీక్షించండి"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"సర్వీస్ డయలింగ్ నంబర్లను వీక్షించండి"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP జాబితాను పొందండి"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"సేవ అందుబాటులో ఉంది"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"సేవ అందుబాటులో లేదు"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"అత్యవసర కాల్లు మాత్రమే"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"మీరు ఈ సేవను ఆపివేస్తే, మీ ఫోన్ను పవర్ ఆఫ్ చేసి, మళ్లీ ఆన్ చేసే వరకు అందులోని కొన్ని లక్షణాలు సరిగ్గా పని చేయకపోవచ్చు."</string>
<string name="language_settings" msgid="8758655933029560944">"భాషలు & ఇన్పుట్"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"భాషలు & ఇన్పుట్"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"కీబోర్డ్ & ఇన్పుట్ పద్ధతులు"</string>
<string name="phone_language" msgid="7116581601133118044">"భాషలు"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"డిఫాల్ట్ అనువర్తనాలు"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"నోటిఫికేషన్లను కాన్ఫిగర్ చేయి"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"రీసెట్ చేయి"</string>
<string name="show_silently" msgid="2222875799232222056">"శబ్దం లేకుండా చూపు"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"శబ్దం చేయదు, వైబ్రేట్ చేయదు లేదా ప్రస్తుత స్క్రీన్పై కనిపించేలా ఈ నోటిఫికేషన్లను శీఘ్రంగా చూపదు."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"నోటిఫికేషన్ సహాయకం"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"నోటిఫికేషన్ ప్రాప్యత"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"అనువర్తనాలు నోటిఫికేషన్లను చదవలేవు"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"పరికరాన్ని MIDI వలె ఉపయోగించడం"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ఈ పరికరాన్ని MIDI వలె ఉపయోగించడం"</string>
<string name="usb_use" msgid="3256040963685055320">"వీటి కోసం USBని ఉపయోగించండి"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"ఏదీ కనెక్ట్ చేయబడలేదు"</string>
<string name="background_check_pref" msgid="7550258400138010979">"నేపథ్య తనిఖీ"</string>
<string name="background_check_title" msgid="4534254315824525593">"పూర్తి నేపథ్య ప్రాప్యత"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"స్క్రీన్లోని వచనాన్ని ఉపయోగించండి"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"ఖాతాలు"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"కాన్ఫిగర్ చేయండి"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ఖాతా డేటా స్వీయ సమకాలీకరణ"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"వ్యక్తిగత ఖాతా డేటా స్వీయ సమకాలీకరణ"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"కార్యాలయ ఖాతా డేటా స్వీయ సమకాలీకరణ"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 0b8bcfc..09331e3 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"ดูสมุดที่อยู่ของซิม"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"ดูการจำกัดหมายเลขโทรออก"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"ดูหมายเลขรับบริการโทรออก"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"รับรายการ PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"กำลังให้บริการ"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"ไม่พร้อมให้บริการ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"โทรฉุกเฉินเท่านั้น"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"หากคุณหยุดบริการนี้ คุณลักษณะบางอย่างของโทรศัพท์อาจทำงานได้ไม่ถูกต้องจนกว่าคุณปิดจะเครื่องแล้วเปิดใหม่อีกครั้ง"</string>
<string name="language_settings" msgid="8758655933029560944">"ภาษาและการป้อนข้อมูล"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"ภาษาและการป้อนข้อมูล"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"แป้นพิมพ์และวิธีการป้อนข้อมูล"</string>
<string name="phone_language" msgid="7116581601133118044">"ภาษา"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"แอปเริ่มต้น"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"กำหนดค่าการแจ้งเตือน"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"รีเซ็ต"</string>
<string name="show_silently" msgid="2222875799232222056">"แสดงโดยไม่ส่งเสียง"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"ไม่ส่งเสียงเตือน สั่น หรือแสดงชั่วครู่ในมุมมองหน้าจอปัจจุบันสำหรับการแจ้งเตือนเหล่านี้"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"ผู้ช่วยการแจ้งเตือน"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"การเข้าถึงการแจ้งเตือน"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"แอปไม่สามารถอ่านการแจ้งเตือน"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2679,7 +2695,7 @@
<string name="vr_listeners_title" msgid="1318901577754715777">"บริการตัวช่วยความเป็นจริงเสมือน"</string>
<string name="no_vr_listeners" msgid="2689382881717507390">"แอปที่ติดตั้งอยู่ไม่ได้ขอให้เรียกใช้เป็นบริการตัวช่วยความเป็นจริงเสมือน"</string>
<string name="vr_listener_security_warning_title" msgid="8309673749124927122">"อนุญาตให้ <xliff:g id="SERVICE">%1$s</xliff:g> เข้าถึงบริการความเป็นจริงเสมือนไหม"</string>
- <string name="vr_listener_security_warning_summary" msgid="6931541068825094653">"<xliff:g id="VR_LISTENER_NAME">%1$s</xliff:g> จะเรียกใช้ได้เมื่อคุณกำลังใช้แอปพลิเคชันในโหมดความเป็นจริงเสมือน"</string>
+ <string name="vr_listener_security_warning_summary" msgid="6931541068825094653">"<xliff:g id="VR_LISTENER_NAME">%1$s</xliff:g> จะเรียกใช้ได้เมื่อคุณกำลังใช้แอปพลิเคชันในโหมด Virtual Reality"</string>
<string name="display_vr_pref_title" msgid="8104485269504335481">"เมื่ออุปกรณ์อยู่ใน VR"</string>
<string name="display_vr_pref_low_persistence" msgid="5707494209944718537">"ลดเบลอ (แนะนำ)"</string>
<string name="display_vr_pref_off" msgid="2190091757123260989">"ลดการกะพริบ"</string>
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"ใช้อุปกรณ์เป็น MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"ใช้อุปกรณ์นี้เป็น MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"ใช้ USB เพื่อ"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"ไม่มีการเชื่อมต่อ"</string>
<string name="background_check_pref" msgid="7550258400138010979">"การตรวจสอบพื้นหลัง"</string>
<string name="background_check_title" msgid="4534254315824525593">"การเข้าถึงพื้นหลังอย่างเต็มรูปแบบ"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"ใช้ข้อความจากหน้าจอ"</string>
@@ -3003,7 +3021,7 @@
<string name="permit_draw_overlay" msgid="6606018549732046201">"อนุญาตให้วาดทับแอปอื่นๆ"</string>
<string name="app_overlay_permission_preference" msgid="8355410276571387439">"วาดแอปด้วยสิทธิ์ระดับสูงสุด"</string>
<string name="allow_overlay_description" msgid="7895191337585827691">"สิทธิ์นี้อนุญาตให้แอปแสดงทับแอปอื่นๆ ที่คุณกำลังใช้อยู่ ซึ่งอาจรบกวนการใช้อินเทอร์เฟซบนแอปพลิเคชันอื่นๆ ของคุณหรือทำให้คุณเข้าใจสิ่งที่คุณเห็นผิดไป"</string>
- <string name="keywords_vr_listener" msgid="7441221822576384680">"ความเป็นจริงเสมือน Listener ความเป็นจริงเสมือน บริการตัวช่วยสเตอริโอ"</string>
+ <string name="keywords_vr_listener" msgid="7441221822576384680">"VR Virtual Reality Listener บริการตัวช่วยสเตอริโอ"</string>
<string name="keywords_system_alert_window" msgid="8579673659566564926">"วาดหน้าต่างแจ้งเตือนของระบบทับแอปอื่นๆ"</string>
<string name="overlay_settings" msgid="222062091489691363">"วาดทับแอปอื่นๆ"</string>
<string name="system_alert_window_summary" msgid="4268867238063922290">"อนุญาตแอป <xliff:g id="COUNT_0">%1$d</xliff:g> จาก <xliff:g id="COUNT_1">%2$d</xliff:g> แอปให้วาดทับแอปอื่นๆ"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"บัญชี"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"กำหนดค่า"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"ซิงค์ข้อมูลบัญชีอัตโนมัติ"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ซิงค์ข้อมูลบัญชีส่วนตัวอัตโนมัติ"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"ซิงค์ข้อมูลบัญชีงานอัตโนมัติ"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index fa2e8b6..716c737 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Tingnan ang Address Book ng SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Tingnan ang Mga Fixed Dialing Number"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Tingnan ang Mga Service Dialing Number"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Kunin ang Listahan ng PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Gumagana"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Hindi Gumagana"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Mga Emergency na Tawag Lang"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Kung ihihinto mo ang serbisyong ito, maaaring huminto sa paggana nang tama ang ilang mga tampok ng iyong telepono hanggang sa i-off mo ito at pagkatapos ay i-on muli."</string>
<string name="language_settings" msgid="8758655933029560944">"Mga wika at input"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Mga wika at input"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Keyboard at mga pamamaraan ng input"</string>
<string name="phone_language" msgid="7116581601133118044">"Mga Wika"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Network at Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Mga nakakonektang device"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Mga app at notification"</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">"User at mga account"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Mga default na app"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Wika: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Mga Setting"</string>
<string name="search_menu" msgid="6283419262313758339">"Mga setting ng paghahanap"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"I-configure ang mga notification"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"I-reset"</string>
<string name="show_silently" msgid="2222875799232222056">"Tahimik na ipakita"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Huwag tumunog, mag-vibrate, o ilabas ang mga notification na ito sa view sa kasalukuyang screen."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Assistant para sa notification"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Access sa notification"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Hindi makakapagbasa ng mga notification ang mga app"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Gamitin ang device bilang MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Gamitin ang device na ito bilang MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Gamitin ang USB upang"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Walang nakakonekta"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Pagsusuri sa background"</string>
<string name="background_check_title" msgid="4534254315824525593">"Kumpletong access sa background"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Gamitin ang text mula sa screen"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Mga Account"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"I-configure"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"I-auto sync ang account data"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"I-auto sync ang personal account data"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"I-auto sync work account data"</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 4933eec..23ffbc4 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM Adres Defterini Görüntüle"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Sabit Arama Numaralarını Görüntüle"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Hizmet Arama Numaralarını Görüntüle"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP Listesini Al"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Hizmette"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Hizmet Dışı"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Yalnızca Acil Çağrılar İçin"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Bu hizmeti durdurursanız, telefonunuzun bazı özellikleri, telefon kapatılıp yeniden açılmadan düzgün çalışmayabilir."</string>
<string name="language_settings" msgid="8758655933029560944">"Diller ve giriş"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Diller ve giriş"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klavye ve giriş yöntemleri"</string>
<string name="phone_language" msgid="7116581601133118044">"Diller"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2529,12 +2546,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"Ağ ve İnternet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Bağlı cihazlar"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Uygulamalar ve bildirimler"</string>
+ <string name="account_dashboard_title" msgid="38701889336378742">"Kullanıcı ve hesaplar"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Varsayılan uygulamalar"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Dil: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Ayarlar"</string>
<string name="search_menu" msgid="6283419262313758339">"Arama ayarları"</string>
@@ -2637,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Bildirimleri yapılandır"</string>
+ <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>
@@ -2665,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Sıfırla"</string>
<string name="show_silently" msgid="2222875799232222056">"Sessiz bir şekilde göster"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ses çıkarma, titreştirme veya bu bildirimleri geçerli ekrana getirme."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Bildirim yardımcısı"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Bildirim erişimi"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Uygulamalar bildirimleri okuyamaz"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2953,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Cihazı MIDI olarak kullanmak"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Bu cihazı MIDI olarak kullanın"</string>
<string name="usb_use" msgid="3256040963685055320">"USB bağlantısının kullanım amacı:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Hiçbir şey bağlı değil"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Arka plan kontrolü"</string>
<string name="background_check_title" msgid="4534254315824525593">"Tam arka plan erişimi"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Ekrandaki metni kullan"</string>
@@ -3279,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Hesaplar"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Yapılandırma"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Hesap verilerini oto. senk. et"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Kişisel hesap verilerini oto. senk. et"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"İş hesabı verilerini oto. senk. et"</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 151a5be..87114a9 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -47,7 +47,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Переглянути адресну книгу SIM-карти"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Перегл. фікс. номери набору"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Перегл. служб. номери набору"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Отримати список PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Працює"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Не працює"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Лише екстрені виклики"</string>
@@ -1622,6 +1635,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Якщо припинити роботу цієї служби, деякі функції телефону можуть працювати неправильно, поки живлення не буде вимкнено та знову ввімкнено."</string>
<string name="language_settings" msgid="8758655933029560944">"Мова та введення"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Мова та введення"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Клавіатура та методи введення"</string>
<string name="phone_language" msgid="7116581601133118044">"Мови"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2574,10 +2591,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="7342549305933047317">"Додатки за умовчанням"</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,7 +2695,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Налаштування сповіщень"</string>
+ <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>
@@ -2708,6 +2723,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Скинути"</string>
<string name="show_silently" msgid="2222875799232222056">"Показувати без звукового сигналу"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Не подавати звуковий сигнал і вібросигнал та не показувати ці сповіщення на поточному екрані."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Диспетчер сповіщень"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Доступ до сповіщень"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Додатки не можуть читати сповіщення"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -3010,6 +3026,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Використовувати пристрій як MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Використовувати цей пристрій як MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Використовувати USB, щоб"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Нічого не під’єднано"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Перевірка у фоновому режимі"</string>
<string name="background_check_title" msgid="4534254315824525593">"Повний доступ у фоновому режиміj"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Використовувати текст з екрана"</string>
@@ -3348,4 +3366,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Облікові записи"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Налаштування"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Автосинхронізувати дані"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Автосинхронізувати особисті дані"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Автосинхронізувати робочі дані"</string>
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 53e23f5..4700abc 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM ایڈریس بک دیکھیں"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"فکسڈ ڈائلنگ نمبرز دیکھیں"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"سروس ڈائلنگ نمبرز دیکھیں"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP فہرست حاصل کریں"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"سروس میں"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"سروس میں نہیں ہے"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"صرف ہنگامی کالیں"</string>
@@ -1590,6 +1603,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"اگر آپ اس سروس کو روک دیتے ہیں تو آپ کے فون کی کچھ خصوصیات ٹھیک سے کام کرنا بند کر سکتی ہیں الّا یہ کہ آپ اس کی پاور بند کر دیں اور پھر دوبارہ آن کریں۔"</string>
<string name="language_settings" msgid="8758655933029560944">"زبانیں اور ان پٹ"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"زبانیں اور ان پٹ"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"کی بورڈ اور اندراج کے طریقے"</string>
<string name="phone_language" msgid="7116581601133118044">"زبانیں"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2517,12 +2534,9 @@
<!-- no translation found for settings_suggestion_header_summary_hidden_items (5597356221942118048) -->
<string name="network_dashboard_title" msgid="4771589228992391573">"نیٹ ورک اور انٹرنیٹ"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"منسلک آلات"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <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="7342549305933047317">"ڈیفالٹ ایپس"</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>
@@ -2625,7 +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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"اطلاعات کنفیگر کریں"</string>
+ <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>
@@ -2653,6 +2667,7 @@
<string name="importance_reset" msgid="7458420788555607007">"دوبارہ ترتیب دیں"</string>
<string name="show_silently" msgid="2222875799232222056">"خاموشی سے دکھائیں"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"آواز نہ نکالیں، وائبریٹ نہ کریں اور ان اطلاعات کو موجودہ اسکرین پر نہ دکھائیں۔"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"اطلاع کا معاون"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"اطلاع تک رسائی"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"ایپس اطلاعات نہیں پڑھ سکتی ہیں"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2941,6 +2956,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"آلہ کو بطور MIDI استعمال کریں"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"اس آلہ کو بطور MIDI استعمال کریں"</string>
<string name="usb_use" msgid="3256040963685055320">"USB کو اس لئے استعمال کریں"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"کچھ بھی منسلک نہیں"</string>
<string name="background_check_pref" msgid="7550258400138010979">"پس منظر کی جانچ"</string>
<string name="background_check_title" msgid="4534254315824525593">"پس منظر تک مکمل رسائی"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"سکرین سے متن استعمال کریں"</string>
@@ -3267,4 +3284,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"اکاؤنٹس"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"ترتیب دیں"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"اکاؤنٹ ڈیٹا کو خودکار مطابقت پذیر بنائیں"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"ذاتی اکاؤنٹ ڈیٹا کو خودکار مطابقت پذیر بنائیں"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"دفتری اکاؤنٹ ڈیٹا کو خودکار مطابقت پذیر بنائیں"</string>
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 06dd31d..ff85454 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"SIM kartadagi manzillar kitobini ko‘rish"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ruxsat etilgan raqamlarni ko‘rish"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Terish xizmati raqamlarini ko‘rish"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"PDP ro‘yxatini olish"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Xizmat doirasida"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Xizmat doirasidan tashqarida"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Faqat favqulodda qo‘ng‘iroqlar"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Ushbu xizmatni to‘xtatsangiz, telefoningizdagi ba\'zi imkoniyatlar ishlamay qolishi mumkin, bunday holda telefonni o‘chirib yoqishingiz kerak bo‘ladi."</string>
<string name="language_settings" msgid="8758655933029560944">"Tillar va matn kiritish"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Tillar va matn kiritish"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Klaviatura va matn kiritish usullari"</string>
<string name="phone_language" msgid="7116581601133118044">"Tillar"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Tarmoq va Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Ulangan qurilmalar"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Ilova va bildirishnomalar"</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">"Foydalanuvchi va hisoblar"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Birlamchi ilovalar"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Til: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Sozlamalar"</string>
<string name="search_menu" msgid="6283419262313758339">"Qidiruv sozlamalari"</string>
@@ -2636,7 +2651,7 @@
<string name="work_sync_dialog_title" msgid="4235493986362911084">"Ishchi ovozlar almashtirilsinmi?"</string>
<string name="work_sync_dialog_yes" msgid="7243884940551635717">"Almashtirish"</string>
<string name="work_sync_dialog_message" msgid="1655410601622810837">"Joriy ishchi profil ovozlari shaxsiy profil ovozlari bilan almashtiriladi"</string>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Bildirishnomalarni sozlash"</string>
+ <string name="configure_notification_settings" msgid="7447797716856573587">"Bildirishnoma sozlamalari"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Kengaytirilgan sozlamalar"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Ishga oid bildirishnomalar"</string>
<string name="notification_pulse_title" msgid="1247988024534030629">"Yoritkichli indikator"</string>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Asliga qaytarish"</string>
<string name="show_silently" msgid="2222875799232222056">"Ovozsiz"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ovozli signal va vibratsiyani o‘chirib qo‘yish, bildirishnomalarni boshqa ilovalar ustida ko‘rsatmaslik."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Bildirishnoma yordamchisi"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Bildirishnomalarga kirish"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Ilovalar bildirishnomalarni ko‘ra olmaydi"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"MIDI sifatida foydalanish"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Bu qurilmadan MIDI sifatida foydalanish"</string>
<string name="usb_use" msgid="3256040963685055320">"USB rejimi"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Hech narsa ulanmagan"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Fonda tekshirish"</string>
<string name="background_check_title" msgid="4534254315824525593">"Butun fonga ruxsat"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Ekrandagi matndan foydalanish"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Hisoblar"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Sozlash"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Avto-sinxronizatsiya (hisob)"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Avto-sinxronizatsiya (shaxsiy)"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Avto-sinxronizatsiya (ishchi)"</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index d3417ef..11aea1e 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Xem sổ địa chỉ trên SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Xem Số quay định sẵn"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Xem Số Quay số Dịch vụ"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Nhận danh sách PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Đang sử dụng"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Không có dịch vụ"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Chỉ cuộc gọi khẩn cấp"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Nếu bạn dừng dịch vụ này, một số tính năng của điện thoại của bạn có thể ngừng hoạt động đúng cho tới khi bạn tắt rồi bật lại điện thoại."</string>
<string name="language_settings" msgid="8758655933029560944">"Ngôn ngữ và nhập liệu"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Ngôn ngữ và nhập liệu"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Bàn phím & phương thức nhập"</string>
<string name="phone_language" msgid="7116581601133118044">"Ngôn ngữ"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Mạng và Internet"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Thiết bị đã kết nối"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Ứng dụng và thông báo"</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">"Người dùng và tài khoản"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Ứng dụng mặc định"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Ngôn ngữ: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Cài đặt"</string>
<string name="search_menu" msgid="6283419262313758339">"Cài đặt tìm kiếm"</string>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Định cấu hình thông báo"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Đặt lại"</string>
<string name="show_silently" msgid="2222875799232222056">"Hiển thị im lặng"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Không phát ra âm thanh, rung hoặc hiển thị các thông báo này khi xem trên màn hình hiện tại."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Trợ lý thông báo"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Truy cập thông báo"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Ứng dụng không thể đọc thông báo"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Sử dụng thiết bị làm MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Sử dụng thiết bị này làm MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Sử dụng USB để"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Không có gì được kết nối"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Kiểm tra nền"</string>
<string name="background_check_title" msgid="4534254315824525593">"Toàn quyền truy cập nền"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Sử dụng văn bản từ màn hình"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Tài khoản"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Định cấu hình"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Tự động đồng bộ hóa dữ liệu TK"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Tự động đ.bộ d.liệu TK c.nhân"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Tự động đ.bộ dữ liệu TK c.việc"</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index c10760b..23c0f19 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"查看 SIM 卡通讯录"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"查看固定拨号号码"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"查看服务拨号"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"获取 PDP 列表"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"在使用中"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"不在服务区"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"只能拨打紧急呼救电话"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"如果停止此服务,您手机上的某些功能也将随之停止工作,并在您将手机关机然后再重新打开后才能使用。"</string>
<string name="language_settings" msgid="8758655933029560944">"语言和输入法"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"语言和输入法"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"键盘和输入法"</string>
<string name="phone_language" msgid="7116581601133118044">"语言"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2530,10 +2547,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="7342549305933047317">"默认应用"</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>
@@ -2636,7 +2651,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"配置通知"</string>
+ <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>
@@ -2664,6 +2679,7 @@
<string name="importance_reset" msgid="7458420788555607007">"重置"</string>
<string name="show_silently" msgid="2222875799232222056">"显示时不发出提示音"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"不发出提示音,不振动,也不在当前屏幕上短暂显示这些通知。"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"通知助手"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"通知使用权"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"应用无法读取通知"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2952,6 +2968,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"用作 MIDI 设备"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"将此设备用作 MIDI 设备"</string>
<string name="usb_use" msgid="3256040963685055320">"请选择 USB 的使用方式:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"未连接任何设备"</string>
<string name="background_check_pref" msgid="7550258400138010979">"后台检查"</string>
<string name="background_check_title" msgid="4534254315824525593">"完整的后台访问权限"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"使用屏幕上的文字内容"</string>
@@ -3278,4 +3296,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"帐号"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"配置"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"自动同步帐号数据"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"自动同步个人帐号数据"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"自动同步工作帐号数据"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 201b23e..760815d 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"查看 SIM 卡通訊錄"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"查看固定撥號"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"查看服務撥號"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"取得 PDP 清單"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"服務中"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"沒有服務"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"只可撥打緊急電話"</string>
@@ -1601,6 +1614,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"如果您停用這項服務,您手機上的某些功能可能會停止正常運作,待您重新開機後才會恢復正常。"</string>
<string name="language_settings" msgid="8758655933029560944">"語言及輸入"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"語言及輸入"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"鍵盤與輸入法"</string>
<string name="phone_language" msgid="7116581601133118044">"語言"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2535,10 +2552,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="7342549305933047317">"預設應用程式"</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>
@@ -2641,7 +2656,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"設定通知"</string>
+ <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>
@@ -2669,6 +2684,7 @@
<string name="importance_reset" msgid="7458420788555607007">"重設"</string>
<string name="show_silently" msgid="2222875799232222056">"顯示通知時不發出音效"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"禁止這些通知發出音效、震動或不時於目前螢幕上出現。"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"通知小幫手"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"通知存取權"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"應用程式無法讀取通知"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2957,6 +2973,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"在 MIDI 模式下使用裝置"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"在 MIDI 模式下使用此裝置"</string>
<string name="usb_use" msgid="3256040963685055320">"利用 USB 執行以下操作:"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"尚未連接"</string>
<string name="background_check_pref" msgid="7550258400138010979">"背景檢查"</string>
<string name="background_check_title" msgid="4534254315824525593">"完整背景存取權"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"使用螢幕上的文字"</string>
@@ -3283,4 +3301,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"帳戶"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"設定"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"自動同步帳戶資料"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"自動同步個人帳戶資料"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"自動同步工作帳戶資料"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 53a7680..7c38d80 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"查看 SIM 通訊錄"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"查看固定撥號"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"檢視服務撥號號碼"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"取得 PDP 清單"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"服務中"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"無服務"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"僅可撥打緊急電話"</string>
@@ -1600,6 +1613,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"如果您停用這項服務,您的手機上的某些功能可能無法正常運作,待您重新開機後才會恢復正常。"</string>
<string name="language_settings" msgid="8758655933029560944">"語言與輸入設定"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"語言與輸入設定"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"鍵盤與輸入法"</string>
<string name="phone_language" msgid="7116581601133118044">"語言"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2288,8 +2305,8 @@
<string name="vpn_set_vpn_title" msgid="4009987321156037267">"要設定永久連線的 VPN 嗎?"</string>
<string name="vpn_first_always_on_vpn_message" msgid="3025322109743675467">"開啟這項設定後,在 VPN 成功連線之前,你將無法連上網際網路"</string>
<string name="vpn_replace_always_on_vpn_enable_message" msgid="2577928591361606641">"現有的 VPN 會遭到取代,而且在 VPN 成功連線之前,你將無法連上網際網路"</string>
- <string name="vpn_replace_always_on_vpn_disable_message" msgid="3011818750025879902">"你已連線至某個永久連線的 VPN。連線至其他 VPN 將會取代現有的 VPN,並關閉永久連線模式。"</string>
- <string name="vpn_replace_vpn_message" msgid="5611635724578812860">"你已連線至某個 VPN。連線至其他 VPN 將會取代現有的 VPN。"</string>
+ <string name="vpn_replace_always_on_vpn_disable_message" msgid="3011818750025879902">"你已連線至特定的永久連線 VPN。連線至其他 VPN 將會取代現有的 VPN,並關閉永久連線模式。"</string>
+ <string name="vpn_replace_vpn_message" msgid="5611635724578812860">"你已連線至特定 VPN。連線至其他 VPN 將會取代現有的 VPN。"</string>
<string name="vpn_turn_on" msgid="2363136869284273872">"開啟"</string>
<string name="vpn_cant_connect_title" msgid="4517706987875907511">"無法連線至 <xliff:g id="VPN_NAME">%1$s</xliff:g>"</string>
<string name="vpn_cant_connect_message" msgid="2593197919352621279">"這個應用程式不支援永久連線的 VPN。"</string>
@@ -2533,12 +2550,9 @@
</plurals>
<string name="network_dashboard_title" msgid="4771589228992391573">"網路和網際網路"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"已連結的裝置"</string>
- <!-- no translation found for app_and_notification_dashboard_title (7838365599185397539) -->
- <skip />
- <!-- no translation found for account_dashboard_title (38701889336378742) -->
- <skip />
- <!-- no translation found for app_default_dashboard_title (8176215295082796426) -->
- <skip />
+ <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="7342549305933047317">"預設應用程式"</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>
@@ -2641,7 +2655,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"設定通知"</string>
+ <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>
@@ -2669,6 +2683,7 @@
<string name="importance_reset" msgid="7458420788555607007">"重設"</string>
<string name="show_silently" msgid="2222875799232222056">"無聲顯示"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"不要發出音效、震動,也不要在目前畫面上短暫顯示這類通知。"</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"通知小幫手"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"通知存取權"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"應用程式無法讀取通知"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2957,6 +2972,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"將裝置用做 MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"將這個裝置用做 MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"請選擇 USB 的使用方式"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"未連接任何裝置"</string>
<string name="background_check_pref" msgid="7550258400138010979">"背景檢查"</string>
<string name="background_check_title" msgid="4534254315824525593">"完整背景存取權"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"使用畫面中的文字"</string>
@@ -3283,4 +3300,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"帳戶"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"設定"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"自動同步處理帳戶資料"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"自動同步處理個人帳戶資料"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"自動同步處理工作帳戶資料"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 942f1dd..64029f0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -45,7 +45,20 @@
<string name="radioInfo_menu_viewADN" msgid="7069468158519465139">"Buka incwadi yekheli le-SIM"</string>
<string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Buka Izinombolo Zokudayela Okungaguquki"</string>
<string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Buka Izinombolo Zokudayela Isevisi"</string>
- <string name="radioInfo_menu_getPDP" msgid="8951059003824985976">"Thola uhlu lwe-PDP"</string>
+ <!-- no translation found for radioInfo_menu_getIMS (185171476413967831) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_title (16971785902696970) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_registered (5614116179751126247) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status_not_registered (4438054067642750717) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_available (3687807290327566879) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_feature_status_unavailable (4606182208970114368) -->
+ <skip />
+ <!-- no translation found for radio_info_ims_reg_status (7534612158445529715) -->
+ <skip />
<string name="radioInfo_service_in" msgid="1697703164394784618">"Kwisevisi"</string>
<string name="radioInfo_service_out" msgid="7999094221728929681">"Ayikho isevisi"</string>
<string name="radioInfo_service_emergency" msgid="6274434235469661525">"Amakholi aphuthumayo kuphela"</string>
@@ -1601,6 +1614,10 @@
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"Uqinisekile ukuthi ufuna ukumisa le sevisi yesistimu? Uma kunjalo, ezinyeizici zethebhulethi yakho zingase ziyeke ukusebenza kahle kuze kube yilapho uyivala noma uyivula futhi."</string>
<string name="language_settings" msgid="8758655933029560944">"Izilimi nokokufaka"</string>
<string name="language_keyboard_settings_title" msgid="3709159207482544398">"Izilimi nokokufaka"</string>
+ <!-- no translation found for language_and_region_settings_title (117593114157670585) -->
+ <skip />
+ <!-- no translation found for input_gesture_settings_title (2201979773768106872) -->
+ <skip />
<string name="keyboard_settings_category" msgid="8275523930352487827">"Ikhibhodi & izindlela zokufaka"</string>
<string name="phone_language" msgid="7116581601133118044">"Izilimi"</string>
<string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -2531,10 +2548,8 @@
<string name="network_dashboard_title" msgid="4771589228992391573">"Inethiwekhi ye-inthanethi"</string>
<string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Amadivayisi axhunyiwe"</string>
<string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Izinhlelo zokusebenza nezaziso"</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">"Umsebenzisi nama-akhawunti"</string>
+ <string name="app_default_dashboard_title" msgid="7342549305933047317">"Izinhlelo zokusebenza ezizenzakalelayo"</string>
<string name="system_dashboard_summary" msgid="6112602136713843779">"Ulimi: <xliff:g id="LANGUAGE">%1$s</xliff:g>"</string>
<string name="search_results_title" msgid="1796252422574886932">"Izilungiselelo"</string>
<string name="search_menu" msgid="6283419262313758339">"Izilungiselelo zokusesha"</string>
@@ -2637,7 +2652,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>
- <string name="configure_notification_settings" msgid="3558846607192693233">"Lungisa izaziso"</string>
+ <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>
@@ -2665,6 +2680,7 @@
<string name="importance_reset" msgid="7458420788555607007">"Setha kabusha"</string>
<string name="show_silently" msgid="2222875799232222056">"Bonisa ngokuthulile"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"Ungenzi umsindo, ukudlidlizela, noma ubheke lezi zaziso kusikrini samanje."</string>
+ <string name="default_notification_assistant" msgid="7631945224761430146">"Umsizi wesaziso"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"Ukufinyelela isaziso"</string>
<string name="manage_notification_access_summary_zero" msgid="2409912785614953348">"Izinhlelo zokusebenza azikwazi ukufunda izaziso"</string>
<plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="7930130030691218387">
@@ -2953,6 +2969,8 @@
<string name="usb_use_MIDI" msgid="870922185938298263">"Sebenzisa idivayisi njenge-MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Sebenzisa le divayisi njenge-MIDI"</string>
<string name="usb_use" msgid="3256040963685055320">"Sebenzisa i-USB"</string>
+ <string name="usb_pref" msgid="1400617804525116158">"I-USB"</string>
+ <string name="usb_nothing_connected" msgid="253193394274317171">"Akukho okuxhumekile"</string>
<string name="background_check_pref" msgid="7550258400138010979">"Ukuhlola kwangasemuva"</string>
<string name="background_check_title" msgid="4534254315824525593">"Ukufinyelela kwangasemuva okuphele"</string>
<string name="assist_access_context_title" msgid="2269032346698890257">"Sebenzisa umbhalo kusukela kusikrini"</string>
@@ -3279,4 +3297,9 @@
<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>
+ <string name="account_for_section_header" msgid="5867553104728848377">"Ama-akhawunti"</string>
+ <string name="configure_section_header" msgid="7391183586410814450">"Misa"</string>
+ <string name="auto_sync_account_title" msgid="7647106425106072285">"Idatha ye-akhawunti yokuvumelanisa ngokuzenzakalela"</string>
+ <string name="auto_sync_personal_account_title" msgid="999536545686286287">"Idatha ye-akhawunti yomuntu siqu yokuvumelanisa ngokuzenzakalela"</string>
+ <string name="auto_sync_work_account_title" msgid="3073278154593727844">"Idatha ye-akhawunti yomsebenzi yokuvumelanisa ngokuzenzakalela"</string>
</resources>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 6df41d2..9a74fa5 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -142,6 +142,11 @@
<attr name="preview" format="reference" />
</declare-styleable>
+ <declare-styleable name="VideoPreference">
+ <attr name="animation" format="reference" />
+ <attr name="preview" format="reference" />
+ </declare-styleable>
+
<!-- For AspectRatioFrameLayout -->
<declare-styleable name="AspectRatioFrameLayout">
<attr name="aspectRatio" format="float" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 14b7899..4ca87fb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -81,7 +81,23 @@
<!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string>
<!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed -->
- <string name="radioInfo_menu_getPDP">Get PDP List</string>
+ <string name="radioInfo_menu_getIMS">IMS Service Status</string>
+
+ <!-- Phone Info screen. IMS Registration Title. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_ims_reg_status_title">IMS Status</string>
+
+ <!-- Phone Info screen. IMS Status - Registered. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_ims_reg_status_registered">Registered</string>
+ <!-- Phone Info screen. Ims Status - Unregistered. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_ims_reg_status_not_registered">Not Registered</string>
+
+ <!-- Phone Info screen. Ims Feature Status label. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_ims_feature_status_available">Available</string>
+ <!-- Phone Info screen. Ims Feature status label. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_ims_feature_status_unavailable">Unavailable</string>
+
+ <!-- Phone Info screen. IMS Registration. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_ims_reg_status">IMS Registration: <xliff:g id="status" example="registered">%1$s</xliff:g>\u000AVoice over LTE: <xliff:g id="availability" example="available">%2$s</xliff:g>\u000AVoice over WiFi: <xliff:g id="availability" example="available">%3$s</xliff:g>\u000AVideo Calling: <xliff:g id="availability" example="available">%4$s</xliff:g>\u000AUT Interface: <xliff:g id="availability" example="available">%5$s</xliff:g></string>
<!-- Phone Info screen. Status label. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radioInfo_service_in">In Service</string>
@@ -3717,6 +3733,10 @@
<string name="language_settings">Languages & input</string>
<!-- Title of Languages & input settings screen -->
<string name="language_keyboard_settings_title">Languages & input</string>
+ <!-- Title of Languages & region settings screen -->
+ <string name="language_and_region_settings_title">Languages & region</string>
+ <!-- Title of Input & gesture settings screen -->
+ <string name="input_gesture_settings_title">Input & gestures</string>
<!-- On Languages & input settings screen, heading. Inside the "Languages & input settings" screen, this is the header for settings that relate to keyboard (enable/disable each keyboard, settings for each keyboard). -->
<string name="keyboard_settings_category">Keyboard & input methods</string>
<!-- On Text & language settings screen, setting option name. title of the setting to take the user to a screen to select the locale. -->
@@ -5933,9 +5953,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>
@@ -6252,6 +6272,9 @@
<!-- [CHAR LIMIT=180] Notification importance summary -->
<string name="show_silently_summary">Don\'t make sound, vibrate, or peek these notifications into view on the current screen.</string>
+ <!-- Default Apps > Default notification assistant -->
+ <string name="default_notification_assistant">Notification assistant</string>
+
<!-- Sound & notification > Advanced section: Title for managing notification listeners option. [CHAR LIMIT=30] -->
<string name="manage_notification_access_title">Notification access</string>
@@ -7057,6 +7080,11 @@
usb_use_file_transfer, use_use_photo_transfer, and usb_use_MIDI -->
<string name="usb_use">Use USB to</string>
+ <!-- Settings item title for USB preference [CHAR LIMIT=35] -->
+ <string name="usb_pref">USB</string>
+ <!-- Summary for the USB preference when nothing is connected through the usb port. [CHAR LIMIT=40] -->
+ <string name="usb_nothing_connected">Nothing connected</string>
+
<!-- Settings item title for background check prefs [CHAR LIMIT=35] -->
<string name="background_check_pref">Background check</string>
@@ -7932,4 +7960,26 @@
<!-- Warning when activating the automatic storage manager on legacy devices. [CHAR LIMIT=NONE] -->
<string name="automatic_storage_manager_activation_warning">Your storage is now being managed by the storage manager</string>
+
+ <!-- Accounts for section header [CHAR LIMIT=30] -->
+ <string name="account_for_section_header">Accounts</string>
+
+ <!-- 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>
+
+ <!-- Enterprise Privacy --> <skip />
+
+ <!-- Title of setting on main settings screen. This will take the user to a screen with information about his/her privacy on a managed device. Shown on enterprise-managed devices only. -->
+ <string name="enterprise_privacy_settings">Privacy</string>
+ <!-- Enterprise Privacy settings activity title -->
+ <string name="enterprise_privacy_settings_title">Privacy</string>
+ <!-- Enterprise Privacy settings activity header, summarizing the powers that the admin has. [CHAR LIMIT=NONE] -->
+ <string name="enterprise_privacy_header">To provide access to your work data, your organization may change settings and install software on your device, which could cause some of your personal content to be visible to your admin. Contact your organization\'s admin for more details.</string>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0f957a8..a18fde3 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -452,4 +452,25 @@
<item name="android:progressDrawable">@drawable/ring_progress</item>
</style>
+ <style name="AppHeader">
+ <item name="android:background">@color/card_background_grey</item>
+ <item name="android:gravity">center_horizontal</item>
+ <item name="android:paddingTop">16dp</item>
+ <item name="android:paddingStart">16dp</item>
+ <item name="android:paddingEnd">16dp</item>
+ <item name="android:paddingBottom">8dp</item>
+ </style>
+
+ <style name="TextAppearance.AppHeaderTitle"
+ parent="@android:style/TextAppearance.Material.Subhead">
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ <item name="android:textSize">24sp</item>
+ </style>
+
+ <style name="AppHeaderLinkButton" parent="android:Widget.Material.Button.Borderless">
+ <item name="android:background">@drawable/button_bg_transparent</item>
+ </style>
+
+ <style name="AppActionPrimaryButton" parent="android:Widget.Material.Button.Colored"/>
+
</resources>
diff --git a/res/xml/advanced_apps.xml b/res/xml/advanced_apps.xml
index 7b1af10..7e2e9cd 100644
--- a/res/xml/advanced_apps.xml
+++ b/res/xml/advanced_apps.xml
@@ -66,6 +66,10 @@
android:title="@string/sms_application_title"
settings:keywords="@string/keywords_more_default_sms_app" />
+ <com.android.settings.applications.DefaultNotificationAssistantPreference
+ android:key="default_notification_asst_app"
+ android:title="@string/default_notification_assistant" />
+
</PreferenceCategory>
<com.android.settings.WorkOnlyCategory
diff --git a/res/xml/app_default_settings.xml b/res/xml/app_default_settings.xml
index c6e56a1..932fa60 100644
--- a/res/xml/app_default_settings.xml
+++ b/res/xml/app_default_settings.xml
@@ -56,6 +56,11 @@
settings:keywords="@string/keywords_emergency_app"
android:order="-15"/>
+ <com.android.settings.applications.DefaultNotificationAssistantPreference
+ android:key="default_notification_asst_app"
+ android:title="@string/default_notification_assistant"
+ android:order="-14"/>
+
<Preference
android:key="domain_urls"
android:title="@string/domain_urls_title"
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index 4289550..e758702 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -16,16 +16,25 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
- <SwitchPreference
- android:key="toggle_nfc"
- android:title="@string/nfc_quick_toggle_title"
- android:summary="@string/nfc_quick_toggle_summary"
- android:order="-5" />
+ <SwitchPreference
+ android:key="toggle_nfc"
+ android:title="@string/nfc_quick_toggle_title"
+ android:summary="@string/nfc_quick_toggle_summary"
+ android:order="-5" />
- <com.android.settingslib.RestrictedPreference
- android:fragment="com.android.settings.nfc.AndroidBeam"
- android:key="android_beam_settings"
- android:title="@string/android_beam_settings_title"
- android:order="-4" />
+ <com.android.settingslib.RestrictedPreference
+ android:fragment="com.android.settings.nfc.AndroidBeam"
+ android:key="android_beam_settings"
+ android:title="@string/android_beam_settings_title"
+ android:order="-4" />
+
+ <Preference
+ android:key="usb_mode"
+ android:title="@string/usb_pref"
+ android:order="-3" >
+ <intent android:action="android.intent.action.MAIN"
+ android:targetPackage="com.android.settings"
+ android:targetClass="com.android.settings.deviceinfo.UsbModeChooserActivity"/>
+ </Preference>
</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index d84b008..e6fc521 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -63,6 +63,12 @@
android:summary="@string/runningservices_settings_summary"
android:fragment="com.android.settings.applications.RunningServices" />
+ <Preference
+ android:key="process_stats"
+ android:title="@string/memory_settings_title"
+ android:icon="@drawable/ic_settings_memory"
+ android:fragment="com.android.settings.applications.ProcessStatsSummary"/>
+
<PreferenceScreen
android:key="convert_to_file_encryption"
android:title="@string/convert_to_file_encryption"
diff --git a/res/xml/double_tap_power_settings.xml b/res/xml/double_tap_power_settings.xml
new file mode 100644
index 0000000..3376f3c
--- /dev/null
+++ b/res/xml/double_tap_power_settings.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <com.android.settings.widget.VideoPreference
+ android:key="gesture_double_tap_power_video"
+ app:animation="@raw/gesture_double_tap"
+ app:preview="@drawable/gesture_double_tap"/>
+
+ <SwitchPreference
+ android:key="gesture_double_tap_power"
+ android:title="@string/double_tap_power_for_camera_title"
+ android:summary="@string/double_tap_power_for_camera_summary"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/double_tap_screen_settings.xml b/res/xml/double_tap_screen_settings.xml
new file mode 100644
index 0000000..a76a487
--- /dev/null
+++ b/res/xml/double_tap_screen_settings.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <com.android.settings.widget.VideoPreference
+ android:key="gesture_double_tap_screen_video"
+ app:animation="@raw/gesture_ambient_tap"
+ app:preview="@drawable/gesture_ambient_tap"/>
+
+ <SwitchPreference
+ android:key="gesture_double_tap_screen"
+ android:title="@string/ambient_display_title"
+ android:summary="@string/ambient_display_summary"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/double_twist_gesture_settings.xml b/res/xml/double_twist_gesture_settings.xml
new file mode 100644
index 0000000..e8d0abe
--- /dev/null
+++ b/res/xml/double_twist_gesture_settings.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <com.android.settings.widget.VideoPreference
+ android:key="gesture_double_twist_video"
+ app:animation="@raw/gesture_twist"
+ app:preview="@drawable/gesture_twist"/>
+
+ <SwitchPreference
+ android:key="gesture_double_twist"
+ android:title="@string/double_twist_for_camera_mode_title"
+ android:summary="@string/double_twist_for_camera_mode_summary"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/enterprise_privacy_settings.xml b/res/xml/enterprise_privacy_settings.xml
new file mode 100644
index 0000000..26cc6a8
--- /dev/null
+++ b/res/xml/enterprise_privacy_settings.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
+ android:key="enterprise_privacy_settings"
+ android:title="@string/enterprise_privacy_settings_title">
+
+ <!-- Header -->
+ <Preference android:key="enterprise_privacy_header"
+ android:summary="@string/enterprise_privacy_header"
+ android:selectable="false"/>
+</PreferenceScreen>
diff --git a/res/xml/input_and_gesture.xml b/res/xml/input_and_gesture.xml
new file mode 100644
index 0000000..c30178b
--- /dev/null
+++ b/res/xml/input_and_gesture.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <PreferenceCategory
+ android:title="@string/keyboard_and_input_methods_category">
+ <Preference
+ android:title="@string/virtual_keyboard_category"
+ android:fragment="com.android.settings.inputmethod.VirtualKeyboardFragment"/>
+ <Preference
+ android:title="@string/physical_keyboard_title"
+ android:fragment="com.android.settings.inputmethod.PhysicalKeyboardFragment"/>
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:key="gesture_settings_category"
+ android:title="@string/gesture_preference_title">
+
+ <Preference
+ android:key="gesture_swipe_down_fingerprint"
+ android:title="@string/fingerprint_swipe_for_notifications_title"
+ android:fragment="com.android.settings.gestures.SwipeToNotificationSettings"/>
+
+ <Preference
+ android:key="gesture_double_tap_power"
+ android:title="@string/double_tap_power_for_camera_title"
+ android:fragment="com.android.settings.gestures.DoubleTapPowerSettings"/>
+
+ <Preference
+ android:key="gesture_double_twist"
+ android:title="@string/double_twist_for_camera_mode_title"
+ android:fragment="com.android.settings.gestures.DoubleTwistGestureSettings"/>
+
+ <Preference
+ android:key="gesture_double_tap_screen"
+ android:title="@string/ambient_display_title"
+ android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"/>
+
+ <Preference
+ android:key="gesture_pick_up"
+ android:title="@string/ambient_display_pickup_title"
+ android:fragment="com.android.settings.gestures.PickupGestureSettings"/>
+
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:key="pointer_settings_category"
+ android:title="@string/pointer_settings_category">
+
+ <com.android.settings.PointerSpeedPreference
+ android:key="pointer_speed"
+ android:title="@string/pointer_speed"
+ android:dialogTitle="@string/pointer_speed"/>
+
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:key="game_controller_settings_category"
+ android:title="@string/game_controller_settings_category">
+
+ <SwitchPreference
+ android:key="vibrate_input_devices"
+ android:title="@string/vibrate_input_devices"
+ android:summaryOn="@string/vibrate_input_devices_summary"
+ android:summaryOff="@string/vibrate_input_devices_summary"/>
+
+ </PreferenceCategory>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/installed_app_details_ia.xml b/res/xml/installed_app_details_ia.xml
new file mode 100644
index 0000000..f4603ed
--- /dev/null
+++ b/res/xml/installed_app_details_ia.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <com.android.settings.applications.LayoutPreference
+ android:key="header_view"
+ android:layout="@layout/app_details"
+ android:selectable="false"/>
+
+ <Preference
+ android:key="storage_settings"
+ android:title="@string/storage_settings"
+ android:selectable="true"/>
+
+ <Preference
+ android:key="data_settings"
+ android:title="@string/data_usage_summary_title"
+ android:selectable="true"/>
+
+ <Preference
+ android:key="permission_settings"
+ android:title="@string/permissions_label"
+ android:selectable="true"/>
+
+ <Preference
+ android:key="notification_settings"
+ android:title="@string/notifications_label"
+ android:selectable="true"/>
+
+ <Preference
+ android:key="preferred_settings"
+ android:title="@string/launch_by_default"
+ android:selectable="true"/>
+
+ <Preference
+ android:key="battery"
+ android:title="@string/power_usage_summary_title"
+ android:selectable="true"/>
+
+ <Preference
+ android:key="memory"
+ android:title="@string/memory_settings_title"
+ android:enabled="false"
+ android:selectable="true"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/language_and_region.xml b/res/xml/language_and_region.xml
new file mode 100644
index 0000000..62179c9
--- /dev/null
+++ b/res/xml/language_and_region.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <Preference
+ android:key="phone_language"
+ android:title="@string/phone_language"
+ android:fragment="com.android.settings.localepicker.LocaleListEditor"/>
+
+ <!-- Spell checker preference title, summary and fragment will be set programmatically. -->
+ <!-- Note: Mark this as persistent="false" to remove unnecessarily saved shared preference.
+ See: InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference. -->
+ <Preference
+ android:key="spellcheckers_settings"
+ android:title="@string/spellcheckers_settings_title"
+ android:persistent="false"/>
+
+ <!-- User dictionary preference title and fragment will be set programmatically. -->
+ <Preference
+ android:key="key_user_dictionary_settings"
+ android:title="@string/user_dict_settings_title"/>
+
+ <!-- TTS -->
+ <PreferenceCategory
+ android:key="voice_category"
+ android:title="@string/voice_category">
+
+ <Preference
+ android:key="tts_settings"
+ android:title="@string/tts_settings_title"
+ android:fragment="com.android.settings.tts.TextToSpeechSettings"/>
+
+ </PreferenceCategory>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index 9074d0a..992af92 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -15,9 +15,8 @@
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
- android:key="language_keyboard_settings"
- android:title="@string/language_keyboard_settings_title">
+ android:key="language_keyboard_settings"
+ android:title="@string/language_keyboard_settings_title">
<PreferenceScreen
android:key="phone_language"
@@ -28,11 +27,11 @@
<!-- Spell checker preference title, summary and fragment will be set programmatically. -->
<!-- Note: Mark this as persistent="false" to remove unnecessarily saved shared preference.
See: InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference. -->
- <PreferenceScreen
- android:key="spellcheckers_settings"
- android:title="@string/spellcheckers_settings_title"
- android:persistent="false"
- />
+ <Preference
+ android:key="spellcheckers_settings"
+ android:title="@string/spellcheckers_settings_title"
+ android:fragment="com.android.settings.inputmethod.SpellCheckersSettings"
+ android:persistent="false"/>
<!-- User dictionary preference title and fragment will be set programmatically. -->
<PreferenceScreen
@@ -50,26 +49,6 @@
android:fragment="com.android.settings.inputmethod.PhysicalKeyboardFragment" />
</PreferenceCategory>
- <!-- Temporarily disabled: -->
- <!--<PreferenceCategory-->
- <!--android:key="keyboard_settings_category"-->
- <!--android:title="@string/keyboard_settings_category">-->
-
- <!--<PreferenceScreen-->
- <!--android:key="current_input_method"-->
- <!--android:title="@string/current_input_method"-->
- <!--/>-->
- <!--<!– Enabled input method list will be populated programmatically here. –>-->
- <!--</PreferenceCategory>-->
-
- <!--<PreferenceCategory-->
- <!--android:key="hard_keyboard"-->
- <!--android:title="@string/builtin_keyboard_settings_title"-->
- <!--android:persistent="false">-->
- <!--<!– Additional preference screens are inserted here programmatically-->
- <!--with low order values to set the key map of each attached keyboard. –>-->
- <!--</PreferenceCategory>-->
-
<PreferenceCategory
android:key="voice_category"
android:title="@string/voice_category" >
diff --git a/res/xml/pick_up_gesture_settings.xml b/res/xml/pick_up_gesture_settings.xml
new file mode 100644
index 0000000..4ef81a2
--- /dev/null
+++ b/res/xml/pick_up_gesture_settings.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <com.android.settings.widget.VideoPreference
+ android:key="gesture_pick_up_video"
+ app:animation="@raw/gesture_ambient_lift"
+ app:preview="@drawable/gesture_ambient_lift"/>
+
+ <SwitchPreference
+ android:key="gesture_pick_up"
+ android:title="@string/ambient_display_pickup_title"
+ android:summary="@string/ambient_display_pickup_summary"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/swipe_to_notification_settings.xml b/res/xml/swipe_to_notification_settings.xml
new file mode 100644
index 0000000..a4dedfb
--- /dev/null
+++ b/res/xml/swipe_to_notification_settings.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <com.android.settings.widget.VideoPreference
+ android:key="gesture_swipe_down_fingerprint_video"
+ app:animation="@raw/gesture_fingerprint_swipe"
+ app:preview="@drawable/gesture_fingerprint_swipe"/>
+
+ <SwitchPreference
+ android:key="gesture_swipe_down_fingerprint"
+ android:title="@string/fingerprint_swipe_for_notifications_title"
+ android:summary="@string/fingerprint_swipe_for_notifications_summary"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/user_and_accounts_settings.xml b/res/xml/user_and_accounts_settings.xml
new file mode 100644
index 0000000..64b9292
--- /dev/null
+++ b/res/xml/user_and_accounts_settings.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
+ android:key="account"
+ android:title="@string/account_settings_title"
+ settings:keywords="@string/keywords_accounts">
+
+ <PreferenceCategory
+ android:key="account_for_header"
+ android:title="@string/account_for_section_header" />
+
+ <Preference
+ android:key="emergency_info"
+ android:title="@string/emergency_info_title" />
+
+ <PreferenceCategory
+ android:key="account_configuration_header"
+ android:title="@string/configure_section_header">
+
+ </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/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java
index 56a4ca0..4fc205d 100644
--- a/src/com/android/settings/AirplaneModeEnabler.java
+++ b/src/com/android/settings/AirplaneModeEnabler.java
@@ -27,7 +27,7 @@
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.PhoneStateIntentReceiver;
import com.android.internal.telephony.TelephonyProperties;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java
index bed2083..061c18a 100644
--- a/src/com/android/settings/ApnEditor.java
+++ b/src/com/android/settings/ApnEditor.java
@@ -47,7 +47,7 @@
import android.view.View;
import android.view.View.OnKeyListener;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.util.ArrayUtils;
diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java
index a32e421..c00bca4 100644
--- a/src/com/android/settings/ApnSettings.java
+++ b/src/com/android/settings/ApnSettings.java
@@ -53,7 +53,7 @@
import android.widget.TextView;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.dataconnection.ApnSetting;
diff --git a/src/com/android/settings/AppListPreference.java b/src/com/android/settings/AppListPreference.java
index 1ebeeaa..1fe0c13 100644
--- a/src/com/android/settings/AppListPreference.java
+++ b/src/com/android/settings/AppListPreference.java
@@ -201,14 +201,21 @@
try {
ActivityInfo activityInfo = AppGlobals.getPackageManager().getActivityInfo(
componentNames[i], 0, mUserId);
- if (activityInfo == null) continue;
- applicationNames.add(activityInfo.loadLabel(pm));
- validatedComponentNames.add(componentNames[i].flattenToString());
- entryDrawables.add(activityInfo.loadIcon(pm));
+ if (activityInfo != null) {
+ applicationNames.add(activityInfo.loadLabel(pm));
+ validatedComponentNames.add(componentNames[i].flattenToString());
+ entryDrawables.add(activityInfo.loadIcon(pm));
+ } else {
+ ApplicationInfo appInfo = pm.getApplicationInfoAsUser(
+ componentNames[i].getPackageName().toString(), 0, mUserId);
+ applicationNames.add(appInfo.loadLabel(pm));
+ validatedComponentNames.add(componentNames[i].flattenToString());
+ entryDrawables.add(appInfo.loadIcon(pm));
+ }
if (defaultCN != null && componentNames[i].equals(defaultCN)) {
selectedIndex = i;
}
- } catch (RemoteException e) {
+ } catch (RemoteException|NameNotFoundException e) {
// Skip unknown packages.
}
}
diff --git a/src/com/android/settings/ApplicationSettings.java b/src/com/android/settings/ApplicationSettings.java
index f271339..f005124 100644
--- a/src/com/android/settings/ApplicationSettings.java
+++ b/src/com/android/settings/ApplicationSettings.java
@@ -24,7 +24,7 @@
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
public class ApplicationSettings extends SettingsPreferenceFragment {
diff --git a/src/com/android/settings/BugreportPreference.java b/src/com/android/settings/BugreportPreference.java
index e929d3d..02f4614 100644
--- a/src/com/android/settings/BugreportPreference.java
+++ b/src/com/android/settings/BugreportPreference.java
@@ -28,7 +28,7 @@
import android.widget.CheckedTextView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.overlay.FeatureFactory;
public class BugreportPreference extends CustomDialogPreference {
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 3a1f501..a01ecf7 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -48,7 +48,7 @@
import android.view.accessibility.AccessibilityManager;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.fingerprint.FingerprintEnrollBase;
@@ -338,7 +338,7 @@
}
} else if (requestCode == CHOOSE_LOCK_BEFORE_FINGERPRINT_REQUEST
&& resultCode == FingerprintEnrollBase.RESULT_FINISHED) {
- Intent intent = new Intent(getActivity(), FingerprintEnrollFindSensor.class);
+ Intent intent = getFindSensorIntent(getActivity());
if (data != null) {
intent.putExtras(data.getExtras());
}
@@ -359,6 +359,10 @@
}
}
+ protected Intent getFindSensorIntent(Context context) {
+ return new Intent(context, FingerprintEnrollFindSensor.class);
+ }
+
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java
index 2d40f20..3c66b7e 100644
--- a/src/com/android/settings/ChooseLockPassword.java
+++ b/src/com/android/settings/ChooseLockPassword.java
@@ -47,7 +47,7 @@
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
import com.android.internal.widget.TextViewInputDisabler;
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
index 42a941a..d92e6aa 100644
--- a/src/com/android/settings/ChooseLockPattern.java
+++ b/src/com/android/settings/ChooseLockPattern.java
@@ -27,9 +27,10 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
+import android.widget.ScrollView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
@@ -152,6 +153,9 @@
protected List<LockPatternView.Cell> mChosenPattern = null;
private boolean mHideDrawer = false;
+ // ScrollView that contains title and header, only exist in land mode
+ private ScrollView mTitleHeaderScrollView;
+
/**
* The patten used during the help screen to show how to draw a pattern.
*/
@@ -237,6 +241,15 @@
mFooterText.setText("");
mFooterLeftButton.setEnabled(false);
mFooterRightButton.setEnabled(false);
+
+ if (mTitleHeaderScrollView != null) {
+ mTitleHeaderScrollView.post(new Runnable() {
+ @Override
+ public void run() {
+ mTitleHeaderScrollView.fullScroll(ScrollView.FOCUS_DOWN);
+ }
+ });
+ }
}
};
@@ -415,6 +428,9 @@
mFooterLeftButton = (TextView) view.findViewById(R.id.footerLeftButton);
mFooterRightButton = (TextView) view.findViewById(R.id.footerRightButton);
+ mTitleHeaderScrollView = (ScrollView) view.findViewById(R.id
+ .scroll_layout_title_header);
+
mFooterLeftButton.setOnClickListener(this);
mFooterRightButton.setOnClickListener(this);
diff --git a/src/com/android/settings/ConfirmLockPassword.java b/src/com/android/settings/ConfirmLockPassword.java
index 5214449..6b55add 100644
--- a/src/com/android/settings/ConfirmLockPassword.java
+++ b/src/com/android/settings/ConfirmLockPassword.java
@@ -39,7 +39,7 @@
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternChecker;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.TextViewInputDisabler;
diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java
index bb13241..a224ac8 100644
--- a/src/com/android/settings/ConfirmLockPattern.java
+++ b/src/com/android/settings/ConfirmLockPattern.java
@@ -31,7 +31,7 @@
import android.view.animation.Interpolator;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient;
import com.android.internal.widget.LockPatternChecker;
import com.android.internal.widget.LockPatternUtils;
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index 4214343..826c20b 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -293,11 +293,11 @@
try {
Log.d(TAG, "Validating encryption state.");
state = service.getEncryptionState();
- if (state == IMountService.ENCRYPTION_STATE_NONE) {
+ if (state == StorageManager.ENCRYPTION_STATE_NONE) {
Log.w(TAG, "Unexpectedly in CryptKeeper even though there is no encryption.");
return true; // Unexpected, but fine, I guess...
}
- return state == IMountService.ENCRYPTION_STATE_OK;
+ return state == StorageManager.ENCRYPTION_STATE_OK;
} catch (RemoteException e) {
Log.w(TAG, "Unable to get encryption state properly");
return true;
@@ -310,7 +310,7 @@
if (Boolean.FALSE.equals(result)) {
Log.w(TAG, "Incomplete, or corrupted encryption detected. Prompting user to wipe.");
mEncryptionGoneBad = true;
- mCorrupt = state == IMountService.ENCRYPTION_STATE_ERROR_CORRUPT;
+ mCorrupt = state == StorageManager.ENCRYPTION_STATE_ERROR_CORRUPT;
} else {
Log.d(TAG, "Encryption state validated. Proceeding to configure UI");
}
diff --git a/src/com/android/settings/CryptKeeperConfirm.java b/src/com/android/settings/CryptKeeperConfirm.java
index 8ab493e..87189c8 100644
--- a/src/com/android/settings/CryptKeeperConfirm.java
+++ b/src/com/android/settings/CryptKeeperConfirm.java
@@ -33,7 +33,7 @@
import android.view.ViewGroup;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.InstrumentedFragment;
diff --git a/src/com/android/settings/CryptKeeperSettings.java b/src/com/android/settings/CryptKeeperSettings.java
index 37846a3..cdeb55f 100644
--- a/src/com/android/settings/CryptKeeperSettings.java
+++ b/src/com/android/settings/CryptKeeperSettings.java
@@ -35,7 +35,7 @@
import android.view.ViewGroup;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
public class CryptKeeperSettings extends InstrumentedFragment {
diff --git a/src/com/android/settings/CustomListPreference.java b/src/com/android/settings/CustomListPreference.java
index d251a65..0549b60 100644
--- a/src/com/android/settings/CustomListPreference.java
+++ b/src/com/android/settings/CustomListPreference.java
@@ -29,7 +29,7 @@
import android.support.v7.preference.ListPreference;
import android.util.AttributeSet;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
public class CustomListPreference extends ListPreference {
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index f33ca85..cbe3cdd 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -39,7 +39,7 @@
import android.widget.DatePicker;
import android.widget.TimePicker;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
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/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index b9bc439..9062e63 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -79,8 +79,9 @@
import android.widget.Toast;
import com.android.internal.app.LocalePicker;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.applications.BackgroundCheckSummary;
+import com.android.settings.applications.ProcessStatsPreferenceController;
import com.android.settings.fuelgauge.InactiveApps;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -307,6 +308,7 @@
private SwitchPreference mForceResizable;
private SwitchPreference mColorTemperaturePreference;
+ private ProcessStatsPreferenceController mProcessStatsPreferenceController;
private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();
@@ -360,9 +362,12 @@
setPreferenceScreen(new PreferenceScreen(getPrefContext(), null));
return;
}
+ mProcessStatsPreferenceController = new ProcessStatsPreferenceController(getActivity());
addPreferencesFromResource(R.xml.development_prefs);
+ mProcessStatsPreferenceController.displayPreference(getPreferenceScreen());
+
final PreferenceGroup debugDebuggingCategory = (PreferenceGroup)
findPreference(DEBUG_DEBUGGING_CATEGORY_KEY);
mEnableAdb = findAndInitSwitchPref(ENABLE_ADB);
diff --git a/src/com/android/settings/DeviceAdminSettings.java b/src/com/android/settings/DeviceAdminSettings.java
index 2c98a40..faf08e6 100644
--- a/src/com/android/settings/DeviceAdminSettings.java
+++ b/src/com/android/settings/DeviceAdminSettings.java
@@ -48,7 +48,7 @@
import android.widget.ListView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.instrumentation.Instrumentable;
import com.android.settings.core.instrumentation.VisibilityLoggerMixin;
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 24091e2..ec34947 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -33,7 +33,7 @@
import android.text.TextUtils;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.deviceinfo.AdditionalSystemUpdatePreferenceController;
import com.android.settings.deviceinfo.BuildNumberPreferenceController;
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index d58f100..356d5c5 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -21,7 +21,7 @@
import android.provider.SearchIndexableResource;
import android.provider.Settings;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java
index 6587097..bb9e978 100644
--- a/src/com/android/settings/DreamSettings.java
+++ b/src/com/android/settings/DreamSettings.java
@@ -41,7 +41,7 @@
import android.widget.Switch;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.dream.DreamBackend;
import com.android.settingslib.dream.DreamBackend.DreamInfo;
diff --git a/src/com/android/settings/EncryptionInterstitial.java b/src/com/android/settings/EncryptionInterstitial.java
index 81945df..1b18b18 100644
--- a/src/com/android/settings/EncryptionInterstitial.java
+++ b/src/com/android/settings/EncryptionInterstitial.java
@@ -35,7 +35,7 @@
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.utils.SettingsDividerItemDecoration;
import com.android.setupwizardlib.GlifPreferenceLayout;
diff --git a/src/com/android/settings/HomeSettings.java b/src/com/android/settings/HomeSettings.java
index 427e524..9896d52 100644
--- a/src/com/android/settings/HomeSettings.java
+++ b/src/com/android/settings/HomeSettings.java
@@ -50,7 +50,7 @@
import android.widget.ImageView;
import android.widget.RadioButton;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index;
import com.android.settings.search.Indexable;
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index a048656..ef0f8b3 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -41,7 +41,7 @@
import android.widget.TabHost.TabSpec;
import android.widget.TabWidget;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.TelephonyIntents;
diff --git a/src/com/android/settings/LegalSettings.java b/src/com/android/settings/LegalSettings.java
index de6e548..e40152a 100644
--- a/src/com/android/settings/LegalSettings.java
+++ b/src/com/android/settings/LegalSettings.java
@@ -26,7 +26,7 @@
import android.provider.SearchIndexableResource;
import android.support.v7.preference.PreferenceGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index 8483114..b03b583 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -41,7 +41,7 @@
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settingslib.RestrictedLockUtils;
import java.util.List;
diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java
index 2f466aa..bc230d1 100644
--- a/src/com/android/settings/MasterClearConfirm.java
+++ b/src/com/android/settings/MasterClearConfirm.java
@@ -32,7 +32,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settingslib.RestrictedLockUtils;
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
diff --git a/src/com/android/settings/OwnerInfoSettings.java b/src/com/android/settings/OwnerInfoSettings.java
index c736e4a..7314da3 100644
--- a/src/com/android/settings/OwnerInfoSettings.java
+++ b/src/com/android/settings/OwnerInfoSettings.java
@@ -28,7 +28,7 @@
import android.view.View;
import android.widget.EditText;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java
index a55e81a..560b160 100644
--- a/src/com/android/settings/PrivacySettings.java
+++ b/src/com/android/settings/PrivacySettings.java
@@ -36,7 +36,7 @@
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
diff --git a/src/com/android/settings/ProxySelector.java b/src/com/android/settings/ProxySelector.java
index 80de9da..b272637 100644
--- a/src/com/android/settings/ProxySelector.java
+++ b/src/com/android/settings/ProxySelector.java
@@ -39,7 +39,7 @@
import android.widget.EditText;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment;
import com.android.settings.core.InstrumentedFragment;
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index 9c9eceb..eeb4779 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -17,6 +17,8 @@
package com.android.settings;
import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
import android.app.QueuedWork;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -160,7 +162,7 @@
private static final int MENU_ITEM_VIEW_ADN = 1;
private static final int MENU_ITEM_VIEW_FDN = 2;
private static final int MENU_ITEM_VIEW_SDN = 3;
- private static final int MENU_ITEM_GET_PDP_LIST = 4;
+ private static final int MENU_ITEM_GET_IMS_STATUS = 4;
private static final int MENU_ITEM_TOGGLE_DATA = 5;
private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
@@ -497,7 +499,7 @@
}
private void restoreFromBundle(Bundle b) {
- if( b == null) {
+ if(b == null) {
return;
}
@@ -537,8 +539,8 @@
R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
menu.add(1, MENU_ITEM_VIEW_SDN, 0,
R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
- menu.add(1, MENU_ITEM_GET_PDP_LIST,
- 0, R.string.radioInfo_menu_getPDP).setOnMenuItemClickListener(mGetPdpList);
+ menu.add(1, MENU_ITEM_GET_IMS_STATUS,
+ 0, R.string.radioInfo_menu_getIMS).setOnMenuItemClickListener(mGetImsStatus);
menu.add(1, MENU_ITEM_TOGGLE_DATA,
0, R.string.radio_info_data_connection_disable).setOnMenuItemClickListener(mToggleData);
return true;
@@ -632,7 +634,7 @@
StringBuilder sb = new StringBuilder();
if (cids != null) {
- if ( cids.isEmpty() ) {
+ if (cids.isEmpty()) {
sb.append("no neighboring cells");
} else {
for (NeighboringCellInfo cell : cids) {
@@ -860,7 +862,7 @@
}
private final void updateNetworkType() {
- if( phone != null ) {
+ if(phone != null) {
ServiceState ss = phone.getServiceState();
dataNetwork.setText(ServiceState.rilRadioTechnologyToString(
phone.getServiceState().getRilDataRadioTechnology()));
@@ -1069,10 +1071,36 @@
}
};
- private MenuItem.OnMenuItemClickListener mGetPdpList = new MenuItem.OnMenuItemClickListener() {
+ private MenuItem.OnMenuItemClickListener mGetImsStatus = new MenuItem.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
- //FIXME: Replace with a TelephonyManager call
- phone.getDataCallList(null);
+ boolean isImsRegistered = phone.isImsRegistered();
+ boolean availableVolte = phone.isVolteEnabled();
+ boolean availableWfc = phone.isWifiCallingEnabled();
+ boolean availableVt = phone.isVideoEnabled();
+ boolean availableUt = phone.isUtEnabled();
+
+ final String imsRegString = isImsRegistered ?
+ getString(R.string.radio_info_ims_reg_status_registered) :
+ getString(R.string.radio_info_ims_reg_status_not_registered);
+
+ final String available = getString(R.string.radio_info_ims_feature_status_available);
+ final String unavailable = getString(
+ R.string.radio_info_ims_feature_status_unavailable);
+
+ String imsStatus = getString(R.string.radio_info_ims_reg_status,
+ imsRegString,
+ availableVolte ? available : unavailable,
+ availableWfc ? available : unavailable,
+ availableVt ? available : unavailable,
+ availableUt ? available : unavailable);
+
+ AlertDialog imsDialog = new AlertDialog.Builder(RadioInfo.this)
+ .setMessage(imsStatus)
+ .setTitle(getString(R.string.radio_info_ims_reg_status_title))
+ .create();
+
+ imsDialog.show();
+
return true;
}
};
@@ -1119,22 +1147,22 @@
radioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
}
- void setImsVolteProvisionedState( boolean state ) {
+ void setImsVolteProvisionedState(boolean state) {
Log.d(TAG, "setImsVolteProvisioned state: " + ((state)? "on":"off"));
- setImsConfigProvisionedState( IMS_VOLTE_PROVISIONED_CONFIG_ID, state );
+ setImsConfigProvisionedState(IMS_VOLTE_PROVISIONED_CONFIG_ID, state);
}
- void setImsVtProvisionedState( boolean state ) {
+ void setImsVtProvisionedState(boolean state) {
Log.d(TAG, "setImsVtProvisioned() state: " + ((state)? "on":"off"));
- setImsConfigProvisionedState( IMS_VT_PROVISIONED_CONFIG_ID, state );
+ setImsConfigProvisionedState(IMS_VT_PROVISIONED_CONFIG_ID, state);
}
- void setImsWfcProvisionedState( boolean state ) {
+ void setImsWfcProvisionedState(boolean state) {
Log.d(TAG, "setImsWfcProvisioned() state: " + ((state)? "on":"off"));
- setImsConfigProvisionedState( IMS_WFC_PROVISIONED_CONFIG_ID, state );
+ setImsConfigProvisionedState(IMS_WFC_PROVISIONED_CONFIG_ID, state);
}
- void setImsConfigProvisionedState( int configItem, boolean state ) {
+ void setImsConfigProvisionedState(int configItem, boolean state) {
if (phone != null && mImsManager != null) {
QueuedWork.singleThreadExecutor().submit(new Runnable() {
public void run() {
@@ -1170,7 +1198,7 @@
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
setImsVolteProvisionedState(isChecked);
- }
+ }
};
private boolean isImsVtProvisioned() {
@@ -1185,7 +1213,7 @@
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
setImsVtProvisionedState(isChecked);
- }
+ }
};
private boolean isImsWfcProvisioned() {
@@ -1200,7 +1228,7 @@
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
setImsWfcProvisionedState(isChecked);
- }
+ }
};
private void updateImsProvisionedState() {
@@ -1210,14 +1238,20 @@
imsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
imsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
+ imsVolteProvisionedSwitch.setEnabled(
+ mImsManager.isVolteEnabledByPlatform(phone.getContext()));
imsVtProvisionedSwitch.setOnCheckedChangeListener(null);
imsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
+ imsVtProvisionedSwitch.setEnabled(
+ mImsManager.isVtEnabledByPlatform(phone.getContext()));
imsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
imsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
+ imsWfcProvisionedSwitch.setEnabled(
+ mImsManager.isWfcEnabledByPlatform(phone.getContext()));
}
OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java
index 8642708..8ac11cd 100644
--- a/src/com/android/settings/ResetNetwork.java
+++ b/src/com/android/settings/ResetNetwork.java
@@ -32,7 +32,7 @@
import android.widget.Button;
import android.widget.Spinner;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.PhoneConstants;
import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
index 032972d..d220e73 100644
--- a/src/com/android/settings/ResetNetworkConfirm.java
+++ b/src/com/android/settings/ResetNetworkConfirm.java
@@ -34,7 +34,7 @@
import android.widget.Toast;
import com.android.ims.ImsManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.PhoneConstants;
import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/ScreenPinningSettings.java b/src/com/android/settings/ScreenPinningSettings.java
index 24c2b1c..d74a07f 100644
--- a/src/com/android/settings/ScreenPinningSettings.java
+++ b/src/com/android/settings/ScreenPinningSettings.java
@@ -31,7 +31,7 @@
import android.view.ViewGroup;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index eb79c25..b029662 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -51,7 +51,7 @@
import android.text.TextUtils;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.TrustAgentUtils.TrustAgentComponentInfo;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 451c7e3..06941d0 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -41,12 +41,14 @@
public static class WifiSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ }
public static class InputMethodAndLanguageSettingsActivity extends SettingsActivity { /* empty */ }
+ public static class InputAndGestureSettingsActivity extends SettingsActivity { /* empty */ }
public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ }
public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ }
public static class PhysicalKeyboardActivity extends SettingsActivity { /* empty */ }
public static class InputMethodAndSubtypeEnablerActivity extends SettingsActivity { /* empty */ }
public static class SpellCheckersSettingsActivity extends SettingsActivity { /* empty */ }
public static class LocalePickerActivity extends SettingsActivity { /* empty */ }
+ public static class LanguageAndRegionSettingsActivity extends SettingsActivity { /* empty */ }
public static class UserDictionarySettingsActivity extends SettingsActivity { /* empty */ }
public static class HomeSettingsActivity extends SettingsActivity { /* empty */ }
public static class DisplaySettingsActivity extends SettingsActivity { /* empty */ }
@@ -156,6 +158,7 @@
public static class TestingSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiAPITestActivity extends SettingsActivity { /* empty */ }
public static class WifiInfoActivity extends SettingsActivity { /* empty */ }
+ public static class EnterprisePrivacySettingsActivity extends SettingsActivity { /* empty */ }
// Categories.
public static class WirelessSettings extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index eff2004..f67f73f 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -94,17 +94,26 @@
import com.android.settings.deviceinfo.StorageDashboardFragment;
import com.android.settings.deviceinfo.StorageSettings;
import com.android.settings.display.NightDisplaySettings;
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
+import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.fuelgauge.BatterySaverSettings;
import com.android.settings.fuelgauge.PowerUsageDetail;
import com.android.settings.fuelgauge.PowerUsageSummary;
+import com.android.settings.gestures.DoubleTapPowerSettings;
+import com.android.settings.gestures.DoubleTapScreenPreferenceController;
+import com.android.settings.gestures.DoubleTapScreenSettings;
+import com.android.settings.gestures.DoubleTwistGestureSettings;
import com.android.settings.gestures.GestureSettings;
+import com.android.settings.gestures.PickupGestureSettings;
+import com.android.settings.gestures.SwipeToNotificationSettings;
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
+import com.android.settings.inputmethod.InputAndGestureSettings;
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
import com.android.settings.inputmethod.KeyboardLayoutPickerFragment;
-import com.android.settings.inputmethod.KeyboardLayoutPickerFragment2;
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
import com.android.settings.inputmethod.SpellCheckersSettings;
import com.android.settings.inputmethod.UserDictionaryList;
+import com.android.settings.language.LanguageAndRegionSettings;
import com.android.settings.localepicker.LocaleListEditor;
import com.android.settings.location.LocationSettings;
import com.android.settings.network.NetworkDashboardFragment;
@@ -270,6 +279,7 @@
Settings.AccessibilitySettingsActivity.class.getName(),
Settings.PrintSettingsActivity.class.getName(),
Settings.PaymentSettingsActivity.class.getName(),
+ Settings.EnterprisePrivacySettingsActivity.class.getName(),
// New IA
// Home page
@@ -292,7 +302,8 @@
// Home page > Security
"com.android.settings.Settings.LocationDashboardAlias",
// Home page > System
- "com.android.settings.Settings.LanguageAndInputDashboardAlias",
+ Settings.LanguageAndRegionSettingsActivity.class.getName(),
+ Settings.InputAndGestureSettingsActivity.class.getName(),
"com.android.settings.Settings.DateTimeDashboardAlias",
"com.android.settings.Settings.AccessibilityDashboardAlias",
"com.android.settings.Settings.AboutDeviceDashboardAlias",
@@ -312,6 +323,8 @@
LocaleListEditor.class.getName(),
InputMethodAndLanguageSettings.class.getName(),
AvailableVirtualKeyboardFragment.class.getName(),
+ InputAndGestureSettings.class.getName(),
+ LanguageAndRegionSettings.class.getName(),
SpellCheckersSettings.class.getName(),
UserDictionaryList.class.getName(),
UserDictionarySettings.class.getName(),
@@ -344,6 +357,11 @@
AccountSyncSettings.class.getName(),
AccountSettings.class.getName(),
GestureSettings.class.getName(),
+ SwipeToNotificationSettings.class.getName(),
+ DoubleTapPowerSettings.class.getName(),
+ DoubleTapScreenSettings.class.getName(),
+ PickupGestureSettings.class.getName(),
+ DoubleTwistGestureSettings.class.getName(),
CryptKeeperSettings.class.getName(),
DataUsageSummary.class.getName(),
DreamSettings.class.getName(),
@@ -355,7 +373,6 @@
TrustedCredentialsSettings.class.getName(),
PaymentSettings.class.getName(),
KeyboardLayoutPickerFragment.class.getName(),
- KeyboardLayoutPickerFragment2.class.getName(),
PhysicalKeyboardFragment.class.getName(),
ZenModeSettings.class.getName(),
SoundSettings.class.getName(),
@@ -402,6 +419,7 @@
ConnectedDeviceDashboardFragment.class.getName(),
AppAndNotificationDashboardFragment.class.getName(),
UserAndAccountDashboardFragment.class.getName(),
+ EnterprisePrivacySettings.class.getName(),
};
@@ -1189,6 +1207,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 {
@@ -1201,6 +1223,11 @@
setTileEnabled(new ComponentName(packageName,
BackupSettingsActivity.class.getName()), hasBackupActivity, isAdmin, pm);
+ setTileEnabled(new ComponentName(packageName,
+ Settings.EnterprisePrivacySettingsActivity.class.getName()),
+ FeatureFactory.getFactory(this).getEnterprisePrivacyFeatureProvider(this)
+ .hasDeviceOwner(), isAdmin, pm);
+
}
private void setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin,
diff --git a/src/com/android/settings/SetupChooseLockGeneric.java b/src/com/android/settings/SetupChooseLockGeneric.java
index 71679f3..61545a6 100644
--- a/src/com/android/settings/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/SetupChooseLockGeneric.java
@@ -33,6 +33,7 @@
import android.widget.LinearLayout;
import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.fingerprint.SetupFingerprintEnrollFindSensor;
import com.android.settings.fingerprint.SetupSkipDialog;
import com.android.settings.utils.SettingsDividerItemDecoration;
import com.android.setupwizardlib.GlifPreferenceLayout;
@@ -242,5 +243,12 @@
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
return intent;
}
+
+ @Override
+ protected Intent getFindSensorIntent(Context context) {
+ final Intent intent = new Intent(context, SetupFingerprintEnrollFindSensor.class);
+ SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
+ return intent;
+ }
}
}
diff --git a/src/com/android/settings/TestingSettings.java b/src/com/android/settings/TestingSettings.java
index 0286da7..7adf133 100644
--- a/src/com/android/settings/TestingSettings.java
+++ b/src/com/android/settings/TestingSettings.java
@@ -20,7 +20,7 @@
import android.os.UserManager;
import android.support.v7.preference.PreferenceScreen;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
public class TestingSettings extends SettingsPreferenceFragment {
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 40c91ce..0a0eed2 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -40,7 +40,7 @@
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.datausage.DataSaverBackend;
import com.android.settings.wifi.WifiApDialog;
import com.android.settings.wifi.WifiApEnabler;
diff --git a/src/com/android/settings/TrustAgentSettings.java b/src/com/android/settings/TrustAgentSettings.java
index 9cc516c..1eb023d 100644
--- a/src/com/android/settings/TrustAgentSettings.java
+++ b/src/com/android/settings/TrustAgentSettings.java
@@ -32,7 +32,7 @@
import android.util.ArrayMap;
import android.util.ArraySet;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedSwitchPreference;
diff --git a/src/com/android/settings/TrustedCredentialsSettings.java b/src/com/android/settings/TrustedCredentialsSettings.java
index bae0a92..3f5748c 100644
--- a/src/com/android/settings/TrustedCredentialsSettings.java
+++ b/src/com/android/settings/TrustedCredentialsSettings.java
@@ -62,7 +62,7 @@
import android.widget.TextView;
import com.android.internal.app.UnlaunchableAppActivity;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.ParcelableString;
import com.android.internal.widget.LockPatternUtils;
diff --git a/src/com/android/settings/UserCredentialsSettings.java b/src/com/android/settings/UserCredentialsSettings.java
index df073d1..c473182 100644
--- a/src/com/android/settings/UserCredentialsSettings.java
+++ b/src/com/android/settings/UserCredentialsSettings.java
@@ -48,7 +48,7 @@
import android.widget.ListView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/UserDictionarySettings.java b/src/com/android/settings/UserDictionarySettings.java
index f67635e..313e737 100644
--- a/src/com/android/settings/UserDictionarySettings.java
+++ b/src/com/android/settings/UserDictionarySettings.java
@@ -37,7 +37,7 @@
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.instrumentation.VisibilityLoggerMixin;
import com.android.settings.inputmethod.UserDictionaryAddWordContents;
import com.android.settings.inputmethod.UserDictionarySettingsUtils;
diff --git a/src/com/android/settings/VoiceInputOutputSettings.java b/src/com/android/settings/VoiceInputOutputSettings.java
deleted file mode 100644
index 3a8f1a5..0000000
--- a/src/com/android/settings/VoiceInputOutputSettings.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.speech.tts.TtsEngines;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceCategory;
-import android.support.v7.preference.PreferenceGroup;
-
-/**
- * Settings screen for voice input/output.
- */
-public class VoiceInputOutputSettings {
-
- private static final String TAG = "VoiceInputOutputSettings";
-
- private static final String KEY_VOICE_CATEGORY = "voice_category";
- private static final String KEY_TTS_SETTINGS = "tts_settings";
-
- private PreferenceGroup mParent;
- private PreferenceCategory mVoiceCategory;
- private Preference mVoiceInputSettingsPref;
- private Preference mTtsSettingsPref;
- private final SettingsPreferenceFragment mFragment;
- private final TtsEngines mTtsEngines;
-
- public VoiceInputOutputSettings(SettingsPreferenceFragment fragment) {
- mFragment = fragment;
- mTtsEngines = new TtsEngines(fragment.getPreferenceScreen().getContext());
- }
-
- public void onCreate() {
- mParent = mFragment.getPreferenceScreen();
- mVoiceCategory = (PreferenceCategory) mParent.findPreference(KEY_VOICE_CATEGORY);
- mTtsSettingsPref = mVoiceCategory.findPreference(KEY_TTS_SETTINGS);
-
- populateOrRemovePreferences();
- }
-
- private void populateOrRemovePreferences() {
- boolean hasTtsPrefs = populateOrRemoveTtsPrefs();
- if (!hasTtsPrefs) {
- // There were no TTS settings and no recognizer settings,
- // so it should be safe to hide the preference category
- // entirely.
- mFragment.getPreferenceScreen().removePreference(mVoiceCategory);
- }
- }
-
- private boolean populateOrRemoveTtsPrefs() {
- if (mTtsEngines.getEngines().isEmpty()) {
- mVoiceCategory.removePreference(mTtsSettingsPref);
- return false;
- }
-
- return true;
- }
-}
diff --git a/src/com/android/settings/fuelgauge/WallOfTextPreference.java b/src/com/android/settings/WallOfTextPreference.java
similarity index 99%
rename from src/com/android/settings/fuelgauge/WallOfTextPreference.java
rename to src/com/android/settings/WallOfTextPreference.java
index 6b29742..4cc2f67 100644
--- a/src/com/android/settings/fuelgauge/WallOfTextPreference.java
+++ b/src/com/android/settings/WallOfTextPreference.java
@@ -35,4 +35,4 @@
final TextView summary = (TextView) view.findViewById(android.R.id.summary);
summary.setMaxLines(20);
}
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/WallpaperTypeSettings.java b/src/com/android/settings/WallpaperTypeSettings.java
index 25e6e09..27a8bd6 100644
--- a/src/com/android/settings/WallpaperTypeSettings.java
+++ b/src/com/android/settings/WallpaperTypeSettings.java
@@ -25,7 +25,7 @@
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
diff --git a/src/com/android/settings/WebViewImplementation.java b/src/com/android/settings/WebViewImplementation.java
index 49e0eec..349f5e9 100644
--- a/src/com/android/settings/WebViewImplementation.java
+++ b/src/com/android/settings/WebViewImplementation.java
@@ -27,7 +27,7 @@
import android.util.Log;
import android.webkit.IWebViewUpdateService;
import android.webkit.WebViewProviderInfo;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedActivity;
import java.util.ArrayList;
diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java
index e18f022..196e4bd 100644
--- a/src/com/android/settings/WifiCallingSettings.java
+++ b/src/com/android/settings/WifiCallingSettings.java
@@ -39,7 +39,7 @@
import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.Phone;
import com.android.settings.widget.SwitchBar;
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index cac964d..6c613a5 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -34,7 +34,7 @@
import android.telephony.TelephonyManager;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.network.AirplaneModePreferenceController;
import com.android.settings.network.MobileNetworkPreferenceController;
import com.android.settings.network.MobilePlanPreferenceController;
diff --git a/src/com/android/settings/ZonePicker.java b/src/com/android/settings/ZonePicker.java
index 6865090..5d8f156 100644
--- a/src/com/android/settings/ZonePicker.java
+++ b/src/com/android/settings/ZonePicker.java
@@ -31,7 +31,7 @@
import android.widget.ListView;
import android.widget.SimpleAdapter;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.instrumentation.VisibilityLoggerMixin;
import com.android.settings.core.instrumentation.Instrumentable;
import com.android.settingslib.datetime.ZoneGetter;
@@ -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/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index a6c443f..f0c77fc 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -40,7 +40,7 @@
import android.view.accessibility.AccessibilityManager;
import com.android.internal.content.PackageMonitor;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.view.RotationPolicy;
import com.android.internal.view.RotationPolicy.RotationPolicyListener;
import com.android.settings.R;
diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
index e2ae783..009fa5d 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
@@ -25,7 +25,7 @@
import android.text.TextUtils;
import android.view.accessibility.AccessibilityManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
index b062617..3606b8e 100644
--- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
+++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
@@ -35,7 +35,7 @@
import android.view.accessibility.CaptioningManager;
import android.view.accessibility.CaptioningManager.CaptionStyle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.SubtitleView;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java
index 0b64e96..8dfb2b4 100644
--- a/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java
@@ -16,7 +16,7 @@
package com.android.settings.accessibility;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
public class FontSizePreferenceFragmentForSetupWizard
extends ToggleFontSizePreferenceFragment {
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index 8535850..3bd450b 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -45,7 +45,7 @@
import android.widget.TextView;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.ConfirmDeviceCredentialActivity;
import com.android.settings.R;
diff --git a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
index 6b26376..6b2c6c8 100644
--- a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
@@ -24,7 +24,7 @@
import android.view.accessibility.AccessibilityManager;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SeekBarPreference;
import com.android.settings.widget.SwitchBar;
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 48eb46c..3813641 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -24,7 +24,7 @@
import android.view.accessibility.AccessibilityManager;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.widget.SwitchBar;
diff --git a/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java
index 9cb04b6..293d2bf 100644
--- a/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java
@@ -22,7 +22,7 @@
import android.content.res.Resources;
import android.os.Bundle;
import android.provider.Settings;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.PreviewSeekBarPreferenceFragment;
import com.android.settings.R;
diff --git a/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java
index 86c5bbb..5d95d7e 100644
--- a/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java
@@ -18,7 +18,7 @@
import android.provider.Settings;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.widget.ToggleSwitch;
import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 1b3f236..8f13e08 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -37,7 +37,7 @@
import android.widget.MediaController;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.VideoView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.widget.ToggleSwitch;
import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
@@ -120,7 +120,7 @@
mVideoPreference = new VideoPreference(getPrefContext());
mVideoPreference.setSelectable(false);
mVideoPreference.setPersistent(false);
- mVideoPreference.setLayoutResource(R.layout.video_preference);
+ mVideoPreference.setLayoutResource(R.layout.magnification_video_preference);
final PreferenceScreen preferenceScreen = getPreferenceManager().getPreferenceScreen();
preferenceScreen.setOrderingAsAdded(false);
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
index 5798319..ab0790b 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
@@ -19,7 +19,7 @@
import android.os.Bundle;
import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
public class ToggleScreenMagnificationPreferenceFragmentForSetupWizard
extends ToggleScreenMagnificationPreferenceFragment {
diff --git a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
index f96219b..9bd2598 100644
--- a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
@@ -18,7 +18,7 @@
import android.os.Bundle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
public class ToggleScreenReaderPreferenceFragmentForSetupWizard
extends ToggleAccessibilityServicePreferenceFragment {
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..9b9fb87 100644
--- a/src/com/android/settings/accounts/AccountSettings.java
+++ b/src/com/android/settings/accounts/AccountSettings.java
@@ -19,10 +19,9 @@
import android.accounts.Account;
import android.accounts.AccountManager;
+import android.annotation.UserIdInt;
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;
@@ -49,7 +48,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AccessiblePreferenceCategory;
import com.android.settings.DimmableIconPreference;
import com.android.settings.R;
@@ -63,6 +62,7 @@
import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.users.UserDialogs;
import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.accounts.AuthenticatorHelper;
import java.util.ArrayList;
@@ -73,6 +73,7 @@
import static android.content.Intent.EXTRA_USER;
import static android.os.UserManager.DISALLOW_MODIFY_ACCOUNTS;
+import static android.os.UserManager.DISALLOW_REMOVE_USER;
import static android.provider.Settings.EXTRA_AUTHORITIES;
/**
@@ -107,7 +108,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.
*/
@@ -119,7 +120,7 @@
/**
* The preference that displays the button to remove the managed profile
*/
- public Preference removeWorkProfilePreference;
+ public RestrictedPreference removeWorkProfilePreference;
/**
* The preference that displays managed profile settings.
*/
@@ -298,6 +299,8 @@
((AccessiblePreferenceCategory) profileData.preferenceGroup).setContentDescription(
getString(R.string.accessibility_category_work, workGroupSummary));
profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference(context);
+ enforceRestrictionOnPreference(profileData.removeWorkProfilePreference,
+ DISALLOW_REMOVE_USER, UserHandle.myUserId());
profileData.managedProfilePreference = newManagedProfileSettings();
} else {
profileData.preferenceGroup.setTitle(R.string.category_personal);
@@ -312,19 +315,29 @@
profileData.authenticatorHelper = new AuthenticatorHelper(context,
userInfo.getUserHandle(), this);
profileData.addAccountPreference = newAddAccountPreference(context);
- if (RestrictedLockUtils.hasBaseUserRestriction(context,
- UserManager.DISALLOW_MODIFY_ACCOUNTS, userInfo.id)) {
- profileData.addAccountPreference.setEnabled(false);
- } else {
- profileData.addAccountPreference.checkRestrictionAndSetDisabled(
- DISALLOW_MODIFY_ACCOUNTS, userInfo.id);
- }
+ enforceRestrictionOnPreference(profileData.addAccountPreference,
+ DISALLOW_MODIFY_ACCOUNTS, userInfo.id);
}
mProfiles.put(userInfo.id, profileData);
Index.getInstance(getActivity()).updateFromClassNameResource(
AccountSettings.class.getName(), true, true);
}
+ /**
+ * Configure the UI of the preference by checking user restriction.
+ * @param preference The preference we are configuring.
+ * @param userRestriction The user restriction related to the preference.
+ * @param userId The user that we retrieve user restriction of.
+ */
+ private void enforceRestrictionOnPreference(RestrictedPreference preference,
+ String userRestriction, @UserIdInt int userId) {
+ if (RestrictedLockUtils.hasBaseUserRestriction(getActivity(), userRestriction, userId)) {
+ preference.setEnabled(false);
+ } else {
+ preference.checkRestrictionAndSetDisabled(userRestriction, userId);
+ }
+ }
+
private DimmableIconPreference newAddAccountPreference(Context context) {
DimmableIconPreference preference = new DimmableIconPreference(getPrefContext());
preference.setTitle(R.string.add_account_label);
@@ -334,8 +347,8 @@
return preference;
}
- private Preference newRemoveWorkProfilePreference(Context context) {
- Preference preference = new Preference(getPrefContext());
+ private RestrictedPreference newRemoveWorkProfilePreference(Context context) {
+ RestrictedPreference preference = new RestrictedPreference(getPrefContext());
preference.setTitle(R.string.remove_managed_profile_label);
preference.setIcon(R.drawable.ic_menu_delete);
preference.setOnPreferenceClickListener(this);
@@ -343,7 +356,6 @@
return preference;
}
-
private Preference newManagedProfileSettings() {
Preference preference = new Preference(getPrefContext());
preference.setTitle(R.string.managed_profile_settings_title);
@@ -619,8 +631,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 +669,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
@@ -748,7 +699,8 @@
result.add(data);
}
if (userInfo.isManagedProfile()) {
- {
+ if (!RestrictedLockUtils.hasBaseUserRestriction(context,
+ DISALLOW_REMOVE_USER, UserHandle.myUserId())) {
SearchIndexableRaw data = new SearchIndexableRaw(context);
data.title = res.getString(R.string.remove_managed_profile_label);
data.screenTitle = screenTitle;
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index ae06f9c..dc31124 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -52,7 +52,7 @@
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java b/src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java
new file mode 100644
index 0000000..898d4a2
--- /dev/null
+++ b/src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java
@@ -0,0 +1,88 @@
+/*
+ * 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.content.Context;
+import android.provider.Settings.Global;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnPause;
+import com.android.settings.core.lifecycle.events.OnResume;
+import com.android.settings.users.UserCapabilities;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class AddUserWhenLockedPreferenceController extends PreferenceController
+ implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnPause, OnResume {
+
+ private static final String KEY_ADD_USER_WHEN_LOCKED = "add_users_when_locked";
+
+ private RestrictedSwitchPreference mAddUserWhenLocked;
+ private UserCapabilities mUserCaps;
+ private boolean mShouldUpdateUserList;
+
+ public AddUserWhenLockedPreferenceController(Context context) {
+ super(context);
+ mUserCaps = UserCapabilities.create(context);
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ RestrictedSwitchPreference restrictedSwitchPreference =
+ (RestrictedSwitchPreference) preference;
+ int value = Global.getInt(mContext.getContentResolver(), Global.ADD_USERS_WHEN_LOCKED, 0);
+ restrictedSwitchPreference.setChecked(value == 1);
+ restrictedSwitchPreference.setDisabledByAdmin(
+ mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Boolean value = (Boolean) newValue;
+ Global.putInt(mContext.getContentResolver(),
+ Global.ADD_USERS_WHEN_LOCKED, value != null && value ? 1 : 0);
+ return true;
+ }
+
+ @Override
+ public void onPause() {
+ mShouldUpdateUserList = true;
+ }
+
+ @Override
+ public void onResume() {
+ if (mShouldUpdateUserList) {
+ mUserCaps.updateAddUserCapabilities(mContext);
+ }
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return mUserCaps.isAdmin() &&
+ (!mUserCaps.disallowAddUser() || mUserCaps.disallowAddUserSetByAdmin());
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_ADD_USER_WHEN_LOCKED;
+ }
+}
diff --git a/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java b/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java
new file mode 100644
index 0000000..79776a0
--- /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.nano.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/ChooseAccountActivity.java b/src/com/android/settings/accounts/ChooseAccountActivity.java
index 50171c1..ea39426 100644
--- a/src/com/android/settings/accounts/ChooseAccountActivity.java
+++ b/src/com/android/settings/accounts/ChooseAccountActivity.java
@@ -36,7 +36,7 @@
import android.support.v7.preference.PreferenceGroup;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.CharSequences;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
new file mode 100644
index 0000000..6f0dfae
--- /dev/null
+++ b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
@@ -0,0 +1,78 @@
+/*
+ * 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.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.search.SearchIndexableRaw;
+
+import java.util.List;
+
+public class EmergencyInfoPreferenceController extends PreferenceController {
+
+ private static final String KEY_EMERGENCY_INFO = "emergency_info";
+ private static final String ACTION_EDIT_EMERGENCY_INFO = "android.settings.EDIT_EMERGENGY_INFO";
+ private static final String PACKAGE_NAME_EMERGENCY = "com.android.emergency";
+
+ public EmergencyInfoPreferenceController(Context context) {
+ super(context);
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ }
+
+ @Override
+ public void updateRawDataToIndex(List<SearchIndexableRaw> rawData) {
+ if (isAvailable()) {
+ SearchIndexableRaw data = new SearchIndexableRaw(mContext);
+ final Resources res = mContext.getResources();
+ data.title = res.getString(com.android.settings.R.string.emergency_info_title);
+ data.screenTitle = res.getString(com.android.settings.R.string.emergency_info_title);
+ rawData.add(data);
+ }
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ if (KEY_EMERGENCY_INFO.equals(preference.getKey())) {
+ Intent intent = new Intent(ACTION_EDIT_EMERGENCY_INFO);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ mContext.startActivity(intent);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ Intent intent = new Intent(ACTION_EDIT_EMERGENCY_INFO).setPackage(PACKAGE_NAME_EMERGENCY);
+ List<ResolveInfo> infos = mContext.getPackageManager().queryIntentActivities(intent, 0);
+ return infos != null && !infos.isEmpty();
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_EMERGENCY_INFO;
+ }
+}
diff --git a/src/com/android/settings/accounts/ManageAccountsSettings.java b/src/com/android/settings/accounts/ManageAccountsSettings.java
index d788ca8..b124824 100644
--- a/src/com/android/settings/accounts/ManageAccountsSettings.java
+++ b/src/com/android/settings/accounts/ManageAccountsSettings.java
@@ -46,7 +46,7 @@
import android.view.ViewGroup;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AccountPreference;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/accounts/ManagedProfileSettings.java b/src/com/android/settings/accounts/ManagedProfileSettings.java
index 0c98f73..8c00be9 100644
--- a/src/com/android/settings/accounts/ManagedProfileSettings.java
+++ b/src/com/android/settings/accounts/ManagedProfileSettings.java
@@ -28,7 +28,7 @@
import android.support.v7.preference.Preference;
import android.util.Log;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
index 34d6dc4..8c48daf 100644
--- a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
@@ -17,12 +17,13 @@
import android.content.Context;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.drawer.CategoryKey;
+import java.util.ArrayList;
import java.util.List;
public class UserAndAccountDashboardFragment extends DashboardFragment {
@@ -46,12 +47,21 @@
@Override
protected int getPreferenceScreenResId() {
- return R.xml.account_settings;
+ return R.xml.user_and_accounts_settings;
}
@Override
protected List<PreferenceController> getPreferenceControllers(Context context) {
- return null;
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(new EmergencyInfoPreferenceController(context));
+ AddUserWhenLockedPreferenceController addUserWhenLockedPrefController =
+ 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;
}
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index 827b6e8..1a15d6f 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -19,7 +19,7 @@
import android.os.Bundle;
import android.provider.SearchIndexableResource;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.PreferenceController;
diff --git a/src/com/android/settings/applications/AppHeaderController.java b/src/com/android/settings/applications/AppHeaderController.java
new file mode 100644
index 0000000..a6321df
--- /dev/null
+++ b/src/com/android/settings/applications/AppHeaderController.java
@@ -0,0 +1,309 @@
+/*
+ * 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.annotation.IdRes;
+import android.annotation.UserIdInt;
+import android.app.Fragment;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+import android.support.annotation.IntDef;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.TextView;
+import com.android.settings.AppHeader;
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settingslib.applications.ApplicationsState;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+public class AppHeaderController {
+
+ @IntDef({ActionType.ACTION_NONE,
+ ActionType.ACTION_APP_INFO,
+ ActionType.ACTION_APP_PREFERENCE,
+ ActionType.ACTION_STORE_DEEP_LINK,
+ ActionType.ACTION_NOTIF_PREFERENCE})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ActionType {
+ int ACTION_NONE = 0;
+ int ACTION_APP_INFO = 1;
+ int ACTION_STORE_DEEP_LINK = 2;
+ int ACTION_APP_PREFERENCE = 3;
+ int ACTION_NOTIF_PREFERENCE = 4;
+ }
+
+ public static final String PREF_KEY_APP_HEADER = "pref_app_header";
+
+ private static final String TAG = "AppDetailFeature";
+
+ private final Context mContext;
+ private final Fragment mFragment;
+ private final View mAppHeader;
+
+ private Drawable mIcon;
+ private CharSequence mLabel;
+ private CharSequence mSummary;
+ private String mPackageName;
+ private Intent mAppNotifPrefIntent;
+ @UserIdInt
+ private int mUid = UserHandle.USER_NULL;
+ @ActionType
+ private int mLeftAction;
+ @ActionType
+ private int mRightAction;
+
+ public AppHeaderController(Context context, Fragment fragment, View appHeader) {
+ mContext = context;
+ mFragment = fragment;
+ if (appHeader != null) {
+ mAppHeader = appHeader;
+ } else {
+ mAppHeader = LayoutInflater.from(mContext)
+ .inflate(R.layout.app_details, null /* root */);
+ }
+ }
+
+ public AppHeaderController setIcon(Drawable icon) {
+ if (icon != null) {
+ mIcon = icon.getConstantState().newDrawable(mContext.getResources());
+ }
+ return this;
+ }
+
+ public AppHeaderController setIcon(ApplicationsState.AppEntry appEntry) {
+ if (appEntry.icon != null) {
+ mIcon = appEntry.icon.getConstantState().newDrawable(mContext.getResources());
+ }
+ return this;
+ }
+
+ public AppHeaderController setLabel(CharSequence label) {
+ mLabel = label;
+ return this;
+ }
+
+ public AppHeaderController setLabel(ApplicationsState.AppEntry appEntry) {
+ mLabel = appEntry.label;
+ return this;
+ }
+
+ public AppHeaderController setSummary(CharSequence summary) {
+ mSummary = summary;
+ return this;
+ }
+
+ public AppHeaderController setSummary(PackageInfo packageInfo) {
+ if (packageInfo != null) {
+ mSummary = packageInfo.versionName;
+ }
+ return this;
+ }
+
+ public AppHeaderController setButtonActions(@ActionType int leftAction,
+ @ActionType int rightAction) {
+ mLeftAction = leftAction;
+ mRightAction = rightAction;
+ return this;
+ }
+
+ public AppHeaderController setPackageName(String packageName) {
+ mPackageName = packageName;
+ return this;
+ }
+
+ public AppHeaderController setUid(int uid) {
+ mUid = uid;
+ return this;
+ }
+
+ public AppHeaderController setAppNotifPrefIntent(Intent appNotifPrefIntent) {
+ mAppNotifPrefIntent = appNotifPrefIntent;
+ return this;
+ }
+
+ /**
+ * Binds app header view and data from {@code PackageInfo} and {@code AppEntry}.
+ */
+ public void bindAppHeader(PackageInfo packageInfo, ApplicationsState.AppEntry appEntry) {
+ final String versionName = packageInfo == null ? null : packageInfo.versionName;
+ final Resources res = mAppHeader.getResources();
+
+ // Set Icon
+ final ImageView iconView = (ImageView) mAppHeader.findViewById(android.R.id.icon);
+ if (appEntry.icon != null) {
+ iconView.setImageDrawable(appEntry.icon.getConstantState().newDrawable(res));
+ }
+
+ // Set application name.
+ final TextView labelView = (TextView) mAppHeader.findViewById(android.R.id.title);
+ labelView.setText(appEntry.label);
+
+ // Version number of application
+ final TextView appVersion = (TextView) mAppHeader.findViewById(android.R.id.summary);
+
+ if (!TextUtils.isEmpty(versionName)) {
+ appVersion.setSelected(true);
+ appVersion.setVisibility(View.VISIBLE);
+ appVersion.setText(res.getString(R.string.version_text, String.valueOf(versionName)));
+ } else {
+ appVersion.setVisibility(View.INVISIBLE);
+ }
+ }
+
+ /**
+ * Done mutating appheader, rebinds everything and return a new {@link LayoutPreference}.
+ */
+ public LayoutPreference done(Context context) {
+ final LayoutPreference pref = new LayoutPreference(context, done());
+ // Makes sure it's the first preference onscreen.
+ pref.setOrder(-1000);
+ pref.setKey(PREF_KEY_APP_HEADER);
+ return pref;
+ }
+
+ /**
+ * Done mutating appheader, rebinds everything.
+ */
+ public View done() {
+ return done(true);
+ }
+
+ /**
+ * Done mutating appheader, rebinds everything (optionally skip rebinding buttons).
+ */
+ public View done(boolean rebindActions) {
+ ImageView iconView = (ImageView) mAppHeader.findViewById(android.R.id.icon);
+ if (iconView != null) {
+ iconView.setImageDrawable(mIcon);
+ }
+ setText(android.R.id.title, mLabel);
+ setText(android.R.id.summary, mSummary);
+ if (rebindActions) {
+ bindAppHeaderButtons();
+ }
+ return mAppHeader;
+ }
+
+ /**
+ * Only binds app header with button actions.
+ */
+ public void bindAppHeaderButtons() {
+ ImageButton leftButton = (ImageButton) mAppHeader.findViewById(R.id.left_button);
+ ImageButton rightButton = (ImageButton) mAppHeader.findViewById(R.id.right_button);
+
+ bindButton(leftButton, mLeftAction);
+ bindButton(rightButton, mRightAction);
+ }
+
+ private void bindButton(ImageButton button, @ActionType int action) {
+ if (button == null) {
+ return;
+ }
+ switch (action) {
+ case ActionType.ACTION_APP_INFO: {
+ if (mPackageName == null || mPackageName.equals(Utils.OS_PKG)
+ || mUid == UserHandle.USER_NULL
+ || !AppHeader.includeAppInfo(mFragment)) {
+ button.setVisibility(View.GONE);
+ } else {
+ button.setImageResource(com.android.settings.R.drawable.ic_info);
+ button.setOnClickListener(v -> AppInfoBase.startAppInfoFragment(
+ InstalledAppDetails.class, R.string.application_info_label,
+ mPackageName, mUid, mFragment, 0));
+ button.setVisibility(View.VISIBLE);
+ }
+ return;
+ }
+ case ActionType.ACTION_STORE_DEEP_LINK: {
+ final Intent intent = new Intent(Intent.ACTION_SHOW_APP_INFO)
+ .setPackage(getInstallerPackageName(mContext, mPackageName));
+ final Intent result = resolveIntent(intent);
+ if (result == null) {
+ button.setVisibility(View.GONE);
+ } else {
+ result.putExtra(Intent.EXTRA_PACKAGE_NAME, mPackageName);
+ button.setImageResource(R.drawable.ic_sim_sd);
+ button.setOnClickListener(v -> mFragment.startActivity(intent));
+ button.setVisibility(View.VISIBLE);
+ }
+ return;
+ }
+ case ActionType.ACTION_NOTIF_PREFERENCE: {
+ if (mAppNotifPrefIntent == null) {
+ button.setVisibility(View.GONE);
+ } else {
+ button.setOnClickListener(v -> mFragment.startActivity(mAppNotifPrefIntent));
+ button.setVisibility(View.VISIBLE);
+ }
+ return;
+ }
+ case ActionType.ACTION_APP_PREFERENCE: {
+ final Intent intent = resolveIntent(
+ new Intent(Intent.ACTION_APPLICATION_PREFERENCES).setPackage(mPackageName));
+ if (intent == null) {
+ button.setVisibility(View.GONE);
+ return;
+ }
+ button.setOnClickListener(v -> mFragment.startActivity(intent));
+ button.setVisibility(View.VISIBLE);
+ return;
+ }
+ case ActionType.ACTION_NONE: {
+ button.setVisibility(View.GONE);
+ return;
+ }
+ }
+ }
+
+ private String getInstallerPackageName(Context context, String packageName) {
+ try {
+ return context.getPackageManager().getInstallerPackageName(packageName);
+ } catch (IllegalArgumentException e) {
+ Log.e(TAG, "Exception while retrieving the package installer of " + packageName, e);
+ return null;
+ }
+ }
+
+ private Intent resolveIntent(Intent i) {
+ ResolveInfo result = mContext.getPackageManager().resolveActivity(i, 0);
+ if (result != null) {
+ return new Intent(i.getAction())
+ .setClassName(result.activityInfo.packageName, result.activityInfo.name);
+ }
+ return null;
+ }
+
+ private void setText(@IdRes int id, CharSequence text) {
+ TextView textView = (TextView) mAppHeader.findViewById(id);
+ if (textView != null) {
+ textView.setText(text);
+ textView.setVisibility(TextUtils.isEmpty(text) ? View.GONE : View.VISIBLE);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index 138fadf..8ab730a 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -37,7 +37,7 @@
import android.os.UserManager;
import android.util.Log;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/applications/AppInfoWithHeader.java b/src/com/android/settings/applications/AppInfoWithHeader.java
index 004ce0c..910b618 100644
--- a/src/com/android/settings/applications/AppInfoWithHeader.java
+++ b/src/com/android/settings/applications/AppInfoWithHeader.java
@@ -16,10 +16,15 @@
package com.android.settings.applications;
+import android.app.Activity;
import android.os.Bundle;
+import android.support.v7.preference.Preference;
import android.util.Log;
import com.android.settings.AppHeader;
+import com.android.settings.overlay.FeatureFactory;
+
+import static com.android.settings.applications.AppHeaderController.ActionType;
public abstract class AppInfoWithHeader extends AppInfoBase {
@@ -34,8 +39,24 @@
}
mCreated = true;
if (mPackageInfo == null) return;
- AppHeader.createAppHeader(this, mPackageInfo.applicationInfo.loadIcon(mPm),
- mPackageInfo.applicationInfo.loadLabel(mPm), mPackageName,
- mPackageInfo.applicationInfo.uid, 0);
+ final Activity activity = getActivity();
+ if (!FeatureFactory.getFactory(activity)
+ .getDashboardFeatureProvider(activity).isEnabled()) {
+ AppHeader.createAppHeader(this, mPackageInfo.applicationInfo.loadIcon(mPm),
+ mPackageInfo.applicationInfo.loadLabel(mPm), mPackageName,
+ mPackageInfo.applicationInfo.uid, 0);
+ } else {
+ final Preference pref = FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this, null /* appHeader */)
+ .setIcon(mPackageInfo.applicationInfo.loadIcon(mPm))
+ .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
+ .setSummary(mPackageInfo)
+ .setPackageName(mPackageName)
+ .setUid(mPackageInfo.applicationInfo.uid)
+ .setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
+ .done(getPrefContext());
+ getPreferenceScreen().addPreference(pref);
+ }
}
}
diff --git a/src/com/android/settings/applications/AppLaunchSettings.java b/src/com/android/settings/applications/AppLaunchSettings.java
index 5ebd0bd..4a9ed30 100644
--- a/src/com/android/settings/applications/AppLaunchSettings.java
+++ b/src/com/android/settings/applications/AppLaunchSettings.java
@@ -34,7 +34,7 @@
import android.view.View;
import android.view.View.OnClickListener;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/applications/AppOpsDetails.java b/src/com/android/settings/applications/AppOpsDetails.java
index 5e2e65a..697ffd8 100644
--- a/src/com/android/settings/applications/AppOpsDetails.java
+++ b/src/com/android/settings/applications/AppOpsDetails.java
@@ -38,7 +38,7 @@
import android.widget.Switch;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/applications/AppOpsSummary.java b/src/com/android/settings/applications/AppOpsSummary.java
index 9e59019..ac0a856 100644
--- a/src/com/android/settings/applications/AppOpsSummary.java
+++ b/src/com/android/settings/applications/AppOpsSummary.java
@@ -28,7 +28,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
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/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 604f0ff..e97a9ac 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -44,7 +44,7 @@
import android.view.View.OnClickListener;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.deviceinfo.StorageWizardMoveConfirm;
diff --git a/src/com/android/settings/applications/ApplicationFeatureProvider.java b/src/com/android/settings/applications/ApplicationFeatureProvider.java
new file mode 100644
index 0000000..b6f7381
--- /dev/null
+++ b/src/com/android/settings/applications/ApplicationFeatureProvider.java
@@ -0,0 +1,29 @@
+/*
+ * 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.app.Fragment;
+import android.view.View;
+
+public interface ApplicationFeatureProvider {
+
+ /**
+ * Returns a new {@link AppHeaderController} instance to customize app header.
+ */
+ AppHeaderController newAppHeaderController(Fragment fragment, View appHeader);
+}
+
diff --git a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
new file mode 100644
index 0000000..b1b4474
--- /dev/null
+++ b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
@@ -0,0 +1,34 @@
+/*
+ * 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.app.Fragment;
+import android.content.Context;
+import android.view.View;
+
+public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvider {
+
+ private final Context mContext;
+
+ public ApplicationFeatureProviderImpl(Context context) {
+ mContext = context.getApplicationContext();
+ }
+
+ public AppHeaderController newAppHeaderController(Fragment fragment, View appHeader) {
+ return new AppHeaderController(mContext, fragment, appHeader);
+ }
+}
diff --git a/src/com/android/settings/applications/BackgroundCheckSummary.java b/src/com/android/settings/applications/BackgroundCheckSummary.java
index 41f1149..1ff43c8 100644
--- a/src/com/android/settings/applications/BackgroundCheckSummary.java
+++ b/src/com/android/settings/applications/BackgroundCheckSummary.java
@@ -23,7 +23,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
diff --git a/src/com/android/settings/applications/ConfirmConvertToFbe.java b/src/com/android/settings/applications/ConfirmConvertToFbe.java
index 7048c2f..a243f04 100644
--- a/src/com/android/settings/applications/ConfirmConvertToFbe.java
+++ b/src/com/android/settings/applications/ConfirmConvertToFbe.java
@@ -23,7 +23,7 @@
import android.view.ViewGroup;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/applications/ConvertToFbe.java b/src/com/android/settings/applications/ConvertToFbe.java
index 6399612..da5f90d 100644
--- a/src/com/android/settings/applications/ConvertToFbe.java
+++ b/src/com/android/settings/applications/ConvertToFbe.java
@@ -24,8 +24,8 @@
import android.view.ViewGroup;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/applications/DefaultNotificationAssistantPreference.java b/src/com/android/settings/applications/DefaultNotificationAssistantPreference.java
new file mode 100644
index 0000000..91fc0c8
--- /dev/null
+++ b/src/com/android/settings/applications/DefaultNotificationAssistantPreference.java
@@ -0,0 +1,111 @@
+/**
+ * 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 com.android.settings.AppListPreference;
+
+import android.app.ActivityManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.provider.Settings;
+import android.service.notification.NotificationAssistantService;
+import android.util.AttributeSet;
+import android.util.Slog;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.android.settings.R;
+import com.android.settings.utils.ManagedServiceSettings;
+
+public class DefaultNotificationAssistantPreference extends AppListPreference {
+ private static final String TAG = "DefaultNotiAssist";
+
+ private PackageManager mPm;
+ private final ManagedServiceSettings.Config mConfig;
+ private final Context mContext;
+
+ public DefaultNotificationAssistantPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+
+ mContext = context;
+ mPm = context.getPackageManager();
+ mConfig = getConfig();
+ setShowItemNone(true);
+ updateList(getServices());
+ }
+
+ @Override
+ protected boolean persistString(String value) {
+ Settings.Secure.putString(mContext.getContentResolver(), mConfig.setting, value);
+ setSummary(getEntry());
+ return true;
+ }
+
+ private void updateList(List<ServiceInfo> services) {
+ final ComponentName[] assistants = new ComponentName[services.size()];
+ for (int i = 0; i < services.size(); i++) {
+ assistants[i] = new ComponentName(services.get(i).packageName, services.get(i).name);
+ }
+ final String assistant =
+ Settings.Secure.getString(mContext.getContentResolver(), mConfig.setting);
+ setComponentNames(assistants, assistant == null ? null
+ : ComponentName.unflattenFromString(assistant));
+ }
+
+ private List<ServiceInfo> getServices() {
+ List<ServiceInfo> services = new ArrayList<>();
+ final int user = ActivityManager.getCurrentUser();
+
+ List<ResolveInfo> installedServices = mPm.queryIntentServicesAsUser(
+ new Intent(mConfig.intentAction),
+ PackageManager.GET_SERVICES | PackageManager.GET_META_DATA,
+ user);
+
+ for (int i = 0, count = installedServices.size(); i < count; i++) {
+ ResolveInfo resolveInfo = installedServices.get(i);
+ ServiceInfo info = resolveInfo.serviceInfo;
+
+ if (!mConfig.permission.equals(info.permission)) {
+ Slog.w(mConfig.tag, "Skipping " + mConfig.noun + " service "
+ + info.packageName + "/" + info.name
+ + ": it does not require the permission "
+ + mConfig.permission);
+ continue;
+ }
+ services.add(info);
+ }
+ return services;
+ }
+
+ private ManagedServiceSettings.Config getConfig() {
+ final ManagedServiceSettings.Config c = new ManagedServiceSettings.Config();
+ c.tag = TAG;
+ c.setting = Settings.Secure.ENABLED_NOTIFICATION_ASSISTANT;
+ c.intentAction = NotificationAssistantService.SERVICE_INTERFACE;
+ c.permission = android.Manifest.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE;
+ c.noun = "notification assistant";
+ c.warningDialogTitle = R.string.notification_listener_security_warning_title;
+ c.warningDialogSummary = R.string.notification_listener_security_warning_summary;
+ c.emptyText = R.string.no_notification_listeners;
+ return c;
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/applications/DrawOverlayDetails.java b/src/com/android/settings/applications/DrawOverlayDetails.java
index 335bb16..dfaa95f 100644
--- a/src/com/android/settings/applications/DrawOverlayDetails.java
+++ b/src/com/android/settings/applications/DrawOverlayDetails.java
@@ -31,7 +31,7 @@
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
import com.android.settings.applications.AppStateOverlayBridge.OverlayState;
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 38d4f49..add4301 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;
@@ -73,7 +75,7 @@
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatteryStatsHelper;
import com.android.internal.widget.LockPatternUtils;
@@ -84,6 +86,7 @@
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.applications.PermissionsSummaryHelper.PermissionsResultCallback;
+import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.datausage.AppDataUsage;
import com.android.settings.datausage.DataUsageList;
import com.android.settings.datausage.DataUsageSummary;
@@ -92,6 +95,7 @@
import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.NotificationBackend.AppRow;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.AppItem;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils;
@@ -138,6 +142,7 @@
private static final int DLG_SPECIAL_DISABLE = DLG_BASE + 3;
private static final String KEY_HEADER = "header_view";
+ private static final String KEY_FOOTER = "header_footer";
private static final String KEY_NOTIFICATION = "notification_settings";
private static final String KEY_STORAGE = "storage_settings";
private static final String KEY_PERMISSION = "permission_settings";
@@ -148,11 +153,14 @@
private static final String NOTIFICATION_TUNER_SETTING = "show_importance_slider";
- private final HashSet<String> mHomePackages = new HashSet<String>();
+ private final HashSet<String> mHomePackages = new HashSet<>();
+
+ private DashboardFeatureProvider mDashboardFeatureProvider;
private boolean mInitialized;
private boolean mShowUninstalled;
private LayoutPreference mHeader;
+ private LayoutPreference mFooter;
private Button mUninstallButton;
private boolean mUpdatedSysApp = false;
private Button mForceStopButton;
@@ -164,6 +172,7 @@
private Preference mMemoryPreference;
private boolean mDisableAfterUninstall;
+
// Used for updating notification preference.
private final NotificationBackend mBackend = new NotificationBackend();
@@ -306,9 +315,14 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ final Activity activity = getActivity();
+ mDashboardFeatureProvider =
+ FeatureFactory.getFactory(activity).getDashboardFeatureProvider(activity);
setHasOptionsMenu(true);
- addPreferencesFromResource(R.xml.installed_app_details);
+ addPreferencesFromResource(mDashboardFeatureProvider.isEnabled()
+ ? R.xml.installed_app_details_ia
+ : R.xml.installed_app_details);
addDynamicPrefs();
if (Utils.isBandwidthControlEnabled()) {
@@ -366,7 +380,20 @@
if (mFinishing) {
return;
}
- handleHeader();
+ if (!mDashboardFeatureProvider.isEnabled()) {
+ handleHeader();
+ } else {
+ final Activity activity = getActivity();
+ mHeader = (LayoutPreference) findPreference(KEY_HEADER);
+ FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this, mHeader.findViewById(R.id.app_snippet))
+ .setPackageName(mPackageName)
+ .setButtonActions(AppHeaderController.ActionType.ACTION_STORE_DEEP_LINK,
+ AppHeaderController.ActionType.ACTION_APP_PREFERENCE)
+ .bindAppHeaderButtons();
+ prepareUninstallAndStop();
+ }
mNotificationPreference = findPreference(KEY_NOTIFICATION);
mNotificationPreference.setOnPreferenceClickListener(this);
@@ -404,7 +431,6 @@
private void handleHeader() {
mHeader = (LayoutPreference) findPreference(KEY_HEADER);
-
// Get Control button panel
View btnPanel = mHeader.findViewById(R.id.control_buttons_panel);
mForceStopButton = (Button) btnPanel.findViewById(R.id.right_button);
@@ -429,6 +455,13 @@
}
}
+ private void prepareUninstallAndStop() {
+ mForceStopButton = (Button) mFooter.findViewById(R.id.right_button);
+ mForceStopButton.setText(R.string.force_stop);
+ mUninstallButton = (Button) mFooter.findViewById(R.id.left_button);
+ mForceStopButton.setEnabled(false);
+ }
+
private Intent resolveIntent(Intent i) {
ResolveInfo result = getContext().getPackageManager().resolveActivity(i, 0);
return result != null ? new Intent(i.getAction())
@@ -461,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;
@@ -511,8 +546,19 @@
private void setAppLabelAndIcon(PackageInfo pkgInfo) {
final View appSnippet = mHeader.findViewById(R.id.app_snippet);
mState.ensureIcon(mAppEntry);
- setupAppSnippet(appSnippet, mAppEntry.label, mAppEntry.icon,
- pkgInfo != null ? pkgInfo.versionName : null);
+ if (mDashboardFeatureProvider.isEnabled()) {
+ final Activity activity = getActivity();
+ FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this, appSnippet)
+ .setLabel(mAppEntry)
+ .setIcon(mAppEntry)
+ .setSummary(pkgInfo)
+ .done(false /* rebindActions */);
+ } else {
+ setupAppSnippet(appSnippet, mAppEntry.label, mAppEntry.icon,
+ pkgInfo != null ? pkgInfo.versionName : null);
+ }
}
private boolean signaturesMatch(String pkg1, String pkg2) {
@@ -917,6 +963,12 @@
}
addAppInstallerInfoPref(screen);
+ if (mDashboardFeatureProvider.isEnabled()) {
+ mFooter = new LayoutPreference(screen.getContext(), R.layout.app_action_buttons);
+ mFooter.setOrder(10000);
+ mFooter.setKey(KEY_FOOTER);
+ screen.addPreference(mFooter);
+ }
}
private void addAppInstallerInfoPref(PreferenceScreen screen) {
@@ -1051,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));
}
}
@@ -1164,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/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index 5ab7248..b6e3b5d 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -31,8 +31,8 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.PreferenceFrameLayout;
+import android.support.v7.preference.Preference;
import android.text.TextUtils;
-import android.util.ArraySet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -52,9 +52,9 @@
import android.widget.ListView;
import android.widget.SectionIndexer;
import android.widget.Spinner;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
-import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
import com.android.settings.Settings.AllApplicationsActivity;
import com.android.settings.Settings.HighPowerApplicationsActivity;
@@ -67,6 +67,7 @@
import com.android.settings.Utils;
import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
import com.android.settings.applications.AppStateUsageBridge.UsageState;
+import com.android.settings.core.InstrumentedFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.fuelgauge.HighPowerDetail;
import com.android.settings.fuelgauge.PowerWhitelistBackend;
@@ -74,6 +75,7 @@
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.NotificationBackend.AppRow;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.HelpUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
@@ -337,7 +339,7 @@
private void createHeader() {
Activity activity = getActivity();
FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header);
- mSpinnerHeader = (ViewGroup) activity.getLayoutInflater()
+ mSpinnerHeader = activity.getLayoutInflater()
.inflate(R.layout.apps_filter_spinner, pinnedHeader, false);
mFilterSpinner = (Spinner) mSpinnerHeader.findViewById(R.id.filter_spinner);
mFilterAdapter = new FilterSpinnerAdapter(this);
@@ -370,9 +372,23 @@
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+
if (mListType == LIST_TYPE_STORAGE) {
- FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header);
- AppHeader.createAppHeader(getActivity(), null, mVolumeName, null, -1, pinnedHeader);
+ final Activity activity = getActivity();
+ final boolean isNewIAEnabled = FeatureFactory.getFactory(activity)
+ .getDashboardFeatureProvider(activity)
+ .isEnabled();
+ if (!isNewIAEnabled) {
+ FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header);
+ AppHeader.createAppHeader(getActivity(), null, mVolumeName, null, -1, pinnedHeader);
+ } else {
+ final View appHeader = FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this, null /* appHeaderView */)
+ .setLabel(mVolumeName)
+ .done();
+ mListView.addHeaderView(appHeader);
+ }
}
}
@@ -547,8 +563,13 @@
if (mOptionsMenu == null) {
return;
}
- mOptionsMenu.findItem(R.id.advanced).setVisible(
- mListType == LIST_TYPE_MAIN || mListType == LIST_TYPE_NOTIFICATION);
+ final Context context = getActivity();
+ if (FeatureFactory.getFactory(context).getDashboardFeatureProvider(context).isEnabled()) {
+ mOptionsMenu.findItem(R.id.advanced).setVisible(false);
+ } else {
+ mOptionsMenu.findItem(R.id.advanced).setVisible(
+ mListType == LIST_TYPE_MAIN || mListType == LIST_TYPE_NOTIFICATION);
+ }
mOptionsMenu.findItem(R.id.sort_order_alpha).setVisible(mListType == LIST_TYPE_STORAGE
&& mSortOrder != R.id.sort_order_alpha);
diff --git a/src/com/android/settings/applications/ManageAssist.java b/src/com/android/settings/applications/ManageAssist.java
index 99e55a4..37ae56f 100644
--- a/src/com/android/settings/applications/ManageAssist.java
+++ b/src/com/android/settings/applications/ManageAssist.java
@@ -26,7 +26,7 @@
import android.support.v7.preference.Preference;
import com.android.internal.app.AssistUtils;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.voice.VoiceInputListPreference;
diff --git a/src/com/android/settings/applications/ManageDomainUrls.java b/src/com/android/settings/applications/ManageDomainUrls.java
index a011fe4..4a64900 100644
--- a/src/com/android/settings/applications/ManageDomainUrls.java
+++ b/src/com/android/settings/applications/ManageDomainUrls.java
@@ -31,7 +31,7 @@
import android.util.ArraySet;
import android.view.View;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/applications/PremiumSmsAccess.java b/src/com/android/settings/applications/PremiumSmsAccess.java
index 4fe2649..fa97537 100644
--- a/src/com/android/settings/applications/PremiumSmsAccess.java
+++ b/src/com/android/settings/applications/PremiumSmsAccess.java
@@ -24,7 +24,7 @@
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceViewHolder;
import android.view.View;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.telephony.SmsUsageMonitor;
import com.android.settings.DividerPreference;
import com.android.settings.R;
diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java
index bc65a7f..89c6ade 100644
--- a/src/com/android/settings/applications/ProcessStatsDetail.java
+++ b/src/com/android/settings/applications/ProcessStatsDetail.java
@@ -16,6 +16,7 @@
package com.android.settings.applications;
+import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.app.AlertDialog;
@@ -31,6 +32,7 @@
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Process;
+import android.os.UserHandle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory;
import android.text.format.Formatter;
@@ -40,7 +42,8 @@
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.CancellablePreference;
import com.android.settings.CancellablePreference.OnCancelListener;
@@ -48,6 +51,7 @@
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.SummaryPreference;
import com.android.settings.applications.ProcStatsEntry.Service;
+import com.android.settings.overlay.FeatureFactory;
import java.util.ArrayList;
import java.util.Collections;
@@ -55,6 +59,8 @@
import java.util.HashMap;
import java.util.List;
+import static com.android.settings.applications.AppHeaderController.ActionType;
+
public class ProcessStatsDetail extends SettingsPreferenceFragment {
private static final String TAG = "ProcessStatsDetail";
@@ -119,9 +125,29 @@
finish();
return;
}
- AppHeader.createAppHeader(this,
- mApp.mUiTargetApp != null ? mApp.mUiTargetApp.loadIcon(mPm) : new ColorDrawable(0),
- mApp.mUiLabel, mApp.mPackage, mApp.mUiTargetApp.uid);
+ final Activity activity = getActivity();
+ if (!FeatureFactory.getFactory(activity)
+ .getDashboardFeatureProvider(activity).isEnabled()) {
+ AppHeader.createAppHeader(this, mApp.mUiTargetApp != null
+ ? mApp.mUiTargetApp.loadIcon(mPm)
+ : new ColorDrawable(0),
+ mApp.mUiLabel, mApp.mPackage, mApp.mUiTargetApp.uid);
+ } else {
+ final Preference pref = FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this, null /* appHeader */)
+ .setIcon(mApp.mUiTargetApp != null
+ ? mApp.mUiTargetApp.loadIcon(mPm)
+ : new ColorDrawable(0))
+ .setLabel(mApp.mUiLabel)
+ .setPackageName(mApp.mPackage)
+ .setUid(mApp.mUiTargetApp != null
+ ? mApp.mUiTargetApp.uid
+ : UserHandle.USER_NULL)
+ .setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
+ .done(getPrefContext());
+ getPreferenceScreen().addPreference(pref);
+ }
}
@Override
diff --git a/src/com/android/settings/applications/ProcessStatsMemDetail.java b/src/com/android/settings/applications/ProcessStatsMemDetail.java
index 30babd2..46a707b 100644
--- a/src/com/android/settings/applications/ProcessStatsMemDetail.java
+++ b/src/com/android/settings/applications/ProcessStatsMemDetail.java
@@ -25,7 +25,7 @@
import android.widget.TextView;
import com.android.internal.app.procstats.ProcessStats;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
diff --git a/src/com/android/settings/applications/ProcessStatsPreferenceController.java b/src/com/android/settings/applications/ProcessStatsPreferenceController.java
new file mode 100644
index 0000000..3ba2caf
--- /dev/null
+++ b/src/com/android/settings/applications/ProcessStatsPreferenceController.java
@@ -0,0 +1,50 @@
+/*
+ * 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.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+
+public class ProcessStatsPreferenceController extends PreferenceController {
+
+ private final DashboardFeatureProvider mDashboardFeatureProvider;
+
+ public ProcessStatsPreferenceController(Context context) {
+ super(context);
+ mDashboardFeatureProvider = FeatureFactory.getFactory(context)
+ .getDashboardFeatureProvider(context);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return mDashboardFeatureProvider.isEnabled();
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return "process_stats";
+ }
+}
diff --git a/src/com/android/settings/applications/ProcessStatsSummary.java b/src/com/android/settings/applications/ProcessStatsSummary.java
index 9827f1f..31ab0af 100644
--- a/src/com/android/settings/applications/ProcessStatsSummary.java
+++ b/src/com/android/settings/applications/ProcessStatsSummary.java
@@ -22,7 +22,7 @@
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.text.format.Formatter;
import android.text.format.Formatter.BytesResult;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SummaryPreference;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/applications/ProcessStatsUi.java b/src/com/android/settings/applications/ProcessStatsUi.java
index 724d832..72238f6 100644
--- a/src/com/android/settings/applications/ProcessStatsUi.java
+++ b/src/com/android/settings/applications/ProcessStatsUi.java
@@ -28,7 +28,7 @@
import android.view.MenuItem;
import com.android.internal.app.procstats.ProcessStats;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.applications.ProcStatsData.MemInfo;
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
index 38b8f37..28a8029 100644
--- a/src/com/android/settings/applications/RunningServiceDetails.java
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -32,7 +32,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/applications/RunningServices.java b/src/com/android/settings/applications/RunningServices.java
index 21f2354..736eafb 100644
--- a/src/com/android/settings/applications/RunningServices.java
+++ b/src/com/android/settings/applications/RunningServices.java
@@ -24,7 +24,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/applications/SpecialAccessSettings.java b/src/com/android/settings/applications/SpecialAccessSettings.java
index 1b0b7da..31f461c 100644
--- a/src/com/android/settings/applications/SpecialAccessSettings.java
+++ b/src/com/android/settings/applications/SpecialAccessSettings.java
@@ -15,7 +15,7 @@
package com.android.settings.applications;
import android.os.Bundle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/applications/UsageAccessDetails.java b/src/com/android/settings/applications/UsageAccessDetails.java
index 38676ac..2fa0253 100644
--- a/src/com/android/settings/applications/UsageAccessDetails.java
+++ b/src/com/android/settings/applications/UsageAccessDetails.java
@@ -33,7 +33,7 @@
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.applications.AppStateUsageBridge.UsageState;
diff --git a/src/com/android/settings/applications/VrListenerSettings.java b/src/com/android/settings/applications/VrListenerSettings.java
index 35c30d6..08d1367 100644
--- a/src/com/android/settings/applications/VrListenerSettings.java
+++ b/src/com/android/settings/applications/VrListenerSettings.java
@@ -18,7 +18,7 @@
import android.provider.Settings;
import android.service.vr.VrListenerService;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.utils.ManagedServiceSettings;
diff --git a/src/com/android/settings/applications/WriteSettingsDetails.java b/src/com/android/settings/applications/WriteSettingsDetails.java
index c11fff6..9f9016d 100644
--- a/src/com/android/settings/applications/WriteSettingsDetails.java
+++ b/src/com/android/settings/applications/WriteSettingsDetails.java
@@ -31,7 +31,7 @@
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
import com.android.settings.applications.AppStateWriteSettingsBridge.WriteSettingsState;
diff --git a/src/com/android/settings/backup/ToggleBackupSettingFragment.java b/src/com/android/settings/backup/ToggleBackupSettingFragment.java
index ffa9e3c..cd3471b 100644
--- a/src/com/android/settings/backup/ToggleBackupSettingFragment.java
+++ b/src/com/android/settings/backup/ToggleBackupSettingFragment.java
@@ -16,7 +16,7 @@
import android.view.View;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
index 18e3ed0..e3791e9 100644
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java
@@ -27,7 +27,7 @@
import android.widget.Switch;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.search.Index;
diff --git a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
index 1ee068f..5a3bc36 100644
--- a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
@@ -40,7 +40,7 @@
import android.widget.EditText;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
index abeb862..3d786fb 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
@@ -31,7 +31,7 @@
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index 9b222fa..a967abf 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -41,7 +41,7 @@
import android.view.View;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.LinkifyUtils;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/bluetooth/DevicePickerFragment.java b/src/com/android/settings/bluetooth/DevicePickerFragment.java
index 066f5d2..f250c9a 100644
--- a/src/com/android/settings/bluetooth/DevicePickerFragment.java
+++ b/src/com/android/settings/bluetooth/DevicePickerFragment.java
@@ -27,7 +27,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
index a2c6776..b9efbf8 100755
--- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
+++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
@@ -35,7 +35,7 @@
import android.widget.EditText;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index b913669..57133b1 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -20,6 +20,7 @@
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.deviceinfo.UsbBackend;
import com.android.settings.nfc.NfcPreferenceController;
import com.android.settingslib.drawer.CategoryKey;
@@ -29,6 +30,7 @@
public class ConnectedDeviceDashboardFragment extends DashboardFragment {
private static final String TAG = "ConnectedDeviceFrag";
+ private UsbModePreferenceController mUsbPrefController;
@Override
public int getMetricsCategory() {
@@ -52,11 +54,14 @@
@Override
protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final List<PreferenceController> controllers = new ArrayList<>();
final NfcPreferenceController nfcPreferenceController =
new NfcPreferenceController(context);
getLifecycle().addObserver(nfcPreferenceController);
- final List<PreferenceController> controllers = new ArrayList<>();
controllers.add(nfcPreferenceController);
+ mUsbPrefController = new UsbModePreferenceController(context, new UsbBackend(context));
+ getLifecycle().addObserver(mUsbPrefController);
+ controllers.add(mUsbPrefController);
return controllers;
}
diff --git a/src/com/android/settings/connecteddevice/UsbModePreferenceController.java b/src/com/android/settings/connecteddevice/UsbModePreferenceController.java
new file mode 100644
index 0000000..f782e9e
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/UsbModePreferenceController.java
@@ -0,0 +1,169 @@
+/*
+ * 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.connecteddevice;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.hardware.usb.UsbManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.R;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnPause;
+import com.android.settings.core.lifecycle.events.OnResume;
+import com.android.settings.deviceinfo.UsbBackend;
+
+public class UsbModePreferenceController extends PreferenceController
+ implements LifecycleObserver, OnResume, OnPause {
+
+ private static final String KEY_USB_MODE = "usb_mode";
+
+ private UsbBackend mUsbBackend;
+ private UsbConnectionBroadcastReceiver mUsbReceiver;
+ private Preference mUsbPreference;
+
+ public UsbModePreferenceController(Context context, UsbBackend usbBackend) {
+ super(context);
+ mUsbBackend = usbBackend;
+ mUsbReceiver = new UsbConnectionBroadcastReceiver();
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mUsbPreference = screen.findPreference(KEY_USB_MODE);
+ updataSummary(mUsbPreference);
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ updataSummary(preference);
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return true;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_USB_MODE;
+ }
+
+ @Override
+ public void onPause() {
+ mUsbReceiver.unregister();
+ }
+
+ @Override
+ public void onResume() {
+ mUsbReceiver.register();
+ }
+
+ public static int getSummary(int mode) {
+ switch (mode) {
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
+ return R.string.usb_use_charging_only_desc;
+ case UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE:
+ return R.string.usb_use_power_only_desc;
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP:
+ return R.string.usb_use_file_transfers_desc;
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP:
+ return R.string.usb_use_photo_transfers_desc;
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI:
+ return R.string.usb_use_MIDI_desc;
+ }
+ return 0;
+ }
+
+ public static int getTitle(int mode) {
+ switch (mode) {
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
+ return R.string.usb_use_charging_only;
+ case UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE:
+ return R.string.usb_use_power_only;
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP:
+ return R.string.usb_use_file_transfers;
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP:
+ return R.string.usb_use_photo_transfers;
+ case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI:
+ return R.string.usb_use_MIDI;
+ }
+ return 0;
+ }
+
+ private void updataSummary(Preference preference) {
+ updataSummary(preference, mUsbBackend.getCurrentMode());
+ }
+
+ private void updataSummary(Preference preference, int mode) {
+ if (preference != null) {
+ if (mUsbReceiver.isConnected()) {
+ preference.setEnabled(true);
+ preference.setSummary(getTitle(mode));
+ } else {
+ preference.setSummary(R.string.usb_nothing_connected);
+ preference.setEnabled(false);
+ }
+ }
+ }
+
+ private class UsbConnectionBroadcastReceiver extends BroadcastReceiver {
+ private boolean mListeningToUsbEvents;
+ private boolean mConnected;
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ boolean connected = intent != null
+ && intent.getExtras().getBoolean(UsbManager.USB_CONNECTED);
+ if (connected != mConnected) {
+ mConnected = connected;
+ updataSummary(mUsbPreference);
+ }
+ }
+
+ public void register() {
+ if (!mListeningToUsbEvents) {
+ IntentFilter intentFilter = new IntentFilter(UsbManager.ACTION_USB_STATE);
+ Intent intent = mContext.registerReceiver(this, intentFilter);
+ mConnected = intent != null
+ && intent.getExtras().getBoolean(UsbManager.USB_CONNECTED);
+ mListeningToUsbEvents = true;
+ }
+ }
+
+ public void unregister() {
+ if (mListeningToUsbEvents) {
+ mContext.unregisterReceiver(this);
+ mListeningToUsbEvents = false;
+ }
+ }
+
+ public boolean isConnected() {
+ return mConnected;
+ }
+ }
+
+}
diff --git a/src/com/android/settings/core/InstrumentedFragment.java b/src/com/android/settings/core/InstrumentedFragment.java
index ca683e3..45e855e 100644
--- a/src/com/android/settings/core/InstrumentedFragment.java
+++ b/src/com/android/settings/core/InstrumentedFragment.java
@@ -40,6 +40,13 @@
protected final int NETWORK_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 3;
protected final int CONNECTED_DEVICE_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 4;
protected final int APP_AND_NOTIFICATION_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 5;
+ protected final int INPUT_AND_GESTURE_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 6;
+ protected final int LANGUAGE_AND_REGION_CATEGORY_FRAGMENT = PLACEHOLDER_METRIC + 7;
+ protected final int GESTURE_SWIPE_TO_NOTIFICATION = PLACEHOLDER_METRIC + 8;
+ protected final int GESTURE_DOUBLE_TAP_POWER = PLACEHOLDER_METRIC + 9;
+ protected final int GESTURE_PICKUP = PLACEHOLDER_METRIC + 10;
+ protected final int GESTURE_DOUBLE_TAP_SCREEN = PLACEHOLDER_METRIC + 11;
+ protected final int GESTURE_DOUBLE_TWIST = PLACEHOLDER_METRIC + 12;
public InstrumentedFragment() {
// Mixin that logs visibility change for activity.
diff --git a/src/com/android/settings/core/PreferenceController.java b/src/com/android/settings/core/PreferenceController.java
index 50e9b2c..93ffe36 100644
--- a/src/com/android/settings/core/PreferenceController.java
+++ b/src/com/android/settings/core/PreferenceController.java
@@ -18,6 +18,7 @@
import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
+import com.android.settings.search.SearchIndexableRaw;
import java.util.List;
@@ -66,6 +67,14 @@
}
/**
+ * Updates raw data for search provider.
+ *
+ * Called by SearchIndexProvider#getRawDataToIndex
+ */
+ public void updateRawDataToIndex(List<SearchIndexableRaw> rawData) {
+ }
+
+ /**
* Returns true if preference is available (should be displayed)
*/
public abstract boolean isAvailable();
diff --git a/src/com/android/settings/core/instrumentation/Instrumentable.java b/src/com/android/settings/core/instrumentation/Instrumentable.java
index e48dbd7..f58e140 100644
--- a/src/com/android/settings/core/instrumentation/Instrumentable.java
+++ b/src/com/android/settings/core/instrumentation/Instrumentable.java
@@ -22,7 +22,7 @@
/**
* Instrumented name for a view as defined in
- * {@link com.android.internal.logging.MetricsProto.MetricsEvent}.
+ * {@link com.android.internal.logging.nano.MetricsProto.MetricsEvent}.
*/
int getMetricsCategory();
}
diff --git a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
index 65b33df..a5efcc1 100644
--- a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
+++ b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
@@ -22,7 +22,7 @@
import android.os.AsyncTask;
import android.text.TextUtils;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.overlay.FeatureFactory;
import java.util.Map;
diff --git a/src/com/android/settings/core/lifecycle/ObservablePreferenceFragment.java b/src/com/android/settings/core/lifecycle/ObservablePreferenceFragment.java
index dbce755..f55b183 100644
--- a/src/com/android/settings/core/lifecycle/ObservablePreferenceFragment.java
+++ b/src/com/android/settings/core/lifecycle/ObservablePreferenceFragment.java
@@ -62,6 +62,13 @@
@CallSuper
@Override
+ public void onStop() {
+ mLifecycle.onStop();
+ super.onStop();
+ }
+
+ @CallSuper
+ @Override
public void onResume() {
mLifecycle.onResume();
super.onResume();
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index baea164..136bec0 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -34,7 +34,7 @@
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
@@ -163,13 +163,9 @@
public void notifySummaryChanged(Tile tile) {
final int position = mDashboardData.getPositionByTile(tile);
if (position != DashboardData.POSITION_NOT_FOUND) {
- final Tile targetTile = (Tile) mDashboardData.getItemEntityByPosition(position);
- if (!TextUtils.equals(tile.summary, targetTile.summary)) {
-
- // Since usually tile in parameter and tile in mCategories are same instance,
- // which is hard to be detected by DiffUtil, so we notifyItemChanged directly.
- notifyItemChanged(position);
- }
+ // Since usually tile in parameter and tile in mCategories are same instance,
+ // which is hard to be detected by DiffUtil, so we notifyItemChanged directly.
+ notifyItemChanged(position);
}
}
diff --git a/src/com/android/settings/dashboard/DashboardContainerFragment.java b/src/com/android/settings/dashboard/DashboardContainerFragment.java
index 3477d90..45c423f 100644
--- a/src/com/android/settings/dashboard/DashboardContainerFragment.java
+++ b/src/com/android/settings/dashboard/DashboardContainerFragment.java
@@ -27,7 +27,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/dashboard/DashboardData.java b/src/com/android/settings/dashboard/DashboardData.java
index 0fc994b..147f39e 100644
--- a/src/com/android/settings/dashboard/DashboardData.java
+++ b/src/com/android/settings/dashboard/DashboardData.java
@@ -16,6 +16,7 @@
package com.android.settings.dashboard;
import android.annotation.IntDef;
+import android.support.annotation.Nullable;
import android.support.v7.util.DiffUtil;
import android.text.TextUtils;
import com.android.settings.dashboard.conditional.Condition;
@@ -350,6 +351,15 @@
public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) {
return mOldItems.get(oldItemPosition).equals(mNewItems.get(newItemPosition));
}
+
+ @Nullable
+ @Override
+ public Object getChangePayload(int oldItemPosition, int newItemPosition) {
+ if (mOldItems.get(oldItemPosition).type == Item.TYPE_CONDITION_CARD) {
+ return "condition"; // return anything but null to mark the payload
+ }
+ return null;
+ }
}
/**
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 4480281..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;
@@ -43,8 +44,8 @@
private final CategoryManager mCategoryManager;
public DashboardFeatureProviderImpl(Context context) {
- mContext = context;
- mCategoryManager = CategoryManager.get(context);
+ mContext = context.getApplicationContext();
+ mCategoryManager = CategoryManager.get(mContext);
}
@Override
@@ -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/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 754a7bb..490808a 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -27,7 +27,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Settings;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/dashboard/NoHomeDialogFragment.java b/src/com/android/settings/dashboard/NoHomeDialogFragment.java
index b8ea9ea..e27570b 100644
--- a/src/com/android/settings/dashboard/NoHomeDialogFragment.java
+++ b/src/com/android/settings/dashboard/NoHomeDialogFragment.java
@@ -22,7 +22,7 @@
import android.app.DialogFragment;
import android.os.Bundle;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/dashboard/SearchResultsSummary.java b/src/com/android/settings/dashboard/SearchResultsSummary.java
index bd9948b..7097485 100644
--- a/src/com/android/settings/dashboard/SearchResultsSummary.java
+++ b/src/com/android/settings/dashboard/SearchResultsSummary.java
@@ -37,7 +37,7 @@
import android.widget.SearchView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
@@ -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/dashboard/SupportFragment.java b/src/com/android/settings/dashboard/SupportFragment.java
index c8fed8a..63983ce 100644
--- a/src/com/android/settings/dashboard/SupportFragment.java
+++ b/src/com/android/settings/dashboard/SupportFragment.java
@@ -35,7 +35,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.overlay.FeatureFactory;
diff --git a/src/com/android/settings/dashboard/SupportItemAdapter.java b/src/com/android/settings/dashboard/SupportItemAdapter.java
index f966668..517d8d0 100644
--- a/src/com/android/settings/dashboard/SupportItemAdapter.java
+++ b/src/com/android/settings/dashboard/SupportItemAdapter.java
@@ -37,7 +37,7 @@
import android.widget.Spinner;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.SupportFeatureProvider;
diff --git a/src/com/android/settings/dashboard/conditional/AirplaneModeCondition.java b/src/com/android/settings/dashboard/conditional/AirplaneModeCondition.java
index 221b64c..b40baf5 100644
--- a/src/com/android/settings/dashboard/conditional/AirplaneModeCondition.java
+++ b/src/com/android/settings/dashboard/conditional/AirplaneModeCondition.java
@@ -20,7 +20,7 @@
import android.content.Intent;
import android.graphics.drawable.Icon;
import android.net.ConnectivityManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Settings;
import com.android.settingslib.WirelessUtils;
diff --git a/src/com/android/settings/dashboard/conditional/BackgroundDataCondition.java b/src/com/android/settings/dashboard/conditional/BackgroundDataCondition.java
index 8287abd..2bc71b2 100644
--- a/src/com/android/settings/dashboard/conditional/BackgroundDataCondition.java
+++ b/src/com/android/settings/dashboard/conditional/BackgroundDataCondition.java
@@ -18,7 +18,7 @@
import android.content.Intent;
import android.graphics.drawable.Icon;
import android.net.NetworkPolicyManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Settings;
diff --git a/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java b/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java
index 8644117..b3e3504 100644
--- a/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java
+++ b/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java
@@ -17,7 +17,7 @@
import android.graphics.drawable.Icon;
import android.os.PowerManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.fuelgauge.BatterySaverSettings;
diff --git a/src/com/android/settings/dashboard/conditional/CellularDataCondition.java b/src/com/android/settings/dashboard/conditional/CellularDataCondition.java
index c28d9fa..6156e39 100644
--- a/src/com/android/settings/dashboard/conditional/CellularDataCondition.java
+++ b/src/com/android/settings/dashboard/conditional/CellularDataCondition.java
@@ -16,7 +16,7 @@
import android.graphics.drawable.Icon;
import android.net.ConnectivityManager;
import android.telephony.TelephonyManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.TelephonyIntents;
import com.android.settings.R;
import com.android.settings.Settings;
diff --git a/src/com/android/settings/dashboard/conditional/Condition.java b/src/com/android/settings/dashboard/conditional/Condition.java
index 61889be..b184004 100644
--- a/src/com/android/settings/dashboard/conditional/Condition.java
+++ b/src/com/android/settings/dashboard/conditional/Condition.java
@@ -22,7 +22,7 @@
import android.graphics.drawable.Icon;
import android.os.PersistableBundle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
diff --git a/src/com/android/settings/dashboard/conditional/ConditionAdapterUtils.java b/src/com/android/settings/dashboard/conditional/ConditionAdapterUtils.java
index 0c16527..c79cdf3 100644
--- a/src/com/android/settings/dashboard/conditional/ConditionAdapterUtils.java
+++ b/src/com/android/settings/dashboard/conditional/ConditionAdapterUtils.java
@@ -27,7 +27,7 @@
import android.widget.Button;
import android.widget.ImageView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardAdapter;
import com.android.settings.overlay.FeatureFactory;
@@ -81,9 +81,17 @@
View detailGroup = view.itemView.findViewById(R.id.detail_group);
CharSequence[] actions = condition.getActions();
if (isExpanded != (detailGroup.getVisibility() == View.VISIBLE)) {
- animateChange(view.itemView, view.itemView.findViewById(R.id.content),
- detailGroup, isExpanded, actions.length > 0);
+ if (isExpanded) {
+ final boolean hasButtons = actions.length > 0;
+ setViewVisibility(detailGroup, R.id.divider, hasButtons);
+ setViewVisibility(detailGroup, R.id.buttonBar, hasButtons);
+
+ detailGroup.setVisibility(View.VISIBLE);
+ } else {
+ detailGroup.setVisibility(View.GONE);
+ }
}
+
if (isExpanded) {
view.summary.setText(condition.getSummary());
for (int i = 0; i < 2; i++) {
@@ -110,37 +118,6 @@
}
}
- private static void animateChange(final View view, final View content,
- final View detailGroup, final boolean visible, final boolean hasButtons) {
- setViewVisibility(detailGroup, R.id.divider, hasButtons);
- setViewVisibility(detailGroup, R.id.buttonBar, hasButtons);
- final int beforeBottom = content.getBottom();
- setHeight(detailGroup, visible ? LayoutParams.WRAP_CONTENT : 0);
- detailGroup.setVisibility(View.VISIBLE);
- view.addOnLayoutChangeListener(new OnLayoutChangeListener() {
- public static final long DURATION = 250;
-
- @Override
- public void onLayoutChange(View v, int left, int top, int right, int bottom,
- int oldLeft, int oldTop, int oldRight, int oldBottom) {
- final int afterBottom = content.getBottom();
- v.removeOnLayoutChangeListener(this);
- final ObjectAnimator animator = ObjectAnimator.ofInt(content, "bottom",
- beforeBottom, afterBottom);
- animator.setDuration(DURATION);
- animator.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- if (!visible) {
- detailGroup.setVisibility(View.GONE);
- }
- }
- });
- animator.start();
- }
- });
- }
-
private static void setHeight(View detailGroup, int height) {
final LayoutParams params = detailGroup.getLayoutParams();
params.height = height;
diff --git a/src/com/android/settings/dashboard/conditional/DndCondition.java b/src/com/android/settings/dashboard/conditional/DndCondition.java
index 49d67c2..f6f64fa 100644
--- a/src/com/android/settings/dashboard/conditional/DndCondition.java
+++ b/src/com/android/settings/dashboard/conditional/DndCondition.java
@@ -27,7 +27,7 @@
import android.provider.Settings.Global;
import android.service.notification.ZenModeConfig;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
public class DndCondition extends Condition {
diff --git a/src/com/android/settings/dashboard/conditional/HotspotCondition.java b/src/com/android/settings/dashboard/conditional/HotspotCondition.java
index e440389..2f25da5 100644
--- a/src/com/android/settings/dashboard/conditional/HotspotCondition.java
+++ b/src/com/android/settings/dashboard/conditional/HotspotCondition.java
@@ -25,7 +25,7 @@
import android.os.UserHandle;
import android.os.UserManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.TetherSettings;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/dashboard/conditional/NightDisplayCondition.java b/src/com/android/settings/dashboard/conditional/NightDisplayCondition.java
index 132a0a4..11d6c0f 100644
--- a/src/com/android/settings/dashboard/conditional/NightDisplayCondition.java
+++ b/src/com/android/settings/dashboard/conditional/NightDisplayCondition.java
@@ -19,7 +19,7 @@
import android.graphics.drawable.Icon;
import com.android.internal.app.NightDisplayController;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.display.NightDisplaySettings;
diff --git a/src/com/android/settings/dashboard/conditional/WorkModeCondition.java b/src/com/android/settings/dashboard/conditional/WorkModeCondition.java
index 7924eef..fb6b9c9 100644
--- a/src/com/android/settings/dashboard/conditional/WorkModeCondition.java
+++ b/src/com/android/settings/dashboard/conditional/WorkModeCondition.java
@@ -22,7 +22,7 @@
import android.graphics.drawable.Icon;
import android.os.UserHandle;
import android.os.UserManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Settings;
diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java
index afe186b..29bd509 100644
--- a/src/com/android/settings/datausage/AppDataUsage.java
+++ b/src/com/android/settings/datausage/AppDataUsage.java
@@ -14,6 +14,7 @@
package com.android.settings.datausage;
+import android.app.Activity;
import android.app.LoaderManager;
import android.content.Context;
import android.content.Intent;
@@ -29,7 +30,6 @@
import android.net.TrafficStats;
import android.os.AsyncTask;
import android.os.Bundle;
-import android.os.Process;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
@@ -38,13 +38,15 @@
import android.support.v7.preference.PreferenceCategory;
import android.text.format.Formatter;
import android.util.ArraySet;
-import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.R;
+import com.android.settings.applications.AppHeaderController;
import com.android.settings.applications.AppInfoBase;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.AppItem;
import com.android.settingslib.Utils;
import com.android.settingslib.net.ChartData;
@@ -53,7 +55,6 @@
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -345,15 +346,32 @@
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- View header = setPinnedHeaderView(R.layout.app_header);
String pkg = mPackages.size() != 0 ? mPackages.valueAt(0) : null;
int uid = 0;
try {
uid = pkg != null ? getPackageManager().getPackageUid(pkg, 0) : 0;
} catch (PackageManager.NameNotFoundException e) {
}
- AppHeader.setupHeaderView(getActivity(), mIcon, mLabel,
- pkg, uid, AppHeader.includeAppInfo(this), 0, header, null);
+
+ final Activity activity = getActivity();
+ if (!FeatureFactory.getFactory(activity)
+ .getDashboardFeatureProvider(activity).isEnabled()) {
+ View header = setPinnedHeaderView(R.layout.app_header);
+ AppHeader.setupHeaderView(getActivity(), mIcon, mLabel,
+ pkg, uid, AppHeader.includeAppInfo(this), 0, header, null);
+ } else {
+ final Preference pref = FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this, null /* appHeader */)
+ .setIcon(mIcon)
+ .setLabel(mLabel)
+ .setPackageName(pkg)
+ .setUid(uid)
+ .setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
+ AppHeaderController.ActionType.ACTION_NONE)
+ .done(getPrefContext());
+ getPreferenceScreen().addPreference(pref);
+ }
}
@Override
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index ce020b1..9b39840 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -36,7 +36,7 @@
import android.widget.Spinner;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.NetworkPolicyEditor;
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
index daf72f3..0194178 100644
--- a/src/com/android/settings/datausage/CellDataPreference.java
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -34,7 +34,7 @@
import android.view.View;
import android.widget.Checkable;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.CustomDialogPreference;
import com.android.settings.R;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index 3b3ff9c..7c291c6 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -21,7 +21,7 @@
import android.os.RemoteException;
import android.util.SparseIntArray;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
diff --git a/src/com/android/settings/datausage/DataSaverSummary.java b/src/com/android/settings/datausage/DataSaverSummary.java
index 90aab7b..b0304fc 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.java
+++ b/src/com/android/settings/datausage/DataSaverSummary.java
@@ -19,7 +19,7 @@
import android.support.v7.preference.Preference;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index cbf5d31..a817479 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -46,7 +46,7 @@
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Spinner;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settingslib.AppItem;
import com.android.settingslib.net.ChartData;
diff --git a/src/com/android/settings/datausage/DataUsageMeteredSettings.java b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
index 12e7b87..94a44f8 100644
--- a/src/com/android/settings/datausage/DataUsageMeteredSettings.java
+++ b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
@@ -28,7 +28,7 @@
import android.support.v7.preference.PreferenceCategory;
import android.telephony.TelephonyManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.BaseSearchIndexProvider;
diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java
index c99a4ab..41dc78f 100644
--- a/src/com/android/settings/datausage/DataUsageSummary.java
+++ b/src/com/android/settings/datausage/DataUsageSummary.java
@@ -41,7 +41,7 @@
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SummaryPreference;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccess.java b/src/com/android/settings/datausage/UnrestrictedDataAccess.java
index df238b9..0839114 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccess.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccess.java
@@ -27,7 +27,7 @@
import android.view.MenuItem;
import android.view.View;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.AppStateBaseBridge;
diff --git a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java
index 861bbf8..ff97e31 100644
--- a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java
+++ b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java
@@ -31,7 +31,7 @@
import android.text.format.DateUtils;
import android.text.format.Formatter;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/deviceinfo/ImeiInformation.java b/src/com/android/settings/deviceinfo/ImeiInformation.java
index 960596c..9d4602b 100644
--- a/src/com/android/settings/deviceinfo/ImeiInformation.java
+++ b/src/com/android/settings/deviceinfo/ImeiInformation.java
@@ -28,7 +28,7 @@
import android.text.TextUtils;
import android.text.style.TtsSpan;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeForget.java b/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
index d7a57ca..a8e119d 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
@@ -33,7 +33,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeFormat.java b/src/com/android/settings/deviceinfo/PrivateVolumeFormat.java
index de3e3d3..c4ca880 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeFormat.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeFormat.java
@@ -29,7 +29,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
index e29f480..e57231e 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
@@ -53,7 +53,7 @@
import android.view.View;
import android.widget.EditText;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Settings.StorageUseActivity;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeUnmount.java b/src/com/android/settings/deviceinfo/PrivateVolumeUnmount.java
index 40b09e7..0aa5b92 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeUnmount.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeUnmount.java
@@ -28,7 +28,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.deviceinfo.StorageSettings.UnmountTask;
diff --git a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
index 2973ecd..fccd440 100644
--- a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
@@ -38,7 +38,7 @@
import android.view.ViewGroup;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.Preconditions;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/deviceinfo/SimStatus.java b/src/com/android/settings/deviceinfo/SimStatus.java
index 469413a..4444d48 100644
--- a/src/com/android/settings/deviceinfo/SimStatus.java
+++ b/src/com/android/settings/deviceinfo/SimStatus.java
@@ -47,7 +47,7 @@
import android.widget.TabHost.TabSpec;
import android.widget.TabWidget;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.DefaultPhoneNotifier;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java
index 14173e8..930e185 100644
--- a/src/com/android/settings/deviceinfo/Status.java
+++ b/src/com/android/settings/deviceinfo/Status.java
@@ -38,7 +38,7 @@
import android.support.v7.preference.Preference;
import android.text.TextUtils;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.ArrayUtils;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
@@ -280,7 +280,8 @@
private void setWifiStatus() {
WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
- String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
+ boolean hasMacAddress = wifiInfo != null && wifiInfo.hasRealMacAddress();
+ String macAddress = hasMacAddress ? wifiInfo.getMacAddress() : null;
mWifiMacAddress.setSummary(!TextUtils.isEmpty(macAddress) ? macAddress : mUnavailable);
}
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index d9e02e8..c537661 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -44,7 +44,7 @@
import android.util.Log;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
index c42d692..59a1866 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
@@ -33,7 +33,7 @@
import android.view.View;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
index d592fcc..5ac16d4 100644
--- a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
+++ b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
@@ -40,6 +40,7 @@
import com.android.settings.R;
import com.android.settingslib.RestrictedLockUtils;
+import com.android.settings.connecteddevice.UsbModePreferenceController;
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -135,9 +136,9 @@
View v = mLayoutInflater.inflate(R.layout.restricted_radio_with_summary, container, false);
TextView titleView = (TextView) v.findViewById(android.R.id.title);
- titleView.setText(getTitle(mode));
+ titleView.setText(UsbModePreferenceController.getTitle(mode));
TextView summaryView = (TextView) v.findViewById(android.R.id.summary);
- summaryView.setText(getSummary(mode));
+ summaryView.setText(UsbModePreferenceController.getSummary(mode));
if (disallowedByAdmin) {
if (mEnforcedAdmin != null) {
@@ -177,35 +178,4 @@
}
}
- private static int getSummary(int mode) {
- switch (mode) {
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
- return R.string.usb_use_charging_only_desc;
- case UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE:
- return R.string.usb_use_power_only_desc;
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP:
- return R.string.usb_use_file_transfers_desc;
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP:
- return R.string.usb_use_photo_transfers_desc;
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI:
- return R.string.usb_use_MIDI_desc;
- }
- return 0;
- }
-
- private static int getTitle(int mode) {
- switch (mode) {
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
- return R.string.usb_use_charging_only;
- case UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE:
- return R.string.usb_use_power_only;
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP:
- return R.string.usb_use_file_transfers;
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP:
- return R.string.usb_use_photo_transfers;
- case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI:
- return R.string.usb_use_MIDI;
- }
- return 0;
- }
}
diff --git a/src/com/android/settings/display/AutoRotatePreferenceController.java b/src/com/android/settings/display/AutoRotatePreferenceController.java
index 567393e..ee940a3 100644
--- a/src/com/android/settings/display/AutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/AutoRotatePreferenceController.java
@@ -18,7 +18,7 @@
import android.support.v7.preference.DropDownPreference;
import android.support.v7.preference.Preference;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.view.RotationPolicy;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
diff --git a/src/com/android/settings/display/DozePreferenceController.java b/src/com/android/settings/display/DozePreferenceController.java
index 16b0e81..ad72053 100644
--- a/src/com/android/settings/display/DozePreferenceController.java
+++ b/src/com/android/settings/display/DozePreferenceController.java
@@ -26,7 +26,7 @@
import com.android.settings.overlay.FeatureFactory;
import static android.provider.Settings.Secure.DOZE_ENABLED;
-import static com.android.internal.logging.MetricsProto.MetricsEvent.ACTION_AMBIENT_DISPLAY;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_AMBIENT_DISPLAY;
public class DozePreferenceController extends PreferenceController implements
Preference.OnPreferenceChangeListener {
diff --git a/src/com/android/settings/display/NightDisplaySettings.java b/src/com/android/settings/display/NightDisplaySettings.java
index b37e2e2..1ff4297 100644
--- a/src/com/android/settings/display/NightDisplaySettings.java
+++ b/src/com/android/settings/display/NightDisplaySettings.java
@@ -26,7 +26,7 @@
import android.widget.TimePicker;
import com.android.internal.app.NightDisplayController;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java b/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java
index bfe4a77..82cb58d 100644
--- a/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java
@@ -16,7 +16,7 @@
package com.android.settings.display;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
public class ScreenZoomPreferenceFragmentForSetupWizard
extends ScreenZoomSettings {
diff --git a/src/com/android/settings/display/ScreenZoomSettings.java b/src/com/android/settings/display/ScreenZoomSettings.java
index af359f1..7538cd3 100644
--- a/src/com/android/settings/display/ScreenZoomSettings.java
+++ b/src/com/android/settings/display/ScreenZoomSettings.java
@@ -22,7 +22,7 @@
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Display;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.PreviewSeekBarPreferenceFragment;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
diff --git a/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java b/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java
new file mode 100644
index 0000000..3e45de0
--- /dev/null
+++ b/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java
@@ -0,0 +1,27 @@
+/*
+ * 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.enterprise;
+
+import android.content.ComponentName;
+
+// This interface replicates a subset of the android.app.admin.DevicePolicyManager (DPM). The
+// interface exists so that we can use a thin wrapper around the DPM in production code and a mock
+// in tests. We cannot directly mock or shadow the DPM, because some of the methods we rely on are
+// newer than the API version supported by Robolectric.
+public interface DevicePolicyManagerWrapper {
+ public ComponentName getDeviceOwnerComponentOnAnyUser();
+}
diff --git a/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java b/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java
new file mode 100644
index 0000000..87adcd6
--- /dev/null
+++ b/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java
@@ -0,0 +1,32 @@
+/*
+ * 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.enterprise;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+
+public class DevicePolicyManagerWrapperImpl implements DevicePolicyManagerWrapper {
+ private final DevicePolicyManager mDpm;
+
+ public DevicePolicyManagerWrapperImpl(DevicePolicyManager dpm) {
+ mDpm = dpm;
+ }
+
+ public ComponentName getDeviceOwnerComponentOnAnyUser() {
+ return mDpm.getDeviceOwnerComponentOnAnyUser();
+ }
+}
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
new file mode 100644
index 0000000..e2fb0a3
--- /dev/null
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
@@ -0,0 +1,21 @@
+/*
+ * 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.enterprise;
+
+public interface EnterprisePrivacyFeatureProvider {
+ boolean hasDeviceOwner();
+}
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
new file mode 100644
index 0000000..3d35c23
--- /dev/null
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
@@ -0,0 +1,39 @@
+/*
+ * 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.enterprise;
+
+import android.content.pm.PackageManager;
+import android.content.Context;
+
+public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFeatureProvider {
+
+ private final Context mContext;
+ private final DevicePolicyManagerWrapper mDpm;
+
+ public EnterprisePrivacyFeatureProviderImpl(Context context, DevicePolicyManagerWrapper dpm) {
+ mContext = context.getApplicationContext();
+ mDpm = dpm;
+ }
+
+ @Override
+ public boolean hasDeviceOwner() {
+ if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_DEVICE_ADMIN)) {
+ return false;
+ }
+ return mDpm.getDeviceOwnerComponentOnAnyUser() != null;
+ }
+}
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
new file mode 100644
index 0000000..a2d1a30
--- /dev/null
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -0,0 +1,71 @@
+/*
+ * 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.enterprise;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.provider.SearchIndexableResource;
+
+import com.android.settings.R;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class EnterprisePrivacySettings extends DashboardFragment {
+
+ static final String TAG = "EnterprisePrivacySettings";
+
+ @Override
+ public int getMetricsCategory() {
+ return MetricsEvent.ENTERPRISE_PRIVACY_SETTINGS;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return null;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.enterprise_privacy_settings;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ return null;
+ }
+
+ public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+ new BaseSearchIndexProvider() {
+ @Override
+ public List<SearchIndexableResource> getXmlResourcesToIndex(
+ Context context, boolean enabled) {
+ final SearchIndexableResource sir = new SearchIndexableResource(context);
+ sir.xmlResId = R.xml.enterprise_privacy_settings;
+ return Arrays.asList(sir);
+ }
+ };
+}
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
index fa108bb..d2cac09 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
@@ -39,7 +39,7 @@
import android.widget.ProgressBar;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
index f2fda6b..510e953 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
@@ -21,7 +21,7 @@
import android.os.Bundle;
import android.os.UserHandle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/fingerprint/FingerprintEnrollFinish.java
index 94d2570..3379169 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollFinish.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollFinish.java
@@ -23,7 +23,7 @@
import android.view.View;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java
index 697c44a..bbaf54c 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java
@@ -28,7 +28,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockGeneric;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java
index 24061b4..c0c0d33 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java
@@ -25,7 +25,7 @@
import android.os.Handler;
import android.os.UserHandle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.Utils;
import com.android.settings.core.InstrumentedFragment;
diff --git a/src/com/android/settings/fingerprint/FingerprintSettings.java b/src/com/android/settings/fingerprint/FingerprintSettings.java
index 3c1be40..58060f3 100644
--- a/src/com/android/settings/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/fingerprint/FingerprintSettings.java
@@ -60,7 +60,7 @@
import android.widget.TextView;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockGeneric;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
index 90b281f..0e4501c 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
@@ -28,7 +28,7 @@
import android.view.View;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
index 2ff3a1a..aff1028 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -20,7 +20,7 @@
import android.content.res.Resources;
import android.os.UserHandle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java
index 370e3fc..92ea5cb 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java
@@ -22,7 +22,7 @@
import android.view.View;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java
index 68ee0b6..546fc0e 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java
@@ -22,7 +22,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
import com.android.settings.SetupChooseLockGeneric;
diff --git a/src/com/android/settings/fingerprint/SetupSkipDialog.java b/src/com/android/settings/fingerprint/SetupSkipDialog.java
index 9e9bb4c..842e69c 100644
--- a/src/com/android/settings/fingerprint/SetupSkipDialog.java
+++ b/src/com/android/settings/fingerprint/SetupSkipDialog.java
@@ -25,7 +25,7 @@
import android.os.Bundle;
import android.support.annotation.NonNull;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java b/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java
index f71884c..ef94158 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java
+++ b/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java
@@ -26,7 +26,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatteryStatsHelper;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/fuelgauge/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/BatterySaverSettings.java
index 0108dd0..4dc8f87 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverSettings.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverSettings.java
@@ -33,7 +33,7 @@
import android.util.Log;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java
index c448756..580c59f 100644
--- a/src/com/android/settings/fuelgauge/HighPowerDetail.java
+++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java
@@ -30,7 +30,7 @@
import android.widget.Checkable;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/fuelgauge/InactiveApps.java b/src/com/android/settings/fuelgauge/InactiveApps.java
index 00556d2..f91a5c6 100644
--- a/src/com/android/settings/fuelgauge/InactiveApps.java
+++ b/src/com/android/settings/fuelgauge/InactiveApps.java
@@ -26,7 +26,7 @@
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
index 915cf74..003c7f6 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
@@ -37,12 +37,13 @@
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceCategory;
+import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatterySipper.DrainType;
import com.android.internal.os.BatteryStatsHelper;
@@ -53,6 +54,7 @@
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
import com.android.settings.WirelessSettings;
+import com.android.settings.applications.AppHeaderController;
import com.android.settings.applications.InstalledAppDetails;
import com.android.settings.applications.LayoutPreference;
import com.android.settings.bluetooth.BluetoothSettings;
@@ -462,13 +464,14 @@
}
private void setupHeader() {
+ final Activity activity = getActivity();
final Bundle args = getArguments();
- String title = args.getString(EXTRA_TITLE);
+ final String title = args.getString(EXTRA_TITLE);
+ final int iconId = args.getInt(EXTRA_ICON_ID, 0);
String pkg = args.getString(EXTRA_ICON_PACKAGE);
- int iconId = args.getInt(EXTRA_ICON_ID, 0);
Drawable appIcon = null;
int uid = -1;
- final PackageManager pm = getActivity().getPackageManager();
+ final PackageManager pm = activity.getPackageManager();
if (!TextUtils.isEmpty(pkg)) {
try {
@@ -481,17 +484,38 @@
// Use default icon
}
} else if (iconId != 0) {
- appIcon = getActivity().getDrawable(iconId);
+ appIcon = activity.getDrawable(iconId);
}
if (appIcon == null) {
- appIcon = getActivity().getPackageManager().getDefaultActivityIcon();
+ appIcon = activity.getPackageManager().getDefaultActivityIcon();
}
if (pkg == null && mPackages != null) {
pkg = mPackages[0];
}
- AppHeader.createAppHeader(this, appIcon, title, pkg, uid,
- mDrainType != DrainType.APP ? android.R.color.white : 0);
+ if (!FeatureFactory.getFactory(activity)
+ .getDashboardFeatureProvider(activity).isEnabled()) {
+ AppHeader.createAppHeader(this, appIcon, title, pkg, uid,
+ mDrainType != DrainType.APP ? android.R.color.white : 0);
+ } else {
+ final PreferenceScreen screen = getPreferenceScreen();
+ final Preference appHeaderPref =
+ findPreference(AppHeaderController.PREF_KEY_APP_HEADER);
+ if (appHeaderPref != null) {
+ return;
+ }
+ final Preference pref = FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this, null /* appHeader */)
+ .setIcon(appIcon)
+ .setLabel(title)
+ .setPackageName(pkg)
+ .setUid(uid)
+ .setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
+ AppHeaderController.ActionType.ACTION_NONE)
+ .done(getPrefContext());
+ screen.addPreference(pref);
+ }
}
public void onClick(View v) {
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index cc0e245..3ed9bee 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -34,7 +34,7 @@
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatterySipper.DrainType;
import com.android.internal.os.PowerProfile;
diff --git a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
new file mode 100644
index 0000000..cb36879
--- /dev/null
+++ b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
@@ -0,0 +1,64 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.core.lifecycle.Lifecycle;
+
+public class DoubleTapPowerPreferenceController extends GesturePreferenceController {
+
+ private static final String PREF_KEY_VIDEO = "gesture_double_tap_power_video";
+ private static final String PREF_KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power";
+
+ public DoubleTapPowerPreferenceController(Context context, Lifecycle lifecycle) {
+ super(context, lifecycle);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled);
+ }
+
+ @Override
+ protected String getVideoPrefKey() {
+ return PREF_KEY_VIDEO;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return PREF_KEY_DOUBLE_TAP_POWER;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ boolean enabled = (boolean) newValue;
+ Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, enabled ? 0 : 1);
+ return true;
+ }
+
+ @Override
+ protected boolean isSwitchPrefEnabled() {
+ final int cameraDisabled = Settings.Secure.getInt(mContext.getContentResolver(),
+ Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
+ return cameraDisabled == 0;
+ }
+}
diff --git a/src/com/android/settings/gestures/DoubleTapPowerSettings.java b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
new file mode 100644
index 0000000..521c665
--- /dev/null
+++ b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.gestures;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DoubleTapPowerSettings extends DashboardFragment {
+
+ private static final String TAG = "DoubleTapPower";
+
+ @Override
+ public int getMetricsCategory() {
+ return GESTURE_DOUBLE_TAP_POWER;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return null;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.double_tap_power_settings;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(new DoubleTapPowerPreferenceController(context, getLifecycle()));
+ return controllers;
+ }
+}
diff --git a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
new file mode 100644
index 0000000..722d66a
--- /dev/null
+++ b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
@@ -0,0 +1,70 @@
+/*
+ * 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.gestures;
+
+import android.annotation.UserIdInt;
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v7.preference.Preference;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+import com.android.settings.core.lifecycle.Lifecycle;
+
+public class DoubleTapScreenPreferenceController extends GesturePreferenceController {
+
+ private static final String PREF_KEY_VIDEO = "gesture_double_tap_screen_video";
+ private static final String PREF_KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen";
+
+ private final AmbientDisplayConfiguration mAmbientConfig;
+ @UserIdInt
+ private final int mUserId;
+
+ public DoubleTapScreenPreferenceController(Context context, Lifecycle lifecycle,
+ AmbientDisplayConfiguration config, @UserIdInt int userId) {
+ super(context, lifecycle);
+ mAmbientConfig = config;
+ mUserId = userId;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return mAmbientConfig.pulseOnDoubleTapAvailable();
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return PREF_KEY_DOUBLE_TAP_SCREEN;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final boolean enabled = (boolean) newValue;
+ Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP, enabled ? 1 : 0);
+ return true;
+ }
+
+ @Override
+ protected String getVideoPrefKey() {
+ return PREF_KEY_VIDEO;
+ }
+
+ @Override
+ protected boolean isSwitchPrefEnabled() {
+ return mAmbientConfig.pulseOnDoubleTapEnabled(mUserId);
+ }
+}
diff --git a/src/com/android/settings/gestures/DoubleTapScreenSettings.java b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
new file mode 100644
index 0000000..3c53947
--- /dev/null
+++ b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
@@ -0,0 +1,61 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DoubleTapScreenSettings extends DashboardFragment {
+
+ private static final String TAG = "DoubleTapScreen";
+
+ @Override
+ public int getMetricsCategory() {
+ return GESTURE_DOUBLE_TAP_SCREEN;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return null;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.double_tap_screen_settings;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(new DoubleTapScreenPreferenceController(context, getLifecycle(),
+ new AmbientDisplayConfiguration(context), UserHandle.myUserId()));
+ return controllers;
+ }
+}
diff --git a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
new file mode 100644
index 0000000..07b40bb
--- /dev/null
+++ b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.gestures;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DoubleTwistGestureSettings extends DashboardFragment {
+
+ private static final String TAG = "DoubleTwistGesture";
+
+ @Override
+ public int getMetricsCategory() {
+ return GESTURE_DOUBLE_TWIST;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return null;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.double_twist_gesture_settings;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(new DoubleTwistPreferenceController(context, getLifecycle()));
+ return controllers;
+ }
+}
diff --git a/src/com/android/settings/gestures/DoubleTwistPreferenceController.java b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
new file mode 100644
index 0000000..5192484
--- /dev/null
+++ b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.hardware.Sensor;
+import android.hardware.SensorManager;
+import android.provider.Settings;
+import android.support.v7.preference.Preference;
+import android.text.TextUtils;
+
+import com.android.settings.R;
+import com.android.settings.core.lifecycle.Lifecycle;
+
+public class DoubleTwistPreferenceController extends GesturePreferenceController {
+
+ private static final String PREF_KEY_VIDEO = "gesture_double_twist_video";
+ private static final String PREF_KEY_DOUBLE_TWIST = "gesture_double_twist";
+
+ public DoubleTwistPreferenceController(Context context, Lifecycle lifecycle) {
+ super(context, lifecycle);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return hasSensor(R.string.gesture_double_twist_sensor_name,
+ R.string.gesture_double_twist_sensor_vendor);
+ }
+
+ @Override
+ protected String getVideoPrefKey() {
+ return PREF_KEY_VIDEO;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return PREF_KEY_DOUBLE_TWIST;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final boolean enabled = (boolean) newValue;
+ Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, enabled ? 1 : 0);
+ return true;
+ }
+
+ @Override
+ protected boolean isSwitchPrefEnabled() {
+ final int doubleTwistEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
+ Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 1);
+ return doubleTwistEnabled != 0;
+ }
+
+ private boolean hasSensor(int nameResId, int vendorResId) {
+ final Resources resources = mContext.getResources();
+ final String name = resources.getString(nameResId);
+ final String vendor = resources.getString(vendorResId);
+ if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(vendor)) {
+ final SensorManager sensorManager =
+ (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
+ for (Sensor s : sensorManager.getSensorList(Sensor.TYPE_ALL)) {
+ if (name.equals(s.getName()) && vendor.equals(s.getVendor())) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/src/com/android/settings/gestures/GesturePreferenceController.java b/src/com/android/settings/gestures/GesturePreferenceController.java
new file mode 100644
index 0000000..345f7b7
--- /dev/null
+++ b/src/com/android/settings/gestures/GesturePreferenceController.java
@@ -0,0 +1,89 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.support.v7.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnStart;
+import com.android.settings.core.lifecycle.events.OnStop;
+import com.android.settings.widget.VideoPreference;
+
+public abstract class GesturePreferenceController extends PreferenceController
+ implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnStart, OnStop {
+
+ private VideoPreference mVideoPreference;
+
+ public GesturePreferenceController(Context context, Lifecycle lifecycle) {
+ super(context);
+ if (lifecycle != null) {
+ lifecycle.addObserver(this);
+ }
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ if (isAvailable()) {
+ mVideoPreference = (VideoPreference) screen.findPreference(getVideoPrefKey());
+ }
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ super.updateState(preference);
+ final boolean isEnabled = isSwitchPrefEnabled();
+ if (preference != null) {
+ if (preference instanceof TwoStatePreference) {
+ ((TwoStatePreference) preference).setChecked(isEnabled);
+ } else {
+ preference.setSummary(isEnabled
+ ? R.string.gesture_setting_on
+ : R.string.gesture_setting_off);
+ }
+ }
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public void onStop() {
+ if (mVideoPreference != null) {
+ mVideoPreference.onViewInvisible();
+ }
+ }
+
+ @Override
+ public void onStart() {
+ if (mVideoPreference != null) {
+ mVideoPreference.onViewVisible();
+ }
+ }
+
+ protected abstract String getVideoPrefKey();
+
+ protected abstract boolean isSwitchPrefEnabled();
+}
diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java
index c68d922..98ed5fb 100644
--- a/src/com/android/settings/gestures/GestureSettings.java
+++ b/src/com/android/settings/gestures/GestureSettings.java
@@ -17,24 +17,21 @@
package com.android.settings.gestures;
import android.content.Context;
-import android.content.res.Resources;
-import android.hardware.Sensor;
-import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.UserHandle;
import android.provider.SearchIndexableResource;
-import android.provider.Settings.Secure;
import android.support.v7.preference.Preference;
import android.support.v7.widget.RecyclerView;
-import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.internal.hardware.AmbientDisplayConfiguration;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -46,66 +43,40 @@
* This will create individual switch preference for each gesture and handle updates when each
* preference is updated
*/
-public class GestureSettings extends SettingsPreferenceFragment implements
- Preference.OnPreferenceChangeListener, Indexable {
+public class GestureSettings extends DashboardFragment {
private static final String TAG = "GestureSettings";
- private static final String PREF_KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power";
- private static final String PREF_KEY_DOUBLE_TWIST = "gesture_double_twist";
- private static final String PREF_KEY_PICK_UP = "gesture_pick_up";
- private static final String PREF_KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen";
- private static final String DEBUG_DOZE_COMPONENT = "debug.doze.component";
-
private List<GesturePreference> mPreferences;
- private SwipeToNotificationPreferenceController mSwipeToNotificationPreferenceController;
-
- private AmbientDisplayConfiguration mAmbientConfig;
@Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.gesture_settings);
- Context context = getActivity();
- mSwipeToNotificationPreferenceController =
- new SwipeToNotificationPreferenceController(context);
+ protected int getPreferenceScreenResId() {
+ return R.xml.gesture_settings;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final AmbientDisplayConfiguration ambientConfig = new AmbientDisplayConfiguration(context);
+ final List<PreferenceController> controllers = new ArrayList<>();
+ final Lifecycle lifecycle = getLifecycle();
+ controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle));
+ controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle));
+ controllers.add(new DoubleTwistPreferenceController(context, lifecycle));
+ controllers.add(new PickupGesturePreferenceController(
+ context, lifecycle, ambientConfig, UserHandle.myUserId()));
+ controllers.add(new DoubleTapScreenPreferenceController(
+ context, lifecycle, ambientConfig, UserHandle.myUserId()));
+ return controllers;
+ }
+
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ super.onCreatePreferences(savedInstanceState, rootKey);
mPreferences = new ArrayList();
-
- // Double tap power for camera
- if (isCameraDoubleTapPowerGestureAvailable(getResources())) {
- int cameraDisabled = Secure.getInt(
- getContentResolver(), Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
- addPreference(PREF_KEY_DOUBLE_TAP_POWER, cameraDisabled == 0);
- } else {
- removePreference(PREF_KEY_DOUBLE_TAP_POWER);
- }
-
- // Ambient Display
- mAmbientConfig = new AmbientDisplayConfiguration(context);
- if (mAmbientConfig.pulseOnPickupAvailable()) {
- boolean pickup = mAmbientConfig.pulseOnPickupEnabled(UserHandle.myUserId());
- addPreference(PREF_KEY_PICK_UP, pickup);
- } else {
- removePreference(PREF_KEY_PICK_UP);
- }
- if (mAmbientConfig.pulseOnDoubleTapAvailable()) {
- boolean doubleTap = mAmbientConfig.pulseOnDoubleTapEnabled(UserHandle.myUserId());
- addPreference(PREF_KEY_DOUBLE_TAP_SCREEN, doubleTap);
- } else {
- removePreference(PREF_KEY_DOUBLE_TAP_SCREEN);
- }
-
- // Fingerprint slide for notifications
- mSwipeToNotificationPreferenceController.displayPreference(getPreferenceScreen());
-
- // Double twist for camera mode
- if (isDoubleTwistAvailable(context)) {
- int doubleTwistEnabled = Secure.getInt(
- getContentResolver(), Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 1);
- addPreference(PREF_KEY_DOUBLE_TWIST, doubleTwistEnabled != 0);
- } else {
- removePreference(PREF_KEY_DOUBLE_TWIST);
- }
-
+ addPreferenceToTrackingList(SwipeToNotificationPreferenceController.class);
+ addPreferenceToTrackingList(DoubleTapScreenPreferenceController.class);
+ addPreferenceToTrackingList(DoubleTwistPreferenceController.class);
+ addPreferenceToTrackingList(PickupGesturePreferenceController.class);
+ addPreferenceToTrackingList(DoubleTapPowerPreferenceController.class);
}
@Override
@@ -135,13 +106,6 @@
}
@Override
- public void onResume() {
- super.onResume();
- mSwipeToNotificationPreferenceController.updateState(
- findPreference(mSwipeToNotificationPreferenceController.getPreferenceKey()));
- }
-
- @Override
public void onStart() {
super.onStart();
for (GesturePreference preference : mPreferences) {
@@ -158,21 +122,13 @@
}
@Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- boolean enabled = (boolean) newValue;
- String key = preference.getKey();
- if (PREF_KEY_DOUBLE_TAP_POWER.equals(key)) {
- Secure.putInt(getContentResolver(),
- Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, enabled ? 0 : 1);
- } else if (PREF_KEY_PICK_UP.equals(key)) {
- Secure.putInt(getContentResolver(), Secure.DOZE_PULSE_ON_PICK_UP, enabled ? 1 : 0);
- } else if (PREF_KEY_DOUBLE_TAP_SCREEN.equals(key)) {
- Secure.putInt(getContentResolver(), Secure.DOZE_PULSE_ON_DOUBLE_TAP, enabled ? 1 : 0);
- } else if (PREF_KEY_DOUBLE_TWIST.equals(key)) {
- Secure.putInt(getContentResolver(),
- Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, enabled ? 1 : 0);
- }
- return true;
+ protected String getCategoryKey() {
+ return null;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
}
@Override
@@ -185,37 +141,12 @@
return MetricsEvent.SETTINGS_GESTURES;
}
- private static boolean isCameraDoubleTapPowerGestureAvailable(Resources res) {
- return res.getBoolean(
- com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled);
- }
-
- private static boolean isDoubleTwistAvailable(Context context) {
- return hasSensor(context, R.string.gesture_double_twist_sensor_name,
- R.string.gesture_double_twist_sensor_vendor);
- }
-
- private static boolean hasSensor(Context context, int nameResId, int vendorResId) {
- Resources resources = context.getResources();
- String name = resources.getString(nameResId);
- String vendor = resources.getString(vendorResId);
- if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(vendor)) {
- SensorManager sensorManager =
- (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
- for (Sensor s : sensorManager.getSensorList(Sensor.TYPE_ALL)) {
- if (name.equals(s.getName()) && vendor.equals(s.getVendor())) {
- return true;
- }
- }
+ private <T extends PreferenceController> void addPreferenceToTrackingList(Class<T> clazz) {
+ final PreferenceController controller = getPreferenceController(clazz);
+ final Preference preference = findPreference(controller.getPreferenceKey());
+ if (preference != null && preference instanceof GesturePreference) {
+ mPreferences.add((GesturePreference) preference);
}
- return false;
- }
-
- private void addPreference(String key, boolean enabled) {
- GesturePreference preference = (GesturePreference) findPreference(key);
- preference.setChecked(enabled);
- preference.setOnPreferenceChangeListener(this);
- mPreferences.add(preference);
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
@@ -238,22 +169,19 @@
ArrayList<String> result = new ArrayList<String>();
AmbientDisplayConfiguration ambientConfig
= new AmbientDisplayConfiguration(context);
- if (!isCameraDoubleTapPowerGestureAvailable(context.getResources())) {
- result.add(PREF_KEY_DOUBLE_TAP_POWER);
- }
- if (!ambientConfig.pulseOnPickupAvailable()) {
- result.add(PREF_KEY_PICK_UP);
- }
- if (!ambientConfig.pulseOnDoubleTapAvailable()) {
- result.add(PREF_KEY_DOUBLE_TAP_SCREEN);
- }
- new SwipeToNotificationPreferenceController(context)
+ new DoubleTapPowerPreferenceController(context, null /* lifecycle */)
.updateNonIndexableKeys(result);
- if (!isDoubleTwistAvailable(context)) {
- result.add(PREF_KEY_DOUBLE_TWIST);
- }
+ new PickupGesturePreferenceController(
+ context, null /* lifecycle */, ambientConfig, UserHandle.myUserId())
+ .updateNonIndexableKeys(result);
+ new DoubleTapScreenPreferenceController(
+ context, null /* lifecycle */, ambientConfig, UserHandle.myUserId())
+ .updateNonIndexableKeys(result);
+ new SwipeToNotificationPreferenceController(context, null /* lifecycle */)
+ .updateNonIndexableKeys(result);
+ new DoubleTwistPreferenceController(context, null /* lifecycle */)
+ .updateNonIndexableKeys(result);
return result;
}
};
-
}
diff --git a/src/com/android/settings/gestures/PickupGesturePreferenceController.java b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
new file mode 100644
index 0000000..225e1d0
--- /dev/null
+++ b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
@@ -0,0 +1,71 @@
+/*
+ * 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.gestures;
+
+import android.annotation.UserIdInt;
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v7.preference.Preference;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+import com.android.settings.core.lifecycle.Lifecycle;
+
+public class PickupGesturePreferenceController extends GesturePreferenceController {
+
+ private static final String PREF_VIDEO_KEY = "gesture_pick_up_video";
+ private static final String PREF_KEY_PICK_UP = "gesture_pick_up";
+
+ private final AmbientDisplayConfiguration mAmbientConfig;
+ @UserIdInt
+ private final int mUserId;
+
+ public PickupGesturePreferenceController(Context context, Lifecycle lifecycle,
+ AmbientDisplayConfiguration config, @UserIdInt int userId) {
+ super(context, lifecycle);
+ mAmbientConfig = config;
+ mUserId = userId;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return mAmbientConfig.pulseOnPickupAvailable();
+ }
+
+ @Override
+ protected String getVideoPrefKey() {
+ return PREF_VIDEO_KEY;
+ }
+
+ @Override
+ protected boolean isSwitchPrefEnabled() {
+ return mAmbientConfig.pulseOnPickupEnabled(mUserId);
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return PREF_KEY_PICK_UP;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final boolean enabled = (boolean) newValue;
+ Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Secure.DOZE_PULSE_ON_PICK_UP, enabled ? 1 : 0);
+ return true;
+ }
+
+}
diff --git a/src/com/android/settings/gestures/PickupGestureSettings.java b/src/com/android/settings/gestures/PickupGestureSettings.java
new file mode 100644
index 0000000..1298dfe
--- /dev/null
+++ b/src/com/android/settings/gestures/PickupGestureSettings.java
@@ -0,0 +1,61 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PickupGestureSettings extends DashboardFragment {
+
+ private static final String TAG = "PickupGestureSettings";
+
+ @Override
+ public int getMetricsCategory() {
+ return GESTURE_PICKUP;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return null;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.pick_up_gesture_settings;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(new PickupGesturePreferenceController(context, getLifecycle(),
+ new AmbientDisplayConfiguration(context), UserHandle.myUserId()));
+ return controllers;
+ }
+}
diff --git a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
index 353eed8..01af974 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
@@ -19,17 +19,16 @@
import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
-import android.support.v7.preference.TwoStatePreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
-public class SwipeToNotificationPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public class SwipeToNotificationPreferenceController extends GesturePreferenceController {
+ private static final String PREF_KEY_VIDEO = "gesture_swipe_down_fingerprint_video";
private static final String PREF_KEY_SWIPE_DOWN_FINGERPRINT = "gesture_swipe_down_fingerprint";
- public SwipeToNotificationPreferenceController(Context context) {
- super(context);
+ public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle) {
+ super(context, lifecycle);
}
@Override
@@ -43,11 +42,8 @@
}
@Override
- public void updateState(Preference preference) {
- super.updateState(preference);
- if (preference != null && preference instanceof TwoStatePreference) {
- ((TwoStatePreference) preference).setChecked(isSystemUINavigationEnabled());
- }
+ protected String getVideoPrefKey() {
+ return PREF_KEY_VIDEO;
}
@Override
@@ -56,16 +52,17 @@
com.android.internal.R.bool.config_supportSystemNavigationKeys);
}
- private boolean isSystemUINavigationEnabled() {
- return Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 0)
- == 1;
- }
-
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, (boolean) newValue ? 1 : 0);
return true;
}
+
+ @Override
+ protected boolean isSwitchPrefEnabled() {
+ return Settings.Secure.getInt(mContext.getContentResolver(),
+ Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 0)
+ == 1;
+ }
}
diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
new file mode 100644
index 0000000..7eeba29
--- /dev/null
+++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.gestures;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SwipeToNotificationSettings extends DashboardFragment {
+
+ private static final String TAG = "SwipeToNotifSettings";
+
+ @Override
+ public int getMetricsCategory() {
+ return GESTURE_SWIPE_TO_NOTIFICATION;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return null;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.swipe_to_notification_settings;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(new SwipeToNotificationPreferenceController(context, getLifecycle()));
+ return controllers;
+ }
+}
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index afa9ed2..0dbab44 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -33,7 +33,7 @@
import android.support.v7.preference.PreferenceScreen;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/inputmethod/GameControllerPreferenceController.java b/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
new file mode 100644
index 0000000..f8232b8
--- /dev/null
+++ b/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
@@ -0,0 +1,131 @@
+/*
+ * 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.inputmethod;
+
+import android.content.Context;
+import android.hardware.input.InputManager;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.text.TextUtils;
+import android.view.InputDevice;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnPause;
+import com.android.settings.core.lifecycle.events.OnResume;
+
+public class GameControllerPreferenceController extends PreferenceController
+ implements InputManager.InputDeviceListener, LifecycleObserver, OnResume, OnPause {
+
+ public static final String PREF_KEY = "vibrate_input_devices";
+ private static final String CATEGORY_KEY = "game_controller_settings_category";
+
+ private final InputManager mIm;
+
+ private PreferenceScreen mScreen;
+ private Preference mCategory;
+ private Preference mPreference;
+
+ public GameControllerPreferenceController(Context context) {
+ super(context);
+ mIm = (InputManager) context.getSystemService(Context.INPUT_SERVICE);
+ }
+
+ @Override
+ public void onResume() {
+ mIm.registerInputDeviceListener(this, null);
+ }
+
+ @Override
+ public void onPause() {
+ mIm.unregisterInputDeviceListener(this);
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mScreen = screen;
+ mCategory = screen.findPreference(CATEGORY_KEY);
+ mPreference = screen.findPreference(PREF_KEY);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ final int[] devices = mIm.getInputDeviceIds();
+ for (int deviceId : devices) {
+ InputDevice device = mIm.getInputDevice(deviceId);
+ if (device != null && !device.isVirtual() && device.getVibrator().hasVibrator()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ if (TextUtils.equals(PREF_KEY, preference.getKey())) {
+ Settings.System.putInt(mContext.getContentResolver(),
+ Settings.System.VIBRATE_INPUT_DEVICES,
+ ((SwitchPreference) preference).isChecked() ? 1 : 0);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return CATEGORY_KEY;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (preference == null) {
+ return;
+ }
+ ((SwitchPreference) preference).setChecked(Settings.System.getInt(
+ mContext.getContentResolver(),
+ Settings.System.VIBRATE_INPUT_DEVICES, 1) > 0);
+ }
+
+ @Override
+ public void onInputDeviceAdded(int deviceId) {
+ updateGameControllers();
+ }
+
+ @Override
+ public void onInputDeviceRemoved(int deviceId) {
+ updateGameControllers();
+ }
+
+ @Override
+ public void onInputDeviceChanged(int deviceId) {
+ updateGameControllers();
+ }
+
+ private void updateGameControllers() {
+ if (isAvailable()) {
+ mScreen.addPreference(mCategory);
+ updateState(mPreference);
+ } else {
+ if (mCategory != null) {
+ mScreen.removePreference(mCategory);
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/inputmethod/InputAndGestureSettings.java b/src/com/android/settings/inputmethod/InputAndGestureSettings.java
new file mode 100644
index 0000000..eecfd31
--- /dev/null
+++ b/src/com/android/settings/inputmethod/InputAndGestureSettings.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.inputmethod;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.support.annotation.VisibleForTesting;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.gestures.DoubleTapPowerPreferenceController;
+import com.android.settings.gestures.DoubleTapScreenPreferenceController;
+import com.android.settings.gestures.DoubleTwistPreferenceController;
+import com.android.settings.gestures.PickupGesturePreferenceController;
+import com.android.settings.gestures.SwipeToNotificationPreferenceController;
+import com.android.settingslib.drawer.CategoryKey;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class InputAndGestureSettings extends DashboardFragment {
+
+ private static final String TAG = "InputAndGestureSettings";
+
+ private AmbientDisplayConfiguration mAmbientDisplayConfig;
+
+ @Override
+ public int getMetricsCategory() {
+ return INPUT_AND_GESTURE_CATEGORY_FRAGMENT;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return CategoryKey.CATEGORY_SYSTEM_INPUT;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.input_and_gesture;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final Lifecycle lifecycle = getLifecycle();
+ final GameControllerPreferenceController gameControllerPreferenceController
+ = new GameControllerPreferenceController(context);
+ getLifecycle().addObserver(gameControllerPreferenceController);
+
+ if (mAmbientDisplayConfig == null) {
+ mAmbientDisplayConfig = new AmbientDisplayConfiguration(context);
+ }
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(gameControllerPreferenceController);
+ // Gestures
+
+ controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle));
+ controllers.add(new DoubleTwistPreferenceController(context, lifecycle));
+ controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle));
+ controllers.add(new PickupGesturePreferenceController(
+ context, lifecycle, mAmbientDisplayConfig, UserHandle.myUserId()));
+ controllers.add(new DoubleTapScreenPreferenceController(
+ context, lifecycle, mAmbientDisplayConfig, UserHandle.myUserId()));
+ return controllers;
+ }
+
+ @VisibleForTesting
+ void setAmbientDisplayConfig(AmbientDisplayConfiguration ambientConfig) {
+ mAmbientDisplayConfig = ambientConfig;
+ }
+}
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index 98c11d3..44bf435 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -17,93 +17,51 @@
package com.android.settings.inputmethod;
import android.app.Activity;
-import android.app.Fragment;
-import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
-import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.content.pm.ServiceInfo;
-import android.content.res.Configuration;
-import android.database.ContentObserver;
import android.hardware.input.InputDeviceIdentifier;
import android.hardware.input.InputManager;
import android.hardware.input.KeyboardLayout;
-import android.os.Bundle;
-import android.os.Handler;
-import android.provider.Settings;
-import android.provider.Settings.System;
import android.speech.tts.TtsEngines;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
-import android.support.v7.preference.Preference.OnPreferenceClickListener;
-import android.support.v7.preference.PreferenceCategory;
-import android.support.v7.preference.PreferenceManager;
-import android.support.v7.preference.PreferenceScreen;
-import android.text.TextUtils;
import android.view.InputDevice;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.InputMethodSubtype;
-import android.view.textservice.SpellCheckerInfo;
-import android.view.textservice.TextServicesManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Settings.KeyboardLayoutPickerActivity;
-import com.android.settings.SettingsActivity;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.SubSettings;
-import com.android.settings.UserDictionarySettings;
import com.android.settings.Utils;
-import com.android.settings.VoiceInputOutputSettings;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.language.PhoneLanguagePreferenceController;
+import com.android.settings.language.TtsPreferenceController;
+import com.android.settings.language.UserDictionaryPreferenceController;
import com.android.settings.localepicker.LocaleFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.drawer.CategoryKey;
-import java.text.Collator;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
-import java.util.TreeSet;
-public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
- implements Preference.OnPreferenceChangeListener, InputManager.InputDeviceListener,
- KeyboardLayoutDialogFragment.OnSetupKeyboardLayoutsListener, Indexable,
- InputMethodPreference.OnSavePreferenceListener {
- private static final String KEY_SPELL_CHECKERS = "spellcheckers_settings";
- private static final String KEY_PHONE_LANGUAGE = "phone_language";
- private static final String KEY_CURRENT_INPUT_METHOD = "current_input_method";
- private static final String KEY_INPUT_METHOD_SELECTOR = "input_method_selector";
- private static final String KEY_USER_DICTIONARY_SETTINGS = "key_user_dictionary_settings";
- private static final String KEY_PREVIOUSLY_ENABLED_SUBTYPES = "previously_enabled_subtypes";
- // false: on ICS or later
- private static final boolean SHOW_INPUT_METHOD_SWITCHER_SETTINGS = false;
+/**
+ * @deprecated New features should use {@code InputAndGestureSettings} and
+ * {@code LanguageAndRegionSettings} instead.
+ */
+@Deprecated
+public class InputMethodAndLanguageSettings extends DashboardFragment
+ implements KeyboardLayoutDialogFragment.OnSetupKeyboardLayoutsListener, Indexable {
- private int mDefaultInputMethodSelectorVisibility = 0;
- private ListPreference mShowInputMethodSelectorPref;
- private PreferenceCategory mKeyboardSettingsCategory;
- private PreferenceCategory mHardKeyboardCategory;
- private PreferenceCategory mGameControllerCategory;
- private Preference mLanguagePref;
- private final ArrayList<InputMethodPreference> mInputMethodPreferenceList = new ArrayList<>();
- private final ArrayList<PreferenceScreen> mHardKeyboardPreferenceList = new ArrayList<>();
- private InputManager mIm;
- private InputMethodManager mImm;
- private boolean mShowsOnlyFullImeAndKeyboardList;
- private Handler mHandler;
- private SettingsObserver mSettingsObserver;
+ private static final String TAG = "IMEAndLanguageSetting";
+
private Intent mIntentWaitingForResult;
- private InputMethodSettingValuesWrapper mInputMethodSettingValues;
- private DevicePolicyManager mDpm;
@Override
public int getMetricsCategory() {
@@ -111,216 +69,33 @@
}
@Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
-
- addPreferencesFromResource(R.xml.language_settings);
-
- final Activity activity = getActivity();
- mImm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
- mInputMethodSettingValues = InputMethodSettingValuesWrapper.getInstance(activity);
-
- try {
- mDefaultInputMethodSelectorVisibility = Integer.valueOf(
- getString(R.string.input_method_selector_visibility_default_value));
- } catch (NumberFormatException e) {
- }
-
- if (activity.getAssets().getLocales().length == 1) {
- // No "Select language" pref if there's only one system locale available.
- getPreferenceScreen().removePreference(findPreference(KEY_PHONE_LANGUAGE));
- } else {
- mLanguagePref = findPreference(KEY_PHONE_LANGUAGE);
- }
- if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
- mShowInputMethodSelectorPref = (ListPreference)findPreference(
- KEY_INPUT_METHOD_SELECTOR);
- mShowInputMethodSelectorPref.setOnPreferenceChangeListener(this);
- // TODO: Update current input method name on summary
- updateInputMethodSelectorSummary(loadInputMethodSelectorVisibility());
- }
-
- new VoiceInputOutputSettings(this).onCreate();
-
- // Get references to dynamically constructed categories.
- mHardKeyboardCategory = (PreferenceCategory)findPreference("hard_keyboard");
- mKeyboardSettingsCategory = (PreferenceCategory)findPreference(
- "keyboard_settings_category");
- mGameControllerCategory = (PreferenceCategory)findPreference(
- "game_controller_settings_category");
-
- final Intent startingIntent = activity.getIntent();
- // Filter out irrelevant features if invoked from IME settings button.
- mShowsOnlyFullImeAndKeyboardList = Settings.ACTION_INPUT_METHOD_SETTINGS.equals(
- startingIntent.getAction());
- if (mShowsOnlyFullImeAndKeyboardList) {
- getPreferenceScreen().removeAll();
- if (mHardKeyboardCategory != null) {
- getPreferenceScreen().addPreference(mHardKeyboardCategory);
- }
- if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
- getPreferenceScreen().addPreference(mShowInputMethodSelectorPref);
- }
- if (mKeyboardSettingsCategory != null) {
- mKeyboardSettingsCategory.removeAll();
- getPreferenceScreen().addPreference(mKeyboardSettingsCategory);
- }
- }
-
- // Build hard keyboard and game controller preference categories.
- mIm = (InputManager)activity.getSystemService(Context.INPUT_SERVICE);
- updateInputDevices();
-
- // Spell Checker
- final Preference spellChecker = findPreference(KEY_SPELL_CHECKERS);
- if (spellChecker != null) {
- // Note: KEY_SPELL_CHECKERS preference is marked as persistent="false" in XML.
- InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference(spellChecker);
- final Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setClass(activity, SubSettings.class);
- intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT,
- SpellCheckersSettings.class.getName());
- intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID,
- R.string.spellcheckers_settings_title);
- spellChecker.setIntent(intent);
- }
-
- mHandler = new Handler();
- mSettingsObserver = new SettingsObserver(mHandler, activity);
- mDpm = (DevicePolicyManager) (getActivity().
- getSystemService(Context.DEVICE_POLICY_SERVICE));
-
- // If we've launched from the keyboard layout notification, go ahead and just show the
- // keyboard layout dialog.
- final InputDeviceIdentifier identifier =
- startingIntent.getParcelableExtra(Settings.EXTRA_INPUT_DEVICE_IDENTIFIER);
- if (mShowsOnlyFullImeAndKeyboardList && identifier != null) {
- showKeyboardLayoutDialog(identifier);
- }
- }
-
- private void updateInputMethodSelectorSummary(int value) {
- String[] inputMethodSelectorTitles = getResources().getStringArray(
- R.array.input_method_selector_titles);
- if (inputMethodSelectorTitles.length > value) {
- mShowInputMethodSelectorPref.setSummary(inputMethodSelectorTitles[value]);
- mShowInputMethodSelectorPref.setValue(String.valueOf(value));
- }
- }
-
- private void updateUserDictionaryPreference(Preference userDictionaryPreference) {
- final Activity activity = getActivity();
- final TreeSet<String> localeSet = UserDictionaryList.getUserDictionaryLocalesSet(activity);
- if (null == localeSet) {
- // The locale list is null if and only if the user dictionary service is
- // not present or disabled. In this case we need to remove the preference.
- getPreferenceScreen().removePreference(userDictionaryPreference);
- } else {
- userDictionaryPreference.setOnPreferenceClickListener(
- new OnPreferenceClickListener() {
- @Override
- public boolean onPreferenceClick(Preference arg0) {
- // Redirect to UserDictionarySettings if the user needs only one
- // language.
- final Bundle extras = new Bundle();
- final Class<? extends Fragment> targetFragment;
- if (localeSet.size() <= 1) {
- if (!localeSet.isEmpty()) {
- // If the size of localeList is 0, we don't set the locale
- // parameter in the extras. This will be interpreted by the
- // UserDictionarySettings class as meaning
- // "the current locale". Note that with the current code for
- // UserDictionaryList#getUserDictionaryLocalesSet()
- // the locale list always has at least one element, since it
- // always includes the current locale explicitly.
- // @see UserDictionaryList.getUserDictionaryLocalesSet().
- extras.putString("locale", localeSet.first());
- }
- targetFragment = UserDictionarySettings.class;
- } else {
- targetFragment = UserDictionaryList.class;
- }
- startFragment(InputMethodAndLanguageSettings.this,
- targetFragment.getCanonicalName(), -1, -1, extras);
- return true;
- }
- });
- }
+ protected String getCategoryKey() {
+ return CategoryKey.CATEGORY_SYSTEM_LANGUAGE;
}
@Override
- public void onResume() {
- super.onResume();
-
- mSettingsObserver.resume();
- mIm.registerInputDeviceListener(this, null);
-
- final Preference spellChecker = findPreference(KEY_SPELL_CHECKERS);
- if (spellChecker != null) {
- final TextServicesManager tsm = (TextServicesManager) getSystemService(
- Context.TEXT_SERVICES_MANAGER_SERVICE);
- if (!tsm.isSpellCheckerEnabled()) {
- spellChecker.setSummary(R.string.switch_off_text);
- } else {
- final SpellCheckerInfo sci = tsm.getCurrentSpellChecker();
- if (sci != null) {
- spellChecker.setSummary(sci.loadLabel(getPackageManager()));
- } else {
- spellChecker.setSummary(R.string.spell_checker_not_selected);
- }
- }
- }
-
- if (!mShowsOnlyFullImeAndKeyboardList) {
- if (mLanguagePref != null) {
- final String localeNames = FeatureFactory.getFactory(getContext())
- .getLocaleFeatureProvider().getLocaleNames();
- mLanguagePref.setSummary(localeNames);
- }
-
- updateUserDictionaryPreference(findPreference(KEY_USER_DICTIONARY_SETTINGS));
- if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
- mShowInputMethodSelectorPref.setOnPreferenceChangeListener(this);
- }
- }
-
- updateInputDevices();
-
- // Refresh internal states in mInputMethodSettingValues to keep the latest
- // "InputMethodInfo"s and "InputMethodSubtype"s
- mInputMethodSettingValues.refreshAllInputMethodAndSubtypes();
- updateInputMethodPreferenceViews();
+ protected String getLogTag() {
+ return TAG;
}
@Override
- public void onPause() {
- super.onPause();
-
- mIm.unregisterInputDeviceListener(this);
- mSettingsObserver.pause();
-
- if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
- mShowInputMethodSelectorPref.setOnPreferenceChangeListener(null);
- }
- // TODO: Consolidate the logic to InputMethodSettingsWrapper
- InputMethodAndSubtypeUtil.saveInputMethodSubtypeList(
- this, getContentResolver(), mInputMethodSettingValues.getInputMethodList(),
- !mHardKeyboardPreferenceList.isEmpty());
+ protected int getPreferenceScreenResId() {
+ return R.xml.language_settings;
}
@Override
- public void onInputDeviceAdded(int deviceId) {
- updateInputDevices();
- }
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final GameControllerPreferenceController gameControllerPreferenceController =
+ new GameControllerPreferenceController(context);
+ getLifecycle().addObserver(gameControllerPreferenceController);
- @Override
- public void onInputDeviceChanged(int deviceId) {
- updateInputDevices();
- }
-
- @Override
- public void onInputDeviceRemoved(int deviceId) {
- updateInputDevices();
+ final List<PreferenceController> list = new ArrayList<>();
+ list.add(gameControllerPreferenceController);
+ list.add(new PhoneLanguagePreferenceController(context));
+ list.add(new SpellCheckerPreferenceController(context));
+ list.add(new UserDictionaryPreferenceController(context));
+ list.add(new TtsPreferenceController(context, new TtsEngines(context)));
+ return list;
}
@Override
@@ -329,251 +104,9 @@
if (Utils.isMonkeyRunning()) {
return false;
}
- if (preference instanceof PreferenceScreen) {
- if (preference.getFragment() != null) {
- // Fragment will be handled correctly by the super class.
- } else if (KEY_CURRENT_INPUT_METHOD.equals(preference.getKey())) {
- final InputMethodManager imm = (InputMethodManager)
- getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.showInputMethodPicker(false /* showAuxiliarySubtypes */);
- }
- } else if (preference instanceof SwitchPreference) {
- final SwitchPreference pref = (SwitchPreference) preference;
- if (pref == mGameControllerCategory.findPreference("vibrate_input_devices")) {
- System.putInt(getContentResolver(), Settings.System.VIBRATE_INPUT_DEVICES,
- pref.isChecked() ? 1 : 0);
- return true;
- }
- }
return super.onPreferenceTreeClick(preference);
}
-
-
- private void saveInputMethodSelectorVisibility(String value) {
- try {
- int intValue = Integer.valueOf(value);
- Settings.Secure.putInt(getContentResolver(),
- Settings.Secure.INPUT_METHOD_SELECTOR_VISIBILITY, intValue);
- updateInputMethodSelectorSummary(intValue);
- } catch(NumberFormatException e) {
- }
- }
-
- private int loadInputMethodSelectorVisibility() {
- return Settings.Secure.getInt(getContentResolver(),
- Settings.Secure.INPUT_METHOD_SELECTOR_VISIBILITY,
- mDefaultInputMethodSelectorVisibility);
- }
-
- @Override
- public boolean onPreferenceChange(Preference preference, Object value) {
- if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
- if (preference == mShowInputMethodSelectorPref) {
- if (value instanceof String) {
- saveInputMethodSelectorVisibility((String)value);
- }
- }
- }
- return false;
- }
-
- private void updateInputMethodPreferenceViews() {
- if (mKeyboardSettingsCategory == null) {
- return;
- }
-
- synchronized (mInputMethodPreferenceList) {
- // Clear existing "InputMethodPreference"s
- for (final InputMethodPreference pref : mInputMethodPreferenceList) {
- mKeyboardSettingsCategory.removePreference(pref);
- }
- mInputMethodPreferenceList.clear();
- List<String> permittedList = mDpm.getPermittedInputMethodsForCurrentUser();
- final Context context = getPrefContext();
- final List<InputMethodInfo> imis = mShowsOnlyFullImeAndKeyboardList
- ? mInputMethodSettingValues.getInputMethodList()
- : mImm.getEnabledInputMethodList();
- final int N = (imis == null ? 0 : imis.size());
- for (int i = 0; i < N; ++i) {
- final InputMethodInfo imi = imis.get(i);
- final boolean isAllowedByOrganization = permittedList == null
- || permittedList.contains(imi.getPackageName());
- final InputMethodPreference pref = new InputMethodPreference(
- context, imi, mShowsOnlyFullImeAndKeyboardList /* hasSwitch */,
- isAllowedByOrganization, this);
- mInputMethodPreferenceList.add(pref);
- }
- final Collator collator = Collator.getInstance();
- Collections.sort(mInputMethodPreferenceList, new Comparator<InputMethodPreference>() {
- @Override
- public int compare(InputMethodPreference lhs, InputMethodPreference rhs) {
- return lhs.compareTo(rhs, collator);
- }
- });
- for (int i = 0; i < N; ++i) {
- final InputMethodPreference pref = mInputMethodPreferenceList.get(i);
- mKeyboardSettingsCategory.addPreference(pref);
- InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference(pref);
- pref.updatePreferenceViews();
- }
- }
- updateCurrentImeName();
- // TODO: Consolidate the logic with InputMethodSettingsWrapper
- // CAVEAT: The preference class here does not know about the default value - that is
- // managed by the Input Method Manager Service, so in this case it could save the wrong
- // value. Hence we must update the checkboxes here.
- InputMethodAndSubtypeUtil.loadInputMethodSubtypeList(
- this, getContentResolver(),
- mInputMethodSettingValues.getInputMethodList(), null);
- }
-
- @Override
- public void onSaveInputMethodPreference(final InputMethodPreference pref) {
- final InputMethodInfo imi = pref.getInputMethodInfo();
- if (!pref.isChecked()) {
- // An IME is being disabled. Save enabled subtypes of the IME to shared preference to be
- // able to re-enable these subtypes when the IME gets re-enabled.
- saveEnabledSubtypesOf(imi);
- }
- final boolean hasHardwareKeyboard = getResources().getConfiguration().keyboard
- == Configuration.KEYBOARD_QWERTY;
- InputMethodAndSubtypeUtil.saveInputMethodSubtypeList(this, getContentResolver(),
- mImm.getInputMethodList(), hasHardwareKeyboard);
- // Update input method settings and preference list.
- mInputMethodSettingValues.refreshAllInputMethodAndSubtypes();
- if (pref.isChecked()) {
- // An IME is being enabled. Load the previously enabled subtypes from shared preference
- // and enable these subtypes.
- restorePreviouslyEnabledSubtypesOf(imi);
- }
- for (final InputMethodPreference p : mInputMethodPreferenceList) {
- p.updatePreferenceViews();
- }
- }
-
- private void saveEnabledSubtypesOf(final InputMethodInfo imi) {
- final HashSet<String> enabledSubtypeIdSet = new HashSet<>();
- final List<InputMethodSubtype> enabledSubtypes = mImm.getEnabledInputMethodSubtypeList(
- imi, true /* allowsImplicitlySelectedSubtypes */);
- for (final InputMethodSubtype subtype : enabledSubtypes) {
- final String subtypeId = Integer.toString(subtype.hashCode());
- enabledSubtypeIdSet.add(subtypeId);
- }
- final HashMap<String, HashSet<String>> imeToEnabledSubtypeIdsMap =
- loadPreviouslyEnabledSubtypeIdsMap();
- final String imiId = imi.getId();
- imeToEnabledSubtypeIdsMap.put(imiId, enabledSubtypeIdSet);
- savePreviouslyEnabledSubtypeIdsMap(imeToEnabledSubtypeIdsMap);
- }
-
- private void restorePreviouslyEnabledSubtypesOf(final InputMethodInfo imi) {
- final HashMap<String, HashSet<String>> imeToEnabledSubtypeIdsMap =
- loadPreviouslyEnabledSubtypeIdsMap();
- final String imiId = imi.getId();
- final HashSet<String> enabledSubtypeIdSet = imeToEnabledSubtypeIdsMap.remove(imiId);
- if (enabledSubtypeIdSet == null) {
- return;
- }
- savePreviouslyEnabledSubtypeIdsMap(imeToEnabledSubtypeIdsMap);
- InputMethodAndSubtypeUtil.enableInputMethodSubtypesOf(
- getContentResolver(), imiId, enabledSubtypeIdSet);
- }
-
- private HashMap<String, HashSet<String>> loadPreviouslyEnabledSubtypeIdsMap() {
- final Context context = getActivity();
- final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
- final String imesAndSubtypesString = prefs.getString(KEY_PREVIOUSLY_ENABLED_SUBTYPES, null);
- return InputMethodAndSubtypeUtil.parseInputMethodsAndSubtypesString(imesAndSubtypesString);
- }
-
- private void savePreviouslyEnabledSubtypeIdsMap(
- final HashMap<String, HashSet<String>> subtypesMap) {
- final Context context = getActivity();
- final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
- final String imesAndSubtypesString = InputMethodAndSubtypeUtil
- .buildInputMethodsAndSubtypesString(subtypesMap);
- prefs.edit().putString(KEY_PREVIOUSLY_ENABLED_SUBTYPES, imesAndSubtypesString).apply();
- }
-
- private void updateCurrentImeName() {
- final Context context = getActivity();
- if (context == null || mImm == null) return;
- final Preference curPref = getPreferenceScreen().findPreference(KEY_CURRENT_INPUT_METHOD);
- if (curPref != null) {
- final CharSequence curIme =
- mInputMethodSettingValues.getCurrentInputMethodName(context);
- if (!TextUtils.isEmpty(curIme)) {
- synchronized (this) {
- curPref.setSummary(curIme);
- }
- }
- }
- }
-
- private void updateInputDevices() {
- updateHardKeyboards();
- updateGameControllers();
- }
-
- private void updateHardKeyboards() {
- if (mHardKeyboardCategory == null) {
- return;
- }
-
- mHardKeyboardPreferenceList.clear();
- final int[] devices = InputDevice.getDeviceIds();
- for (int i = 0; i < devices.length; i++) {
- InputDevice device = InputDevice.getDevice(devices[i]);
- if (device != null
- && !device.isVirtual()
- && device.isFullKeyboard()) {
- final InputDeviceIdentifier identifier = device.getIdentifier();
- final String keyboardLayoutDescriptor =
- mIm.getCurrentKeyboardLayoutForInputDevice(identifier);
- final KeyboardLayout keyboardLayout = keyboardLayoutDescriptor != null ?
- mIm.getKeyboardLayout(keyboardLayoutDescriptor) : null;
-
- final PreferenceScreen pref = new PreferenceScreen(getPrefContext(), null);
- pref.setTitle(device.getName());
- if (keyboardLayout != null) {
- pref.setSummary(keyboardLayout.toString());
- } else {
- pref.setSummary(R.string.keyboard_layout_default_label);
- }
- pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
- @Override
- public boolean onPreferenceClick(Preference preference) {
- showKeyboardLayoutDialog(identifier);
- return true;
- }
- });
- mHardKeyboardPreferenceList.add(pref);
- }
- }
-
- if (!mHardKeyboardPreferenceList.isEmpty()) {
- for (int i = mHardKeyboardCategory.getPreferenceCount(); i-- > 0; ) {
- final Preference pref = mHardKeyboardCategory.getPreference(i);
- if (pref.getOrder() < 1000) {
- mHardKeyboardCategory.removePreference(pref);
- }
- }
-
- Collections.sort(mHardKeyboardPreferenceList);
- final int count = mHardKeyboardPreferenceList.size();
- for (int i = 0; i < count; i++) {
- final Preference pref = mHardKeyboardPreferenceList.get(i);
- pref.setOrder(i);
- mHardKeyboardCategory.addPreference(pref);
- }
-
- getPreferenceScreen().addPreference(mHardKeyboardCategory);
- } else {
- getPreferenceScreen().removePreference(mHardKeyboardCategory);
- }
- }
-
private void showKeyboardLayoutDialog(InputDeviceIdentifier inputDeviceIdentifier) {
KeyboardLayoutDialogFragment fragment = (KeyboardLayoutDialogFragment)
getFragmentManager().findFragmentByTag("keyboardLayout");
@@ -606,63 +139,12 @@
}
}
- private void updateGameControllers() {
- if (haveInputDeviceWithVibrator()) {
- getPreferenceScreen().addPreference(mGameControllerCategory);
-
- SwitchPreference pref = (SwitchPreference)
- mGameControllerCategory.findPreference("vibrate_input_devices");
- pref.setChecked(System.getInt(getContentResolver(),
- Settings.System.VIBRATE_INPUT_DEVICES, 1) > 0);
- } else {
- getPreferenceScreen().removePreference(mGameControllerCategory);
- }
- }
-
- private static boolean haveInputDeviceWithVibrator() {
- final int[] devices = InputDevice.getDeviceIds();
- for (int i = 0; i < devices.length; i++) {
- InputDevice device = InputDevice.getDevice(devices[i]);
- if (device != null && !device.isVirtual() && device.getVibrator().hasVibrator()) {
- return true;
- }
- }
- return false;
- }
-
- private class SettingsObserver extends ContentObserver {
- private Context mContext;
-
- public SettingsObserver(Handler handler, Context context) {
- super(handler);
- mContext = context;
- }
-
- @Override public void onChange(boolean selfChange) {
- updateCurrentImeName();
- }
-
- public void resume() {
- final ContentResolver cr = mContext.getContentResolver();
- cr.registerContentObserver(
- Settings.Secure.getUriFor(Settings.Secure.DEFAULT_INPUT_METHOD), false, this);
- cr.registerContentObserver(Settings.Secure.getUriFor(
- Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE), false, this);
- }
-
- public void pause() {
- mContext.getContentResolver().unregisterContentObserver(this);
- }
- }
-
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
- private final Context mContext;
private final SummaryLoader mSummaryLoader;
private LocaleFeatureProvider mLocaleFeatureProvider;
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
- mContext = context;
mSummaryLoader = summaryLoader;
mLocaleFeatureProvider = FeatureFactory.getFactory(context).getLocaleFeatureProvider();
}
@@ -680,7 +162,7 @@
= new SummaryLoader.SummaryProviderFactory() {
@Override
public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
- SummaryLoader summaryLoader) {
+ SummaryLoader summaryLoader) {
return new SummaryProvider(activity, summaryLoader);
}
};
@@ -694,11 +176,13 @@
final String screenTitle = context.getString(R.string.language_keyboard_settings_title);
// Locale picker.
- if (context.getAssets().getLocales().length > 1) {
+ final PhoneLanguagePreferenceController mLanguagePrefController =
+ new PhoneLanguagePreferenceController(context);
+ if (mLanguagePrefController.isAvailable()) {
String localeNames = FeatureFactory.getFactory(context).getLocaleFeatureProvider()
.getLocaleNames();
SearchIndexableRaw indexable = new SearchIndexableRaw(context);
- indexable.key = KEY_PHONE_LANGUAGE;
+ indexable.key = mLanguagePrefController.getPreferenceKey();
indexable.title = context.getString(R.string.phone_language);
indexable.summaryOn = localeNames;
indexable.summaryOff = localeNames;
@@ -708,7 +192,7 @@
// Spell checker.
SearchIndexableRaw indexable = new SearchIndexableRaw(context);
- indexable.key = KEY_SPELL_CHECKERS;
+ indexable.key = SpellCheckerPreferenceController.KEY_SPELL_CHECKERS;
indexable.title = context.getString(R.string.spellcheckers_settings_title);
indexable.screenTitle = screenTitle;
indexable.keywords = context.getString(R.string.keywords_spell_checker);
@@ -735,16 +219,6 @@
.getInstance(context);
immValues.refreshAllInputMethodAndSubtypes();
- // Current IME.
- String currImeName = immValues.getCurrentInputMethodName(context).toString();
- indexable = new SearchIndexableRaw(context);
- indexable.key = KEY_CURRENT_INPUT_METHOD;
- indexable.title = context.getString(R.string.current_input_method);
- indexable.summaryOn = currImeName;
- indexable.summaryOff = currImeName;
- indexable.screenTitle = screenTitle;
- indexables.add(indexable);
-
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(
Context.INPUT_METHOD_SERVICE);
@@ -811,8 +285,7 @@
// Hard keyboard category.
indexable = new SearchIndexableRaw(context);
indexable.key = "builtin_keyboard_settings";
- indexable.title = context.getString(
- R.string.builtin_keyboard_settings_title);
+ indexable.title = context.getString(R.string.builtin_keyboard_settings_title);
indexable.screenTitle = screenTitle;
indexables.add(indexable);
}
@@ -842,9 +315,9 @@
indexables.add(indexable);
// Game controllers.
- if (haveInputDeviceWithVibrator()) {
+ if (!new GameControllerPreferenceController(context).isAvailable()) {
indexable = new SearchIndexableRaw(context);
- indexable.key = "vibrate_input_devices";
+ indexable.key = GameControllerPreferenceController.PREF_KEY;
indexable.title = context.getString(R.string.vibrate_input_devices);
indexable.summaryOn = context.getString(R.string.vibrate_input_devices_summary);
indexable.summaryOff = context.getString(R.string.vibrate_input_devices_summary);
diff --git a/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java b/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java
index d1454cc..a47daa1 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java
@@ -31,7 +31,7 @@
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.InputMethodSubtype;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
index 24bdd61..3a62d0e 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
@@ -40,7 +40,7 @@
import android.widget.RadioButton;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java
index 1b51c3c..80d3531 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,32 +16,43 @@
package com.android.settings.inputmethod;
-import android.content.Context;
+import android.annotation.Nullable;
+import android.app.Activity;
import android.hardware.input.InputDeviceIdentifier;
import android.hardware.input.InputManager;
import android.hardware.input.InputManager.InputDeviceListener;
import android.hardware.input.KeyboardLayout;
import android.os.Bundle;
-import android.support.v7.preference.CheckBoxPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.view.InputDevice;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodSubtype;
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.util.Preconditions;
+import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.inputmethod.PhysicalKeyboardFragment.KeyboardInfoPreference;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
-public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
+public final class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
implements InputDeviceListener {
+
private InputDeviceIdentifier mInputDeviceIdentifier;
private int mInputDeviceId = -1;
private InputManager mIm;
+ private InputMethodInfo mImi;
+ @Nullable
+ private InputMethodSubtype mSubtype;
private KeyboardLayout[] mKeyboardLayouts;
- private HashMap<CheckBoxPreference, KeyboardLayout> mPreferenceMap =
- new HashMap<CheckBoxPreference, KeyboardLayout>();
+ private Map<Preference, KeyboardLayout> mPreferenceMap = new HashMap<>();
+
+ // TODO: Make these constants public API for b/25752827
/**
* Intent extra: The input device descriptor of the keyboard whose keyboard
@@ -49,6 +60,16 @@
*/
public static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier";
+ /**
+ * Intent extra: The associated {@link InputMethodInfo}.
+ */
+ public static final String EXTRA_INPUT_METHOD_INFO = "input_method_info";
+
+ /**
+ * Intent extra: The associated {@link InputMethodSubtype}.
+ */
+ public static final String EXTRA_INPUT_METHOD_SUBTYPE = "input_method_subtype";
+
@Override
public int getMetricsCategory() {
return MetricsEvent.INPUTMETHOD_KEYBOARD;
@@ -57,14 +78,18 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ Activity activity = Preconditions.checkNotNull(getActivity());
- mInputDeviceIdentifier = getActivity().getIntent().getParcelableExtra(
+ mInputDeviceIdentifier = activity.getIntent().getParcelableExtra(
EXTRA_INPUT_DEVICE_IDENTIFIER);
- if (mInputDeviceIdentifier == null) {
- getActivity().finish();
+ mImi = activity.getIntent().getParcelableExtra(EXTRA_INPUT_METHOD_INFO);
+ mSubtype = activity.getIntent().getParcelableExtra(EXTRA_INPUT_METHOD_SUBTYPE);
+
+ if (mInputDeviceIdentifier == null || mImi == null) {
+ activity.finish();
}
- mIm = (InputManager)getSystemService(Context.INPUT_SERVICE);
+ mIm = activity.getSystemService(InputManager.class);
mKeyboardLayouts = mIm.getKeyboardLayoutsForInputDevice(mInputDeviceIdentifier);
Arrays.sort(mKeyboardLayouts);
setPreferenceScreen(createPreferenceHierarchy());
@@ -83,8 +108,6 @@
return;
}
mInputDeviceId = inputDevice.getId();
-
- updateCheckedState();
}
@Override
@@ -97,34 +120,21 @@
@Override
public boolean onPreferenceTreeClick(Preference preference) {
- if (preference instanceof CheckBoxPreference) {
- CheckBoxPreference checkboxPref = (CheckBoxPreference)preference;
- KeyboardLayout layout = mPreferenceMap.get(checkboxPref);
- if (layout != null) {
- boolean checked = checkboxPref.isChecked();
- if (checked) {
- mIm.addKeyboardLayoutForInputDevice(mInputDeviceIdentifier,
- layout.getDescriptor());
- } else {
- mIm.removeKeyboardLayoutForInputDevice(mInputDeviceIdentifier,
- layout.getDescriptor());
- }
- return true;
- }
+ KeyboardLayout layout = mPreferenceMap.get(preference);
+ if (layout != null) {
+ mIm.setKeyboardLayoutForInputDevice(mInputDeviceIdentifier, mImi, mSubtype,
+ layout.getDescriptor());
+ getActivity().finish();
+ return true;
}
return super.onPreferenceTreeClick(preference);
}
@Override
- public void onInputDeviceAdded(int deviceId) {
- }
+ public void onInputDeviceAdded(int deviceId) {}
@Override
- public void onInputDeviceChanged(int deviceId) {
- if (mInputDeviceId >= 0 && deviceId == mInputDeviceId) {
- updateCheckedState();
- }
- }
+ public void onInputDeviceChanged(int deviceId) {}
@Override
public void onInputDeviceRemoved(int deviceId) {
@@ -135,26 +145,16 @@
private PreferenceScreen createPreferenceHierarchy() {
PreferenceScreen root = getPreferenceManager().createPreferenceScreen(getActivity());
- Context context = getActivity();
for (KeyboardLayout layout : mKeyboardLayouts) {
- CheckBoxPreference pref = new CheckBoxPreference(getPrefContext());
+ Preference pref = new Preference(getPrefContext());
pref.setTitle(layout.getLabel());
pref.setSummary(layout.getCollection());
root.addPreference(pref);
mPreferenceMap.put(pref, layout);
}
+
+ root.setTitle(KeyboardInfoPreference.getDisplayName(getContext(), mImi, mSubtype));
return root;
}
-
- private void updateCheckedState() {
- String[] enabledKeyboardLayouts = mIm.getEnabledKeyboardLayoutsForInputDevice(
- mInputDeviceIdentifier);
- Arrays.sort(enabledKeyboardLayouts);
-
- for (Map.Entry<CheckBoxPreference, KeyboardLayout> entry : mPreferenceMap.entrySet()) {
- entry.getKey().setChecked(Arrays.binarySearch(enabledKeyboardLayouts,
- entry.getValue().getDescriptor()) >= 0);
- }
- }
}
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment2.java b/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment2.java
deleted file mode 100644
index 2e43a57..0000000
--- a/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment2.java
+++ /dev/null
@@ -1,160 +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.inputmethod;
-
-import android.annotation.Nullable;
-import android.app.Activity;
-import android.hardware.input.InputDeviceIdentifier;
-import android.hardware.input.InputManager;
-import android.hardware.input.InputManager.InputDeviceListener;
-import android.hardware.input.KeyboardLayout;
-import android.os.Bundle;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
-import android.view.InputDevice;
-
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodSubtype;
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
-import com.android.internal.util.Preconditions;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.inputmethod.PhysicalKeyboardFragment.KeyboardInfoPreference;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
-public final class KeyboardLayoutPickerFragment2 extends SettingsPreferenceFragment
- implements InputDeviceListener {
-
- private InputDeviceIdentifier mInputDeviceIdentifier;
- private int mInputDeviceId = -1;
- private InputManager mIm;
- private InputMethodInfo mImi;
- @Nullable
- private InputMethodSubtype mSubtype;
- private KeyboardLayout[] mKeyboardLayouts;
- private Map<Preference, KeyboardLayout> mPreferenceMap = new HashMap<>();
-
- // TODO: Make these constants public API for b/25752827
-
- /**
- * Intent extra: The input device descriptor of the keyboard whose keyboard
- * layout is to be changed.
- */
- public static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier";
-
- /**
- * Intent extra: The associated {@link InputMethodInfo}.
- */
- public static final String EXTRA_INPUT_METHOD_INFO = "input_method_info";
-
- /**
- * Intent extra: The associated {@link InputMethodSubtype}.
- */
- public static final String EXTRA_INPUT_METHOD_SUBTYPE = "input_method_subtype";
-
- @Override
- public int getMetricsCategory() {
- return MetricsEvent.INPUTMETHOD_KEYBOARD;
- }
-
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- Activity activity = Preconditions.checkNotNull(getActivity());
-
- mInputDeviceIdentifier = activity.getIntent().getParcelableExtra(
- EXTRA_INPUT_DEVICE_IDENTIFIER);
- mImi = activity.getIntent().getParcelableExtra(EXTRA_INPUT_METHOD_INFO);
- mSubtype = activity.getIntent().getParcelableExtra(EXTRA_INPUT_METHOD_SUBTYPE);
-
- if (mInputDeviceIdentifier == null || mImi == null) {
- activity.finish();
- }
-
- mIm = activity.getSystemService(InputManager.class);
- mKeyboardLayouts = mIm.getKeyboardLayoutsForInputDevice(mInputDeviceIdentifier);
- Arrays.sort(mKeyboardLayouts);
- setPreferenceScreen(createPreferenceHierarchy());
- }
-
- @Override
- public void onResume() {
- super.onResume();
-
- mIm.registerInputDeviceListener(this, null);
-
- InputDevice inputDevice =
- mIm.getInputDeviceByDescriptor(mInputDeviceIdentifier.getDescriptor());
- if (inputDevice == null) {
- getActivity().finish();
- return;
- }
- mInputDeviceId = inputDevice.getId();
- }
-
- @Override
- public void onPause() {
- mIm.unregisterInputDeviceListener(this);
- mInputDeviceId = -1;
-
- super.onPause();
- }
-
- @Override
- public boolean onPreferenceTreeClick(Preference preference) {
- KeyboardLayout layout = mPreferenceMap.get(preference);
- if (layout != null) {
- mIm.setKeyboardLayoutForInputDevice(mInputDeviceIdentifier, mImi, mSubtype,
- layout.getDescriptor());
- getActivity().finish();
- return true;
- }
- return super.onPreferenceTreeClick(preference);
- }
-
- @Override
- public void onInputDeviceAdded(int deviceId) {}
-
- @Override
- public void onInputDeviceChanged(int deviceId) {}
-
- @Override
- public void onInputDeviceRemoved(int deviceId) {
- if (mInputDeviceId >= 0 && deviceId == mInputDeviceId) {
- getActivity().finish();
- }
- }
-
- private PreferenceScreen createPreferenceHierarchy() {
- PreferenceScreen root = getPreferenceManager().createPreferenceScreen(getActivity());
-
- for (KeyboardLayout layout : mKeyboardLayouts) {
- Preference pref = new Preference(getPrefContext());
- pref.setTitle(layout.getLabel());
- pref.setSummary(layout.getCollection());
- root.addPreference(pref);
- mPreferenceMap.put(pref, layout);
- }
-
- root.setTitle(KeyboardInfoPreference.getDisplayName(getContext(), mImi, mSubtype));
- return root;
- }
-}
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index bca656a..5dd5ca1 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -44,7 +44,7 @@
import android.view.inputmethod.InputMethodSubtype;
import com.android.internal.inputmethod.InputMethodUtils;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.Preconditions;
import com.android.settings.R;
import com.android.settings.Settings;
@@ -225,10 +225,10 @@
@Nullable InputMethodSubtype imSubtype) {
final Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClass(getActivity(), Settings.KeyboardLayoutPickerActivity.class);
- intent.putExtra(KeyboardLayoutPickerFragment2.EXTRA_INPUT_DEVICE_IDENTIFIER,
+ intent.putExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER,
inputDeviceIdentifier);
- intent.putExtra(KeyboardLayoutPickerFragment2.EXTRA_INPUT_METHOD_INFO, imi);
- intent.putExtra(KeyboardLayoutPickerFragment2.EXTRA_INPUT_METHOD_SUBTYPE, imSubtype);
+ intent.putExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_METHOD_INFO, imi);
+ intent.putExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_METHOD_SUBTYPE, imSubtype);
startActivity(intent);
}
diff --git a/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java b/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
new file mode 100644
index 0000000..17d3fdc
--- /dev/null
+++ b/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
@@ -0,0 +1,80 @@
+/*
+ * 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.inputmethod;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.view.textservice.SpellCheckerInfo;
+import android.view.textservice.TextServicesManager;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+
+public class SpellCheckerPreferenceController extends PreferenceController {
+
+ public static final String KEY_SPELL_CHECKERS = "spellcheckers_settings";
+
+ private final TextServicesManager mTextServicesManager;
+
+ public SpellCheckerPreferenceController(Context context) {
+ super(context);
+ mTextServicesManager = (TextServicesManager) context.getSystemService(
+ Context.TEXT_SERVICES_MANAGER_SERVICE);
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ final Preference preference = screen.findPreference(KEY_SPELL_CHECKERS);
+ if (preference != null) {
+ InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference(preference);
+ }
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return true;
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_SPELL_CHECKERS;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (preference == null) {
+ return;
+ }
+ if (!mTextServicesManager.isSpellCheckerEnabled()) {
+ preference.setSummary(R.string.switch_off_text);
+ } else {
+ final SpellCheckerInfo sci = mTextServicesManager.getCurrentSpellChecker();
+ if (sci != null) {
+ preference.setSummary(sci.loadLabel(mContext.getPackageManager()));
+ } else {
+ preference.setSummary(R.string.spell_checker_not_selected);
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/inputmethod/SpellCheckersSettings.java b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
index f431736..e21ced1 100644
--- a/src/com/android/settings/inputmethod/SpellCheckersSettings.java
+++ b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
@@ -31,7 +31,7 @@
import android.view.textservice.TextServicesManager;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
index b16c3db..65b40a3 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
@@ -26,7 +26,7 @@
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/inputmethod/UserDictionaryList.java b/src/com/android/settings/inputmethod/UserDictionaryList.java
index 28ff2a6..b8e87ef 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryList.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryList.java
@@ -29,7 +29,7 @@
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.InputMethodSubtype;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
index 7175539..24c2ebc 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
@@ -26,7 +26,7 @@
import android.support.v7.preference.Preference;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.Preconditions;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/language/LanguageAndRegionSettings.java b/src/com/android/settings/language/LanguageAndRegionSettings.java
new file mode 100644
index 0000000..5741255
--- /dev/null
+++ b/src/com/android/settings/language/LanguageAndRegionSettings.java
@@ -0,0 +1,65 @@
+/*
+ * 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.language;
+
+import android.content.Context;
+import android.speech.tts.TtsEngines;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.inputmethod.SpellCheckerPreferenceController;
+import com.android.settingslib.drawer.CategoryKey;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class LanguageAndRegionSettings extends DashboardFragment {
+
+ private static final String TAG = "LangAndRegionSettings";
+
+ @Override
+ public int getMetricsCategory() {
+ return LANGUAGE_AND_REGION_CATEGORY_FRAGMENT;
+ }
+
+ @Override
+ protected String getCategoryKey() {
+ return CategoryKey.CATEGORY_SYSTEM_LANGUAGE;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.language_and_region;
+ }
+
+ @Override
+ protected List<PreferenceController> getPreferenceControllers(Context context) {
+ final List<PreferenceController> controllers = new ArrayList<>();
+ controllers.add(new PhoneLanguagePreferenceController(context));
+ controllers.add(new SpellCheckerPreferenceController(context));
+ controllers.add(new UserDictionaryPreferenceController(context));
+ controllers.add(new TtsPreferenceController(context, new TtsEngines(context)));
+ return controllers;
+ }
+
+}
diff --git a/src/com/android/settings/language/PhoneLanguagePreferenceController.java b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
new file mode 100644
index 0000000..2b87fd9
--- /dev/null
+++ b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.language;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+
+public class PhoneLanguagePreferenceController extends PreferenceController {
+
+ private static final String KEY_PHONE_LANGUAGE = "phone_language";
+
+ public PhoneLanguagePreferenceController(Context context) {
+ super(context);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return mContext.getAssets().getLocales().length > 1;
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (preference == null) {
+ return;
+ }
+ final String localeNames = FeatureFactory.getFactory(mContext)
+ .getLocaleFeatureProvider().getLocaleNames();
+ preference.setSummary(localeNames);
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_PHONE_LANGUAGE;
+ }
+}
diff --git a/src/com/android/settings/language/TtsPreferenceController.java b/src/com/android/settings/language/TtsPreferenceController.java
new file mode 100644
index 0000000..ffc1eb1
--- /dev/null
+++ b/src/com/android/settings/language/TtsPreferenceController.java
@@ -0,0 +1,60 @@
+/*
+ * 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.language;
+
+import android.content.Context;
+import android.speech.tts.TtsEngines;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceController;
+
+public class TtsPreferenceController extends PreferenceController {
+
+ private static final String KEY_VOICE_CATEGORY = "voice_category";
+ private static final String KEY_TTS_SETTINGS = "tts_settings";
+
+ private final TtsEngines mTtsEngines;
+
+ public TtsPreferenceController(Context context, TtsEngines ttsEngines) {
+ super(context);
+ mTtsEngines = ttsEngines;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return !mTtsEngines.getEngines().isEmpty();
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ if (!isAvailable()) {
+ removePreference(screen, KEY_VOICE_CATEGORY);
+ }
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_TTS_SETTINGS;
+ }
+}
diff --git a/src/com/android/settings/language/UserDictionaryPreferenceController.java b/src/com/android/settings/language/UserDictionaryPreferenceController.java
new file mode 100644
index 0000000..d26761b
--- /dev/null
+++ b/src/com/android/settings/language/UserDictionaryPreferenceController.java
@@ -0,0 +1,86 @@
+/*
+ * 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.language;
+
+import android.app.Fragment;
+import android.content.Context;
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.UserDictionarySettings;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.inputmethod.UserDictionaryList;
+
+import java.util.TreeSet;
+
+public class UserDictionaryPreferenceController extends PreferenceController {
+
+ private static final String KEY_USER_DICTIONARY_SETTINGS = "key_user_dictionary_settings";
+
+ public UserDictionaryPreferenceController(Context context) {
+ super(context);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ final TreeSet<String> localeSet = getDictionaryLocales();
+ // The locale list is null if and only if the user dictionary service is
+ // not present or disabled. In this case we need to remove the preference.
+ return localeSet != null;
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return false;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_USER_DICTIONARY_SETTINGS;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (!isAvailable() || preference == null) {
+ return;
+ }
+ final TreeSet<String> localeSet = getDictionaryLocales();
+ final Bundle extras = preference.getExtras();
+ final Class<? extends Fragment> targetFragment;
+ if (localeSet.size() <= 1) {
+ if (!localeSet.isEmpty()) {
+ // If the size of localeList is 0, we don't set the locale
+ // parameter in the extras. This will be interpreted by the
+ // UserDictionarySettings class as meaning
+ // "the current locale". Note that with the current code for
+ // UserDictionaryList#getUserDictionaryLocalesSet()
+ // the locale list always has at least one element, since it
+ // always includes the current locale explicitly.
+ // @see UserDictionaryList.getUserDictionaryLocalesSet().
+ extras.putString("locale", localeSet.first());
+ }
+ targetFragment = UserDictionarySettings.class;
+ } else {
+ targetFragment = UserDictionaryList.class;
+ }
+ preference.setFragment(targetFragment.getCanonicalName());
+ }
+
+ protected TreeSet<String> getDictionaryLocales() {
+ return UserDictionaryList.getUserDictionaryLocalesSet(mContext);
+ }
+}
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index 07bbe21..9590545 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -33,7 +33,7 @@
import com.android.internal.app.LocalePicker;
import com.android.internal.app.LocalePickerWithRegion;
import com.android.internal.app.LocaleStore;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/location/LocationMode.java b/src/com/android/settings/location/LocationMode.java
index 6d89509..e50a0d9 100644
--- a/src/com/android/settings/location/LocationMode.java
+++ b/src/com/android/settings/location/LocationMode.java
@@ -19,7 +19,7 @@
import android.provider.Settings;
import android.support.v7.preference.PreferenceScreen;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
/**
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index f1fdea7..03aa155 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -37,7 +37,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.DimmableIconPreference;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/location/ScanningSettings.java b/src/com/android/settings/location/ScanningSettings.java
index d4e133b..fd5a7fd 100644
--- a/src/com/android/settings/location/ScanningSettings.java
+++ b/src/com/android/settings/location/ScanningSettings.java
@@ -21,7 +21,7 @@
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index fca8ec7..cb75f0e 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -20,7 +20,7 @@
import android.content.Context;
import android.util.Log;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
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/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
index 6a36bde..76b67e8 100644
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ b/src/com/android/settings/nfc/AndroidBeam.java
@@ -27,7 +27,7 @@
import android.view.ViewGroup;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settingslib.HelpUtils;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R;
diff --git a/src/com/android/settings/nfc/PaymentSettings.java b/src/com/android/settings/nfc/PaymentSettings.java
index 928534e..e617ef3 100644
--- a/src/com/android/settings/nfc/PaymentSettings.java
+++ b/src/com/android/settings/nfc/PaymentSettings.java
@@ -29,7 +29,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.dashboard.SummaryLoader;
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
index c09557f..c38a72f 100644
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/AppNotificationSettings.java
@@ -16,6 +16,7 @@
package com.android.settings.notification;
+import android.app.Activity;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
@@ -24,20 +25,23 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
+import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory;
import android.util.ArrayMap;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.Utils;
+import com.android.settings.applications.AppHeaderController;
import com.android.settings.applications.AppInfoBase;
+import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.notification.NotificationBackend.AppRow;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.RestrictedSwitchPreference;
-
import java.util.List;
/** These settings are per app, so should not be returned in global search results. */
@@ -50,15 +54,20 @@
.addCategory(Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES);
private static final String KEY_CHANNELS = "channels";
+
+ private DashboardFeatureProvider mDashboardFeatureProvider;
private PreferenceCategory mChannels;
- List<NotificationChannel> mChannelList;
+ private List<NotificationChannel> mChannelList;
+
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (mAppRow == null) return;
- AppHeader.createAppHeader(this, mAppRow.icon, mAppRow.label, mAppRow.pkg, mAppRow.uid,
- mAppRow.settingsIntent);
+ if (!mDashboardFeatureProvider.isEnabled()) {
+ AppHeader.createAppHeader(this, mAppRow.icon, mAppRow.label, mAppRow.pkg, mAppRow.uid,
+ mAppRow.settingsIntent);
+ }
}
@Override
@@ -69,8 +78,12 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ final Activity activity = getActivity();
+ mDashboardFeatureProvider =
+ FeatureFactory.getFactory(activity).getDashboardFeatureProvider(activity);
addPreferencesFromResource(R.xml.app_notification_settings);
+
mImportance = (ImportanceSeekBarPreference) findPreference(KEY_IMPORTANCE);
mPriority =
(RestrictedSwitchPreference) getPreferenceScreen().findPreference(KEY_BYPASS_DND);
@@ -89,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);
@@ -118,6 +131,20 @@
}
updateDependents(mAppRow.appImportance);
}
+ if (mDashboardFeatureProvider.isEnabled()) {
+ final Preference pref = FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this /* fragment */, null /* appHeader */)
+ .setIcon(mAppRow.icon)
+ .setLabel(mAppRow.label)
+ .setPackageName(mAppRow.pkg)
+ .setUid(mAppRow.uid)
+ .setAppNotifPrefIntent(mAppRow.settingsIntent)
+ .setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
+ AppHeaderController.ActionType.ACTION_NOTIF_PREFERENCE)
+ .done(getPrefContext());
+ getPreferenceScreen().addPreference(pref);
+ }
}
@Override
diff --git a/src/com/android/settings/notification/ChannelNotificationSettings.java b/src/com/android/settings/notification/ChannelNotificationSettings.java
index d323545..1d2ef8c 100644
--- a/src/com/android/settings/notification/ChannelNotificationSettings.java
+++ b/src/com/android/settings/notification/ChannelNotificationSettings.java
@@ -16,13 +16,8 @@
package com.android.settings.notification;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
-import com.android.settings.AppHeader;
-import com.android.settings.R;
-import com.android.settings.RingtonePreference;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
+import android.app.Activity;
+import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Intent;
import android.net.Uri;
@@ -30,6 +25,17 @@
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.nano.MetricsProto.MetricsEvent;
+import com.android.settings.AppHeader;
+import com.android.settings.R;
+import com.android.settings.RingtonePreference;
+import com.android.settings.applications.AppHeaderController;
+import com.android.settings.dashboard.DashboardFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
public class ChannelNotificationSettings extends NotificationSettingsBase {
protected static final String KEY_LIGHTS = "lights";
@@ -39,14 +45,18 @@
protected RestrictedSwitchPreference mLights;
protected RestrictedSwitchPreference mVibrate;
protected DefaultNotificationTonePreference mRingtone;
+
+ private DashboardFeatureProvider mDashboardFeatureProvider;
private int mMaxImportance;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (mAppRow == null || mChannel == null) return;
- AppHeader.createAppHeader(
- this, mAppRow.icon, mChannel.getName(), mAppRow.pkg, mAppRow.uid);
+ if (!mDashboardFeatureProvider.isEnabled()) {
+ AppHeader.createAppHeader(
+ this, mAppRow.icon, mChannel.getName(), mAppRow.pkg, mAppRow.uid);
+ }
}
@Override
@@ -57,6 +67,9 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ final Activity activity = getActivity();
+ mDashboardFeatureProvider =
+ FeatureFactory.getFactory(activity).getDashboardFeatureProvider(activity);
addPreferencesFromResource(R.xml.channel_notification_settings);
mImportance = (ImportanceSeekBarPreference) findPreference(KEY_IMPORTANCE);
@@ -83,11 +96,25 @@
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);
}
+ if (mDashboardFeatureProvider.isEnabled()) {
+ final Preference pref = FeatureFactory.getFactory(activity)
+ .getApplicationFeatureProvider(activity)
+ .newAppHeaderController(this /* fragment */, null /* appHeader */)
+ .setIcon(mAppRow.icon)
+ .setLabel(mAppRow.label)
+ .setSummary(mChannel.getName())
+ .setPackageName(mAppRow.pkg)
+ .setUid(mAppRow.uid)
+ .setButtonActions(AppHeaderController.ActionType.ACTION_APP_INFO,
+ AppHeaderController.ActionType.ACTION_NONE)
+ .done(getPrefContext());
+ getPreferenceScreen().addPreference(pref);
+ }
}
@Override
@@ -116,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;
}
@@ -130,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;
}
@@ -137,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/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index 1f322d0..fd59c97 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -19,7 +19,7 @@
import android.content.Context;
import android.os.Bundle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
@@ -62,7 +62,7 @@
mLockScreenNotificationController = new LockScreenNotificationPreferenceController(context);
getLifecycle().addObserver(pulseController);
getLifecycle().addObserver(mLockScreenNotificationController);
- controllers.add(new SwipeToNotificationPreferenceController(context));
+ controllers.add(new SwipeToNotificationPreferenceController(context, getLifecycle()));
controllers.add(pulseController);
controllers.add(mLockScreenNotificationController);
return controllers;
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/NotificationAccessSettings.java b/src/com/android/settings/notification/NotificationAccessSettings.java
index 4a3aac5..b032358 100644
--- a/src/com/android/settings/notification/NotificationAccessSettings.java
+++ b/src/com/android/settings/notification/NotificationAccessSettings.java
@@ -29,7 +29,7 @@
import android.service.notification.NotificationListenerService;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.utils.ManagedServiceSettings;
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/notification/NotificationStation.java b/src/com/android/settings/notification/NotificationStation.java
index 68dd8da..e74a3d1 100644
--- a/src/com/android/settings/notification/NotificationStation.java
+++ b/src/com/android/settings/notification/NotificationStation.java
@@ -44,7 +44,7 @@
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.CopyablePreference;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/notification/OtherSoundSettings.java b/src/com/android/settings/notification/OtherSoundSettings.java
index 5fb635ef..cf47cb5 100644
--- a/src/com/android/settings/notification/OtherSoundSettings.java
+++ b/src/com/android/settings/notification/OtherSoundSettings.java
@@ -34,7 +34,7 @@
import android.support.v7.preference.Preference;
import android.telephony.TelephonyManager;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java
index baf335b..f435257 100644
--- a/src/com/android/settings/notification/RedactionInterstitial.java
+++ b/src/com/android/settings/notification/RedactionInterstitial.java
@@ -32,7 +32,7 @@
import android.widget.RadioGroup;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.RestrictedCheckBox;
import com.android.settings.RestrictedRadioButton;
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 7365995..1ec3164 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -60,7 +60,7 @@
import android.text.TextUtils;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.RingtonePreference;
import com.android.settings.DefaultRingtonePreference;
diff --git a/src/com/android/settings/notification/ZenAccessSettings.java b/src/com/android/settings/notification/ZenAccessSettings.java
index 7312b1d..f9b1c12 100644
--- a/src/com/android/settings/notification/ZenAccessSettings.java
+++ b/src/com/android/settings/notification/ZenAccessSettings.java
@@ -44,7 +44,7 @@
import android.view.View;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/notification/ZenModeAutomationSettings.java b/src/com/android/settings/notification/ZenModeAutomationSettings.java
index f897733..495e499 100644
--- a/src/com/android/settings/notification/ZenModeAutomationSettings.java
+++ b/src/com/android/settings/notification/ZenModeAutomationSettings.java
@@ -39,7 +39,7 @@
import android.support.v7.preference.PreferenceViewHolder;
import android.view.View;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.utils.ManagedServiceSettings.Config;
import com.android.settings.utils.ZenServiceListing;
diff --git a/src/com/android/settings/notification/ZenModeEventRuleSettings.java b/src/com/android/settings/notification/ZenModeEventRuleSettings.java
index 3b261c0..3361734 100644
--- a/src/com/android/settings/notification/ZenModeEventRuleSettings.java
+++ b/src/com/android/settings/notification/ZenModeEventRuleSettings.java
@@ -31,7 +31,7 @@
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import java.util.ArrayList;
diff --git a/src/com/android/settings/notification/ZenModePrioritySettings.java b/src/com/android/settings/notification/ZenModePrioritySettings.java
index cfac1f5..f4d3f74 100644
--- a/src/com/android/settings/notification/ZenModePrioritySettings.java
+++ b/src/com/android/settings/notification/ZenModePrioritySettings.java
@@ -27,7 +27,7 @@
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.search.Indexable;
diff --git a/src/com/android/settings/notification/ZenModeRuleSettingsBase.java b/src/com/android/settings/notification/ZenModeRuleSettingsBase.java
index 8ebb4dc..5629b17 100644
--- a/src/com/android/settings/notification/ZenModeRuleSettingsBase.java
+++ b/src/com/android/settings/notification/ZenModeRuleSettingsBase.java
@@ -39,7 +39,7 @@
import android.widget.Switch;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.widget.SwitchBar;
diff --git a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
index 7a816c3..72f6567 100644
--- a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
+++ b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
@@ -37,7 +37,7 @@
import android.util.Log;
import android.widget.TimePicker;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index f2d9daa..88df549 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -25,7 +25,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/notification/ZenModeVisualInterruptionSettings.java b/src/com/android/settings/notification/ZenModeVisualInterruptionSettings.java
index 016e381..aa27848 100644
--- a/src/com/android/settings/notification/ZenModeVisualInterruptionSettings.java
+++ b/src/com/android/settings/notification/ZenModeVisualInterruptionSettings.java
@@ -24,7 +24,7 @@
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
public class ZenModeVisualInterruptionSettings extends ZenModeSettingsBase {
diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java
index 35ec40f..55ea4bb 100644
--- a/src/com/android/settings/overlay/FeatureFactory.java
+++ b/src/com/android/settings/overlay/FeatureFactory.java
@@ -21,8 +21,10 @@
import android.util.Log;
import com.android.settings.R;
+import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProvider;
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.localepicker.LocaleFeatureProvider;
@@ -71,8 +73,12 @@
public abstract DashboardFeatureProvider getDashboardFeatureProvider(Context context);
+ public abstract ApplicationFeatureProvider getApplicationFeatureProvider(Context context);
+
public abstract LocaleFeatureProvider getLocaleFeatureProvider();
+ public abstract EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(
+ Context context);
public static final class FactoryNotFoundException extends RuntimeException {
public FactoryNotFoundException(Throwable throwable) {
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java
index 976ee3c..ec0ff46 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java
@@ -16,13 +16,19 @@
package com.android.settings.overlay;
+import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.support.annotation.Keep;
+import com.android.settings.applications.ApplicationFeatureProvider;
+import com.android.settings.applications.ApplicationFeatureProviderImpl;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.core.instrumentation.MetricsFeatureProviderImpl;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProviderImpl;
+import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl;
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProviderImpl;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.localepicker.LocaleFeatureProvider;
import com.android.settings.localepicker.LocaleFeatureProviderImpl;
@@ -33,9 +39,11 @@
@Keep
public final class FeatureFactoryImpl extends FeatureFactory {
+ private ApplicationFeatureProvider mApplicationFeatureProvider;
private MetricsFeatureProvider mMetricsFeatureProvider;
private DashboardFeatureProviderImpl mDashboardFeatureProvider;
private LocaleFeatureProvider mLocaleFeatureProvider;
+ private EnterprisePrivacyFeatureProvider mEnterprisePrivacyFeatureProvider;
@Override
public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -64,10 +72,28 @@
}
@Override
+ public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
+ if (mApplicationFeatureProvider == null) {
+ mApplicationFeatureProvider = new ApplicationFeatureProviderImpl(context);
+ }
+ return mApplicationFeatureProvider;
+ }
+
+ @Override
public LocaleFeatureProvider getLocaleFeatureProvider() {
if (mLocaleFeatureProvider == null) {
mLocaleFeatureProvider = new LocaleFeatureProviderImpl();
}
return mLocaleFeatureProvider;
}
+
+ @Override
+ public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
+ if (mEnterprisePrivacyFeatureProvider == null) {
+ mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(context,
+ new DevicePolicyManagerWrapperImpl((DevicePolicyManager)context
+ .getSystemService(Context.DEVICE_POLICY_SERVICE)));
+ }
+ return mEnterprisePrivacyFeatureProvider;
+ }
}
diff --git a/src/com/android/settings/password/SetNewPasswordActivity.java b/src/com/android/settings/password/SetNewPasswordActivity.java
index 7cdf006..6ca90a4 100644
--- a/src/com/android/settings/password/SetNewPasswordActivity.java
+++ b/src/com/android/settings/password/SetNewPasswordActivity.java
@@ -23,6 +23,9 @@
import android.os.Bundle;
import com.android.settings.ChooseLockGeneric;
+import com.android.settings.SetupChooseLockGeneric;
+import com.android.settings.Utils;
+
/**
* Trampolines {@link DevicePolicyManager#ACTION_SET_NEW_PASSWORD} and
@@ -44,8 +47,10 @@
@Override
public void launchChooseLock(@Nullable Bundle chooseLockFingerprintExtras) {
- Intent intent = new Intent(this, ChooseLockGeneric.class)
- .setAction(mNewPasswordAction);
+ final boolean isInSetupWizard = !Utils.isDeviceProvisioned(this);
+ Intent intent = isInSetupWizard ? new Intent(this, SetupChooseLockGeneric.class)
+ : new Intent(this, ChooseLockGeneric.class);
+ intent.setAction(mNewPasswordAction);
if (chooseLockFingerprintExtras != null) {
intent.putExtras(chooseLockFingerprintExtras);
}
diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java
index fcc0176..349d9fc 100644
--- a/src/com/android/settings/print/PrintJobSettingsFragment.java
+++ b/src/com/android/settings/print/PrintJobSettingsFragment.java
@@ -33,7 +33,7 @@
import android.view.View;
import android.view.ViewGroup;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java
index 0233914..3e35823 100644
--- a/src/com/android/settings/print/PrintServiceSettingsFragment.java
+++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java
@@ -58,7 +58,7 @@
import android.widget.Switch;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index 8700c7b..b0f698f 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -50,7 +50,7 @@
import android.widget.Button;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
diff --git a/src/com/android/settings/search/Ranking.java b/src/com/android/settings/search/Ranking.java
index e9ceb85..1070200 100644
--- a/src/com/android/settings/search/Ranking.java
+++ b/src/com/android/settings/search/Ranking.java
@@ -37,6 +37,7 @@
import com.android.settings.deviceinfo.StorageDashboardFragment;
import com.android.settings.deviceinfo.StorageSettings;
import com.android.settings.display.ScreenZoomSettings;
+import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.fuelgauge.BatterySaverSettings;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.gestures.GestureSettings;
@@ -170,6 +171,7 @@
// Privacy
sRankMap.put(PrivacySettings.class.getName(), RANK_PRIVACY);
+ sRankMap.put(EnterprisePrivacySettings.class.getName(), RANK_PRIVACY);
// Date / Time
sRankMap.put(DateTimeSettings.class.getName(), RANK_DATE_TIME);
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 1b8e0be..7888c0f 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -38,6 +38,7 @@
import com.android.settings.deviceinfo.StorageDashboardFragment;
import com.android.settings.deviceinfo.StorageSettings;
import com.android.settings.display.ScreenZoomSettings;
+import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.fuelgauge.BatterySaverSettings;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.gestures.GestureSettings;
@@ -335,12 +336,20 @@
NO_DATA_RES_ID,
SystemDashboardFragment.class.getName(),
R.drawable.ic_settings_about));
+
sResMap.put(StorageDashboardFragment.class.getName(),
new SearchIndexableResource(
Ranking.getRankForClassName(StorageDashboardFragment.class.getName()),
NO_DATA_RES_ID,
StorageDashboardFragment.class.getName(),
R.drawable.ic_settings_storage));
+
+ sResMap.put(EnterprisePrivacySettings.class.getName(),
+ new SearchIndexableResource(
+ Ranking.getRankForClassName(EnterprisePrivacySettings.class.getName()),
+ NO_DATA_RES_ID,
+ EnterprisePrivacySettings.class.getName(),
+ R.drawable.ic_settings_about));
}
private SearchIndexableResources() {
diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java
index 3a1bd75..3d6bfb1 100644
--- a/src/com/android/settings/sim/SimSettings.java
+++ b/src/com/android/settings/sim/SimSettings.java
@@ -35,7 +35,7 @@
import android.text.TextUtils;
import android.util.Log;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.TelephonyProperties;
import com.android.settings.R;
import com.android.settings.RestrictedSettingsFragment;
diff --git a/src/com/android/settings/support/SupportDisclaimerDialogFragment.java b/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
index f7149f7..8ab607f 100644
--- a/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
+++ b/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
@@ -31,7 +31,7 @@
import android.widget.CheckBox;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.overlay.FeatureFactory;
diff --git a/src/com/android/settings/support/SupportPhoneDialogFragment.java b/src/com/android/settings/support/SupportPhoneDialogFragment.java
index c15070b..8abdae0 100644
--- a/src/com/android/settings/support/SupportPhoneDialogFragment.java
+++ b/src/com/android/settings/support/SupportPhoneDialogFragment.java
@@ -24,7 +24,7 @@
import android.view.View;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index 2a57ac2..96a7f4e 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -33,7 +33,7 @@
import android.util.Log;
import android.widget.Checkable;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SeekBarPreference;
import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
index 655a781..42222df 100644
--- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java
+++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
@@ -33,7 +33,7 @@
import android.util.Log;
import android.util.Pair;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java
index bbbd029..609ed27 100644
--- a/src/com/android/settings/users/AppRestrictionsFragment.java
+++ b/src/com/android/settings/users/AppRestrictionsFragment.java
@@ -52,7 +52,7 @@
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Switch;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/users/RestrictedProfileSettings.java b/src/com/android/settings/users/RestrictedProfileSettings.java
index 31722e2..99ae26d 100644
--- a/src/com/android/settings/users/RestrictedProfileSettings.java
+++ b/src/com/android/settings/users/RestrictedProfileSettings.java
@@ -26,7 +26,7 @@
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.Utils;
diff --git a/src/com/android/settings/users/UserCapabilities.java b/src/com/android/settings/users/UserCapabilities.java
new file mode 100644
index 0000000..a92e3e2
--- /dev/null
+++ b/src/com/android/settings/users/UserCapabilities.java
@@ -0,0 +1,113 @@
+/*
+ * 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.users;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+import com.android.settings.Utils;
+import com.android.settingslib.RestrictedLockUtils;
+
+public class UserCapabilities {
+ boolean mEnabled = true;
+ boolean mCanAddUser = true;
+ boolean mCanAddRestrictedProfile = true;
+ boolean mIsAdmin;
+ boolean mIsGuest;
+ boolean mCanAddGuest;
+ boolean mDisallowAddUser;
+ boolean mDisallowAddUserSetByAdmin;
+ RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin;
+
+ private UserCapabilities() {}
+
+ public static UserCapabilities create(Context context) {
+ UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
+ UserCapabilities caps = new UserCapabilities();
+ if (!UserManager.supportsMultipleUsers() || Utils.isMonkeyRunning()) {
+ caps.mEnabled = false;
+ return caps;
+ }
+
+ final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
+ caps.mIsGuest = myUserInfo.isGuest();
+ caps.mIsAdmin = myUserInfo.isAdmin();
+ DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
+ Context.DEVICE_POLICY_SERVICE);
+ // No restricted profiles for tablets with a device owner, or phones.
+ if (dpm.isDeviceManaged() || Utils.isVoiceCapable(context)) {
+ caps.mCanAddRestrictedProfile = false;
+ }
+ caps.updateAddUserCapabilities(context);
+ return caps;
+ }
+
+ public void updateAddUserCapabilities(Context context) {
+ mEnforcedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(context,
+ UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
+ final boolean hasBaseUserRestriction = RestrictedLockUtils.hasBaseUserRestriction(
+ context, UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
+ mDisallowAddUserSetByAdmin =
+ mEnforcedAdmin != null && !hasBaseUserRestriction;
+ mDisallowAddUser =
+ (mEnforcedAdmin != null || hasBaseUserRestriction);
+ mCanAddUser = true;
+ if (!mIsAdmin || UserManager.getMaxSupportedUsers() < 2
+ || !UserManager.supportsMultipleUsers()
+ || mDisallowAddUser) {
+ mCanAddUser = false;
+ }
+
+ final boolean canAddUsersWhenLocked = mIsAdmin || Settings.Global.getInt(
+ context.getContentResolver(), Settings.Global.ADD_USERS_WHEN_LOCKED, 0) == 1;
+ mCanAddGuest = !mIsGuest && !mDisallowAddUser && canAddUsersWhenLocked;
+ }
+
+ public boolean isAdmin() {
+ return mIsAdmin;
+ }
+
+ public boolean disallowAddUser() {
+ return mDisallowAddUser;
+ }
+
+ public boolean disallowAddUserSetByAdmin() {
+ return mDisallowAddUserSetByAdmin;
+ }
+
+ public RestrictedLockUtils.EnforcedAdmin getEnforcedAdmin() {
+ return mEnforcedAdmin;
+ }
+
+
+ @Override
+ public String toString() {
+ return "UserCapabilities{" +
+ "mEnabled=" + mEnabled +
+ ", mCanAddUser=" + mCanAddUser +
+ ", mCanAddRestrictedProfile=" + mCanAddRestrictedProfile +
+ ", mIsAdmin=" + mIsAdmin +
+ ", mIsGuest=" + mIsGuest +
+ ", mCanAddGuest=" + mCanAddGuest +
+ ", mDisallowAddUser=" + mDisallowAddUser +
+ ", mEnforcedAdmin=" + mEnforcedAdmin +
+ '}';
+ }
+}
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index 47f8007..47aed02 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -26,8 +26,8 @@
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
-import com.android.internal.logging.MetricsProto;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index ca455b8..9165be6 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -54,7 +54,7 @@
import android.view.View.OnClickListener;
import android.widget.SimpleAdapter;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.ChooseLockGeneric;
import com.android.settings.DimmableIconPreference;
@@ -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;
}
@@ -1058,76 +1042,6 @@
mMePreference.setTitle(label);
}
- private static class UserCapabilities {
- boolean mEnabled = true;
- boolean mCanAddUser = true;
- boolean mCanAddRestrictedProfile = true;
- boolean mIsAdmin;
- boolean mIsGuest;
- boolean mCanAddGuest;
- boolean mDisallowAddUser;
- boolean mDisallowAddUserSetByAdmin;
- EnforcedAdmin mEnforcedAdmin;
-
- private UserCapabilities() {}
-
- public static UserCapabilities create(Context context) {
- UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
- UserCapabilities caps = new UserCapabilities();
- if (!UserManager.supportsMultipleUsers() || Utils.isMonkeyRunning()) {
- caps.mEnabled = false;
- return caps;
- }
-
- final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
- caps.mIsGuest = myUserInfo.isGuest();
- caps.mIsAdmin = myUserInfo.isAdmin();
- DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
- Context.DEVICE_POLICY_SERVICE);
- // No restricted profiles for tablets with a device owner, or phones.
- if (dpm.isDeviceManaged() || Utils.isVoiceCapable(context)) {
- caps.mCanAddRestrictedProfile = false;
- }
- caps.updateAddUserCapabilities(context);
- return caps;
- }
-
- public void updateAddUserCapabilities(Context context) {
- mEnforcedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(context,
- UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
- final boolean hasBaseUserRestriction = RestrictedLockUtils.hasBaseUserRestriction(
- context, UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
- mDisallowAddUserSetByAdmin =
- mEnforcedAdmin != null && !hasBaseUserRestriction;
- mDisallowAddUser =
- (mEnforcedAdmin != null || hasBaseUserRestriction);
- mCanAddUser = true;
- if (!mIsAdmin || UserManager.getMaxSupportedUsers() < 2
- || !UserManager.supportsMultipleUsers()
- || mDisallowAddUser) {
- mCanAddUser = false;
- }
-
- final boolean canAddUsersWhenLocked = mIsAdmin || Settings.Global.getInt(
- context.getContentResolver(), Settings.Global.ADD_USERS_WHEN_LOCKED, 0) == 1;
- mCanAddGuest = !mIsGuest && !mDisallowAddUser && canAddUsersWhenLocked;
- }
-
- @Override
- public String toString() {
- return "UserCapabilities{" +
- "mEnabled=" + mEnabled +
- ", mCanAddUser=" + mCanAddUser +
- ", mCanAddRestrictedProfile=" + mCanAddRestrictedProfile +
- ", mIsAdmin=" + mIsAdmin +
- ", mIsGuest=" + mIsGuest +
- ", mCanAddGuest=" + mCanAddGuest +
- ", mDisallowAddUser=" + mDisallowAddUser +
- ", mEnforcedAdmin=" + mEnforcedAdmin +
- '}';
- }
- }
-
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final Context mContext;
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/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java
index 31158b7..eccda79 100644
--- a/src/com/android/settings/utils/ManagedServiceSettings.java
+++ b/src/com/android/settings/utils/ManagedServiceSettings.java
@@ -35,7 +35,7 @@
import android.view.View;
import android.widget.TextView;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.notification.EmptyTextSettings;
diff --git a/src/com/android/settings/vpn2/AppDialogFragment.java b/src/com/android/settings/vpn2/AppDialogFragment.java
index 4075c01..b24db4e 100644
--- a/src/com/android/settings/vpn2/AppDialogFragment.java
+++ b/src/com/android/settings/vpn2/AppDialogFragment.java
@@ -31,7 +31,7 @@
import android.os.UserManager;
import android.util.Log;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.net.VpnConfig;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index 68e0659..23901ce 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -39,7 +39,7 @@
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.net.VpnConfig;
import com.android.internal.util.ArrayUtils;
import com.android.settings.R;
diff --git a/src/com/android/settings/vpn2/ConfigDialogFragment.java b/src/com/android/settings/vpn2/ConfigDialogFragment.java
index 9dbf752..86245d4 100644
--- a/src/com/android/settings/vpn2/ConfigDialogFragment.java
+++ b/src/com/android/settings/vpn2/ConfigDialogFragment.java
@@ -33,7 +33,7 @@
import android.view.View;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnProfile;
diff --git a/src/com/android/settings/vpn2/ConfirmLockdownFragment.java b/src/com/android/settings/vpn2/ConfirmLockdownFragment.java
index 4d643cf..246c2f2 100644
--- a/src/com/android/settings/vpn2/ConfirmLockdownFragment.java
+++ b/src/com/android/settings/vpn2/ConfirmLockdownFragment.java
@@ -22,7 +22,7 @@
import android.content.DialogInterface;
import android.os.Bundle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 7be69f9..c2ed1c0 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -49,7 +49,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnProfile;
diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java
index 02f63ae..c6bb7ae 100755
--- a/src/com/android/settings/wfd/WifiDisplaySettings.java
+++ b/src/com/android/settings/wfd/WifiDisplaySettings.java
@@ -58,7 +58,7 @@
import android.widget.TextView;
import com.android.internal.app.MediaRouteDialogPresenter;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/widget/VideoPreference.java b/src/com/android/settings/widget/VideoPreference.java
new file mode 100644
index 0000000..c8786dc
--- /dev/null
+++ b/src/com/android/settings/widget/VideoPreference.java
@@ -0,0 +1,163 @@
+/*
+ * 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.widget;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.SurfaceTexture;
+import android.media.MediaPlayer;
+import android.net.Uri;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.Surface;
+import android.view.TextureView;
+import android.view.View;
+import android.widget.ImageView;
+
+import com.android.settings.R;
+
+/**
+ * A full width preference that hosts a MP4 video.
+ */
+public class VideoPreference extends Preference {
+
+ private static final String TAG = "VideoPreference";
+ private final Context mContext;
+
+ private Uri mVideoPath;
+ private MediaPlayer mMediaPlayer;
+ private boolean mAnimationAvailable;
+ private boolean mVideoReady;
+ private int mPreviewResource;
+
+ public VideoPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ mContext = context;
+ TypedArray attributes = context.getTheme().obtainStyledAttributes(
+ attrs,
+ com.android.settings.R.styleable.VideoPreference,
+ 0, 0);
+ try {
+ int animation = attributes.getResourceId(R.styleable.VideoPreference_animation, 0);
+ mVideoPath = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
+ .authority(context.getPackageName())
+ .appendPath(String.valueOf(animation))
+ .build();
+ mMediaPlayer = MediaPlayer.create(mContext, mVideoPath);
+ if (mMediaPlayer != null && mMediaPlayer.getDuration() > 0) {
+ setLayoutResource(R.layout.video_preference);
+
+ mPreviewResource = attributes.getResourceId(
+ R.styleable.VideoPreference_preview, 0);
+
+ mMediaPlayer.setOnSeekCompleteListener(mp -> mVideoReady = true);
+
+ mMediaPlayer.setOnPreparedListener(mediaPlayer -> mediaPlayer.setLooping(true));
+ mAnimationAvailable = true;
+ }
+ } catch (Exception e) {
+ Log.w(TAG, "Animation resource not found. Will not show animation.");
+ } finally {
+ attributes.recycle();
+ }
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+
+ if (!mAnimationAvailable) {
+ return;
+ }
+
+ final TextureView video = (TextureView) holder.findViewById(R.id.video_texture_view);
+ final ImageView imageView = (ImageView) holder.findViewById(R.id.video_preview_image);
+ final ImageView playButton = (ImageView) holder.findViewById(R.id.video_play_button);
+ imageView.setImageResource(mPreviewResource);
+
+ video.setOnClickListener(v -> {
+ if (mMediaPlayer != null) {
+ if (mMediaPlayer.isPlaying()) {
+ mMediaPlayer.pause();
+ playButton.setVisibility(View.VISIBLE);
+ } else {
+ mMediaPlayer.start();
+ playButton.setVisibility(View.GONE);
+ }
+ }
+ });
+
+ video.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
+ @Override
+ public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width,
+ int height) {
+ if (mMediaPlayer != null) {
+ mMediaPlayer.setSurface(new Surface(surfaceTexture));
+ mVideoReady = false;
+ mMediaPlayer.seekTo(0);
+ }
+ }
+
+ @Override
+ public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int width,
+ int height) {
+ }
+
+ @Override
+ public boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
+ imageView.setVisibility(View.VISIBLE);
+ return false;
+ }
+
+ @Override
+ public void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
+ if (mVideoReady && imageView.getVisibility() == View.VISIBLE) {
+ imageView.setVisibility(View.GONE);
+ }
+ if (mMediaPlayer != null && !mMediaPlayer.isPlaying() &&
+ playButton.getVisibility() != View.VISIBLE) {
+ playButton.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ }
+
+ @Override
+ public void onDetached() {
+ if (mMediaPlayer != null) {
+ mMediaPlayer.stop();
+ mMediaPlayer.reset();
+ mMediaPlayer.release();
+ }
+ super.onDetached();
+ }
+
+ public void onViewVisible() {
+ if (mVideoReady && mMediaPlayer != null && !mMediaPlayer.isPlaying()) {
+ mMediaPlayer.seekTo(0);
+ }
+ }
+
+ public void onViewInvisible() {
+ if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
+ mMediaPlayer.pause();
+ }
+ }
+}
diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java
index b0bdd77..f7cc772 100644
--- a/src/com/android/settings/wifi/AdvancedWifiSettings.java
+++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java
@@ -28,7 +28,7 @@
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceScreen;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.RestrictedSettingsFragment;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index c230f1d..ce27ba9 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -34,7 +34,7 @@
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.AppListSwitchPreference;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
index 55f0b63..a830dc0 100644
--- a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
+++ b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
@@ -25,8 +25,8 @@
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-import com.android.internal.logging.MetricsProto;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.BaseSearchIndexProvider;
diff --git a/src/com/android/settings/wifi/WifiAPITest.java b/src/com/android/settings/wifi/WifiAPITest.java
index 2ac76ce5..1a5eb15 100644
--- a/src/com/android/settings/wifi/WifiAPITest.java
+++ b/src/com/android/settings/wifi/WifiAPITest.java
@@ -27,7 +27,7 @@
import android.text.Editable;
import android.widget.EditText;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java
index 4a02197..a05e498 100644
--- a/src/com/android/settings/wifi/WifiEnabler.java
+++ b/src/com/android/settings/wifi/WifiEnabler.java
@@ -32,7 +32,7 @@
import android.widget.Switch;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.search.Index;
@@ -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/WifiInfo.java b/src/com/android/settings/wifi/WifiInfo.java
index 56e81a0..3f57376 100644
--- a/src/com/android/settings/wifi/WifiInfo.java
+++ b/src/com/android/settings/wifi/WifiInfo.java
@@ -18,7 +18,7 @@
import android.os.Bundle;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
diff --git a/src/com/android/settings/wifi/WifiScanModeActivity.java b/src/com/android/settings/wifi/WifiScanModeActivity.java
index 29ef79e..2c0d0d5 100644
--- a/src/com/android/settings/wifi/WifiScanModeActivity.java
+++ b/src/com/android/settings/wifi/WifiScanModeActivity.java
@@ -28,7 +28,7 @@
import android.os.Bundle;
import android.provider.Settings;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index dacd481..1dd18bd 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -57,7 +57,7 @@
import android.widget.TextView.BufferType;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.LinkifyUtils;
import com.android.settings.R;
import com.android.settings.RestrictedSettingsFragment;
@@ -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/src/com/android/settings/wifi/WifiSetupActivity.java b/src/com/android/settings/wifi/WifiSetupActivity.java
index 70370b2..f640b6e 100644
--- a/src/com/android/settings/wifi/WifiSetupActivity.java
+++ b/src/com/android/settings/wifi/WifiSetupActivity.java
@@ -32,7 +32,7 @@
import android.support.v14.preference.PreferenceFragment;
import android.util.Log;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.ButtonBarHandler;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
index 487090d..977be7e 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
@@ -51,7 +51,7 @@
import android.widget.EditText;
import android.widget.Toast;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
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/robotests/src/com/android/internal/hardware/AmbientDisplayConfiguration.java b/tests/robotests/src/com/android/internal/hardware/AmbientDisplayConfiguration.java
new file mode 100644
index 0000000..bea9358
--- /dev/null
+++ b/tests/robotests/src/com/android/internal/hardware/AmbientDisplayConfiguration.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.internal.hardware;
+
+import android.provider.Settings;
+
+/**
+ * Fake controller to make robolectric test compile. Should be removed when Robolectric supports
+ * API 25.
+ */
+public class AmbientDisplayConfiguration {
+
+ public boolean pulseOnPickupAvailable() {
+ return false;
+ }
+
+ public boolean pulseOnPickupEnabled(int user) {
+ return true;
+ }
+
+ public boolean pulseOnDoubleTapAvailable() {
+ return true;
+ }
+
+ public boolean pulseOnDoubleTapEnabled(int user) {
+ return true;
+ }
+}
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/SetupWizardUtilsTest.java b/tests/robotests/src/com/android/settings/SetupWizardUtilsTest.java
new file mode 100644
index 0000000..1c83a1a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/SetupWizardUtilsTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings;
+
+import android.content.Intent;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.setupwizardlib.util.WizardManagerHelper;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+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 SetupWizardUtilsTest {
+
+ @Test
+ public void testCopySetupExtras() throws Throwable {
+ Intent fromIntent = new Intent();
+ final String theme = "TEST_THEME";
+ fromIntent.putExtra(WizardManagerHelper.EXTRA_THEME, theme);
+ fromIntent.putExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE, true);
+ Intent toIntent = new Intent();
+ SetupWizardUtils.copySetupExtras(fromIntent, toIntent);
+
+ assertThat(theme).isEqualTo(toIntent.getStringExtra(WizardManagerHelper.EXTRA_THEME));
+ assertThat(toIntent.getBooleanExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE, false))
+ .isTrue();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/accounts/AddUserWhenLockedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AddUserWhenLockedPreferenceControllerTest.java
new file mode 100644
index 0000000..f49bb5f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accounts/AddUserWhenLockedPreferenceControllerTest.java
@@ -0,0 +1,120 @@
+/*
+ * 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.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.provider.Settings.Global;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.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.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class AddUserWhenLockedPreferenceControllerTest {
+
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private PreferenceScreen mScreen;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private UserInfo mUserInfo;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private UserManager mUserManager;
+
+ private Context mContext;
+ private AddUserWhenLockedPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ ShadowApplication shadowContext = ShadowApplication.getInstance();
+ shadowContext.setSystemService(Context.USER_SERVICE, mUserManager);
+ mContext = shadowContext.getApplicationContext();
+ mController = new AddUserWhenLockedPreferenceController(mContext);
+ }
+
+ @Test
+ public void displayPref_NotAdmin_shouldNotDisplay() {
+ when(mUserManager.getUserInfo(anyInt())).thenReturn(mUserInfo);
+ when(mUserInfo.isAdmin()).thenReturn(false);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void updateState_preferenceSetCheckedWhenSettingIsOn() {
+ final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
+ Global.putInt(mContext.getContentResolver(), Global.ADD_USERS_WHEN_LOCKED, 1);
+
+ mController.updateState(preference);
+
+ verify(preference).setChecked(true);
+ }
+
+ @Test
+ public void updateState_preferenceSetUncheckedWhenSettingIsOff() {
+ final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
+ Global.putInt(mContext.getContentResolver(), Global.ADD_USERS_WHEN_LOCKED, 0);
+
+ mController.updateState(preference);
+
+ verify(preference).setChecked(false);
+ }
+
+ @Test
+ public void onPreferenceChange_SettingIsOnWhenPreferenceChecked() {
+ final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
+ preference.setChecked(true);
+
+ mController.onPreferenceChange(preference, Boolean.TRUE);
+
+ assertThat(Global.getInt(mContext.getContentResolver(), Global.ADD_USERS_WHEN_LOCKED, 0))
+ .isEqualTo(1);
+ }
+
+ @Test
+ public void onPreferenceChange_SettingIsOffWhenPreferenceNotChecked() {
+ final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
+ preference.setChecked(false);
+
+ mController.onPreferenceChange(preference, Boolean.FALSE);
+
+ assertThat(Global.getInt(mContext.getContentResolver(), Global.ADD_USERS_WHEN_LOCKED, 0))
+ .isEqualTo(0);
+ }
+
+}
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/accounts/EmergencyInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
new file mode 100644
index 0000000..128c211
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
@@ -0,0 +1,127 @@
+/*
+ * 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.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+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 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 EmergencyInfoPreferenceControllerTest {
+
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private PreferenceScreen mScreen;
+
+ private EmergencyInfoPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new EmergencyInfoPreferenceController(mContext);
+ }
+
+ @Test
+ public void updateRawDataToIndex_prefUnavaiable_shouldNotUpdate() {
+ final List<SearchIndexableRaw> data = new ArrayList<>();
+ when(mContext.getPackageManager().queryIntentActivities(
+ any(Intent.class), anyInt()))
+ .thenReturn(null);
+
+ mController.updateRawDataToIndex(data);
+
+ assertThat(data).isEmpty();
+ }
+
+ @Test
+ public void updateRawDataToIndex_prefAvaiable_shouldUpdate() {
+ final List<SearchIndexableRaw> data = new ArrayList<>();
+ final List<ResolveInfo> infos = new ArrayList<>();
+ infos.add(new ResolveInfo());
+ when(mContext.getPackageManager().queryIntentActivities(
+ any(Intent.class), anyInt()))
+ .thenReturn(infos);
+
+ mController.updateRawDataToIndex(data);
+
+ assertThat(data).isNotEmpty();
+ }
+
+ @Test
+ public void displayPref_prefUnAvaiable_shouldNotDisplay() {
+ when(mContext.getPackageManager().queryIntentActivities(
+ any(Intent.class), anyInt()))
+ .thenReturn(null);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void displayPref_prefAvaiable_shouldDisplay() {
+ final List<SearchIndexableRaw> data = new ArrayList<>();
+ final List<ResolveInfo> infos = new ArrayList<>();
+ infos.add(new ResolveInfo());
+ when(mContext.getPackageManager().queryIntentActivities(
+ any(Intent.class), anyInt()))
+ .thenReturn(infos);
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen, never()).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void handlePreferenceTreeClick_shouldStartActivity() {
+ final ShadowApplication application = ShadowApplication.getInstance();
+ final Context context = application.getApplicationContext();
+ final Preference preference = new Preference(context);
+ preference.setKey("emergency_info");
+ mController = new EmergencyInfoPreferenceController(context);
+
+ mController.handlePreferenceTreeClick(preference);
+
+ assertThat(application.getNextStartedActivity().getAction())
+ .isEqualTo("android.settings.EDIT_EMERGENGY_INFO");
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java b/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java
index d0c5889..7da30ed 100644
--- a/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java
@@ -19,6 +19,7 @@
import android.content.Context;
import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
@@ -28,14 +29,13 @@
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
-@RunWith(RobolectricTestRunner.class)
+@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class AdvancedAppSettingsTest {
diff --git a/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java
new file mode 100644
index 0000000..229ba45
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java
@@ -0,0 +1,246 @@
+/*
+ * 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.app.Activity;
+import android.app.Fragment;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.ResolveInfo;
+import android.os.UserHandle;
+import android.support.v7.preference.Preference;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settingslib.applications.ApplicationsState;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+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)
+public class AppHeaderControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private ApplicationsState.AppEntry mAppEntry;
+ @Mock
+ private Fragment mFragment;
+ @Mock
+ private View mAppHeader;
+
+ private Context mShadowContext;
+ private LayoutInflater mLayoutInflater;
+ private PackageInfo mInfo;
+ private AppHeaderController mController;
+
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mShadowContext = ShadowApplication.getInstance().getApplicationContext();
+ mLayoutInflater = LayoutInflater.from(mShadowContext);
+ mInfo = new PackageInfo();
+ mInfo.versionName = "1234";
+ }
+
+ @Test
+ public void testBuildView_constructedWithoutView_shouldCreateNewView() {
+ mController = new AppHeaderController(mShadowContext, mFragment, null);
+ View view = mController.done();
+
+ assertThat(view).isNotNull();
+ }
+
+ @Test
+ public void testBuildView_withContext_shouldBuildPreference() {
+ mController = new AppHeaderController(mShadowContext, mFragment, null);
+ Preference preference = mController.done(mShadowContext);
+
+ assertThat(preference instanceof LayoutPreference).isTrue();
+ }
+
+ @Test
+ public void testBuildView_constructedWithView_shouldReturnSameView() {
+ View inputView = mLayoutInflater.inflate(R.layout.app_details, null /* root */);
+ mController = new AppHeaderController(mShadowContext, mFragment, inputView);
+ View view = mController.done();
+
+ assertThat(view).isSameAs(inputView);
+ }
+
+ @Test
+ public void bindViews_shouldBindAllData() {
+ final String testString = "test";
+ final View appHeader = mLayoutInflater.inflate(R.layout.app_details, null /* root */);
+ final TextView label = (TextView) appHeader.findViewById(android.R.id.title);
+ final TextView version = (TextView) appHeader.findViewById(android.R.id.summary);
+
+ mController = new AppHeaderController(mShadowContext, mFragment, appHeader);
+ mController.setLabel(testString);
+ mController.setSummary(testString);
+ mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add));
+ mController.done();
+
+ assertThat(label.getText()).isEqualTo(testString);
+ assertThat(version.getText()).isEqualTo(testString);
+ }
+
+ @Test
+ public void bindButton_hasAppPref_shouldShowButton() {
+ final ResolveInfo info = new ResolveInfo();
+ info.activityInfo = new ActivityInfo();
+ info.activityInfo.packageName = "123";
+ info.activityInfo.name = "321";
+ final View appLinks = mLayoutInflater
+ .inflate(R.layout.app_details, null /* root */);
+ when(mContext.getPackageManager().resolveActivity(any(Intent.class), anyInt()))
+ .thenReturn(info);
+
+ mController = new AppHeaderController(mContext, mFragment, appLinks);
+ mController.setButtonActions(
+ AppHeaderController.ActionType.ACTION_APP_PREFERENCE,
+ AppHeaderController.ActionType.ACTION_NONE);
+ mController.done();
+
+ assertThat(appLinks.findViewById(R.id.left_button).getVisibility())
+ .isEqualTo(View.VISIBLE);
+ assertThat(appLinks.findViewById(R.id.right_button).getVisibility())
+ .isEqualTo(View.GONE);
+ try {
+ appLinks.findViewById(R.id.left_button).performClick();
+ } catch (Exception e) {
+ // Ignore exception because the launching intent is fake.
+ }
+ verify(mFragment).startActivity(any(Intent.class));
+ }
+
+ @Test
+ public void bindButton_noAppPref_shouldNotShowButton() {
+ final View appLinks = mLayoutInflater
+ .inflate(R.layout.app_details, null /* root */);
+ when(mContext.getPackageManager().resolveActivity(any(Intent.class), anyInt()))
+ .thenReturn(null);
+
+ mController = new AppHeaderController(mContext, mFragment, appLinks);
+ mController.setButtonActions(
+ AppHeaderController.ActionType.ACTION_APP_PREFERENCE,
+ AppHeaderController.ActionType.ACTION_NONE);
+ mController.done();
+
+ assertThat(appLinks.findViewById(R.id.left_button).getVisibility())
+ .isEqualTo(View.GONE);
+ assertThat(appLinks.findViewById(R.id.right_button).getVisibility())
+ .isEqualTo(View.GONE);
+ }
+
+ @Test
+ public void bindButton_noStoreLink_shouldNotShowButton() {
+ final View appLinks = mLayoutInflater
+ .inflate(R.layout.app_details, null /* root */);
+ when(mContext.getPackageManager().resolveActivity(any(Intent.class), anyInt()))
+ .thenReturn(null);
+
+ mController = new AppHeaderController(mContext, mFragment, appLinks);
+ mController.setButtonActions(
+ AppHeaderController.ActionType.ACTION_STORE_DEEP_LINK,
+ AppHeaderController.ActionType.ACTION_NONE);
+ mController.done();
+
+ assertThat(appLinks.findViewById(R.id.left_button).getVisibility())
+ .isEqualTo(View.GONE);
+ assertThat(appLinks.findViewById(R.id.right_button).getVisibility())
+ .isEqualTo(View.GONE);
+ }
+
+ @Test
+ public void bindButton_noAppInfo_shouldNotShowButton() {
+ final View appLinks = mLayoutInflater
+ .inflate(R.layout.app_details, null /* root */);
+
+ mController = new AppHeaderController(mContext, mFragment, appLinks);
+ mController.setPackageName(null)
+ .setButtonActions(
+ AppHeaderController.ActionType.ACTION_APP_INFO,
+ AppHeaderController.ActionType.ACTION_NONE);
+ mController.done();
+
+ assertThat(appLinks.findViewById(R.id.left_button).getVisibility())
+ .isEqualTo(View.GONE);
+ assertThat(appLinks.findViewById(R.id.right_button).getVisibility())
+ .isEqualTo(View.GONE);
+ }
+
+ @Test
+ public void bindButton_hasAppInfo_shouldShowButton() {
+ final View appLinks = mLayoutInflater
+ .inflate(R.layout.app_details, null /* root */);
+ when(mFragment.getActivity()).thenReturn(mock(Activity.class));
+
+ mController = new AppHeaderController(mContext, mFragment, appLinks);
+ mController.setPackageName("123")
+ .setUid(UserHandle.USER_SYSTEM)
+ .setButtonActions(
+ AppHeaderController.ActionType.ACTION_APP_INFO,
+ AppHeaderController.ActionType.ACTION_NOTIF_PREFERENCE);
+ mController.done();
+
+ assertThat(appLinks.findViewById(R.id.left_button).getVisibility())
+ .isEqualTo(View.VISIBLE);
+ assertThat(appLinks.findViewById(R.id.right_button).getVisibility())
+ .isEqualTo(View.GONE);
+ }
+
+ @Test
+ public void bindButton_hasAppNotifIntent_shouldShowButton() {
+ final View appLinks = mLayoutInflater
+ .inflate(R.layout.app_details, null /* root */);
+
+ mController = new AppHeaderController(mContext, mFragment, appLinks);
+ mController.setAppNotifPrefIntent(new Intent())
+ .setButtonActions(
+ AppHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
+ AppHeaderController.ActionType.ACTION_NONE);
+ mController.done();
+
+ assertThat(appLinks.findViewById(R.id.left_button).getVisibility())
+ .isEqualTo(View.VISIBLE);
+ assertThat(appLinks.findViewById(R.id.right_button).getVisibility())
+ .isEqualTo(View.GONE);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
new file mode 100644
index 0000000..744bc0f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
@@ -0,0 +1,119 @@
+/*
+ * 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.app.AlertDialog;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.support.v7.preference.PreferenceManager;
+import android.support.v7.preference.PreferenceScreen;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+import static org.mockito.Matchers.any;
+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)
+public class AppInfoWithHeaderTest {
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+
+ private FakeFeatureFactory mFactory;
+ private TestFragment mAppInfoWithHeader;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ FakeFeatureFactory.setupForTest(mContext);
+
+ mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+
+ mAppInfoWithHeader = new TestFragment();
+ }
+
+ @Test
+ public void testAppHeaderIsAdded() {
+ when(mFactory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
+ when(mFactory.applicationFeatureProvider.newAppHeaderController(mAppInfoWithHeader, null))
+ .thenReturn(new AppHeaderController(
+ ShadowApplication.getInstance().getApplicationContext(),
+ mAppInfoWithHeader,
+ null));
+ mAppInfoWithHeader.onActivityCreated(null);
+
+ verify(mAppInfoWithHeader.mScreen).addPreference(any(LayoutPreference.class));
+ }
+
+ public static class TestFragment extends AppInfoWithHeader {
+
+ PreferenceManager mManager;
+ PreferenceScreen mScreen;
+
+ public TestFragment() {
+ mPm = mock(PackageManager.class);
+ mManager = mock(PreferenceManager.class);
+ mScreen = mock(PreferenceScreen.class);
+ mPackageInfo = new PackageInfo();
+ mPackageInfo.applicationInfo = new ApplicationInfo();
+
+ when(mManager.getContext())
+ .thenReturn(ShadowApplication.getInstance().getApplicationContext());
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return 0;
+ }
+
+ @Override
+ protected boolean refreshUi() {
+ return false;
+ }
+
+ @Override
+ protected AlertDialog createDialog(int id, int errorCode) {
+ return null;
+ }
+
+ @Override
+ public PreferenceScreen getPreferenceScreen() {
+ return mScreen;
+ }
+
+ @Override
+ public PreferenceManager getPreferenceManager() {
+ return mManager;
+ }
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/applications/ProcessStatsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/ProcessStatsPreferenceControllerTest.java
new file mode 100644
index 0000000..d4df28c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/ProcessStatsPreferenceControllerTest.java
@@ -0,0 +1,68 @@
+/*
+ * 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.Context;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+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;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class ProcessStatsPreferenceControllerTest {
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+
+ private FakeFeatureFactory mFactory;
+ private ProcessStatsPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ FakeFeatureFactory.setupForTest(mContext);
+
+ mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+
+ mController = new ProcessStatsPreferenceController(mContext);
+ }
+
+ @Test
+ public void testIsAvailble_dashboardFeatureEnabled_shouldReturnTrue() {
+ when(mFactory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void testIsAvailble_dashboardFeatureDisabled_shouldReturnFalse() {
+ when(mFactory.dashboardFeatureProvider.isEnabled()).thenReturn(false);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/conditional/ConditionAdapterUtilsTest.java b/tests/robotests/src/com/android/settings/conditional/ConditionAdapterUtilsTest.java
new file mode 100644
index 0000000..dde291d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/conditional/ConditionAdapterUtilsTest.java
@@ -0,0 +1,72 @@
+/*
+ * 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.conditional;
+
+import android.content.Context;
+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.DashboardAdapter;
+import com.android.settings.dashboard.conditional.Condition;
+import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import com.android.settings.R;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class ConditionAdapterUtilsTest{
+ @Mock
+ private Condition mCondition;
+ private DashboardAdapter.DashboardItemHolder mViewHolder;
+ private Context mContext;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.application;
+ final CharSequence[] actions = new CharSequence[2];
+ when(mCondition.getActions()).thenReturn(actions);
+
+ final View view = LayoutInflater.from(mContext).inflate(R.layout.condition_card, new
+ LinearLayout(mContext), true);
+ mViewHolder = new DashboardAdapter.DashboardItemHolder(view);
+ }
+
+ @Test
+ public void testBindView_isExpanded_returnVisible() {
+ ConditionAdapterUtils.bindViews(mCondition, mViewHolder, true, null, null);
+ assertThat(mViewHolder.itemView.findViewById(R.id.detail_group).getVisibility())
+ .isEqualTo(View.VISIBLE);
+ }
+
+ @Test
+ public void testBindView_isNotExpanded_returnGone() {
+ ConditionAdapterUtils.bindViews(mCondition, mViewHolder, false, null, null);
+ assertThat(mViewHolder.itemView.findViewById(R.id.detail_group).getVisibility())
+ .isEqualTo(View.GONE);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/UsbModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/UsbModePreferenceControllerTest.java
new file mode 100644
index 0000000..da25f0f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/UsbModePreferenceControllerTest.java
@@ -0,0 +1,137 @@
+package com.android.settings.connecteddevice;
+
+import android.content.Context;
+import android.content.Intent;
+import android.hardware.usb.UsbManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.deviceinfo.UsbBackend;
+import com.android.settings.deviceinfo.UsbModeChooserActivity;
+
+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.Matchers.anyString;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class UsbModePreferenceControllerTest {
+
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private UsbBackend mUsbBackend;
+ @Mock(answer = RETURNS_DEEP_STUBS)
+ private PreferenceScreen mScreen;
+
+ private Context mContext;
+ private UsbModePreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = ShadowApplication.getInstance().getApplicationContext();
+ mController = new UsbModePreferenceController(mContext, mUsbBackend);
+ }
+
+ @Test
+ public void testGetSummary_chargeDevice() {
+ assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[0]))
+ .isEqualTo(R.string.usb_use_charging_only_desc);
+ }
+
+ @Test
+ public void testGetSummary_supplyPower() {
+ assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[1]))
+ .isEqualTo(R.string.usb_use_power_only_desc);
+ }
+
+ @Test
+ public void testGetSummary_TransferFiles() {
+ assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[2]))
+ .isEqualTo(R.string.usb_use_file_transfers_desc);
+ }
+
+ @Test
+ public void testGetSummary_TransferPhoto() {
+ assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[3]))
+ .isEqualTo(R.string.usb_use_photo_transfers_desc);
+ }
+
+ @Test
+ public void testGetSummary_MIDI() {
+ assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[4]))
+ .isEqualTo(R.string.usb_use_MIDI_desc);
+ }
+
+ @Test
+ public void testGetTitle_chargeDevice() {
+ assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[0]))
+ .isEqualTo(R.string.usb_use_charging_only);
+ }
+
+ @Test
+ public void testGetTitle_supplyPower() {
+ assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[1]))
+ .isEqualTo(R.string.usb_use_power_only);
+ }
+
+ @Test
+ public void testGetTitle_TransferFiles() {
+ assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[2]))
+ .isEqualTo(R.string.usb_use_file_transfers);
+ }
+
+ @Test
+ public void testGetTitle_TransferPhoto() {
+ assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[3]))
+ .isEqualTo(R.string.usb_use_photo_transfers);
+ }
+
+ @Test
+ public void testGetTitle_MIDI() {
+ assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[4]))
+ .isEqualTo(R.string.usb_use_MIDI);
+ }
+
+ @Test
+ public void testPreferenceSummary_usbDisconnected() {
+ final Preference preference = new Preference(mContext);
+ preference.setKey("usb_mode");
+ preference.setEnabled(true);
+ mController.updateState(preference);
+ assertThat(preference.getSummary()).isEqualTo(
+ mContext.getString(R.string.usb_nothing_connected));
+ }
+
+ @Test
+ public void testUsbBoradcastReceiver_usbConnected_shouldUpdateSummary() {
+ final Preference preference = new Preference(mContext);
+ preference.setKey("usb_mode");
+ preference.setEnabled(true);
+ when(mUsbBackend.getCurrentMode()).thenReturn(UsbModeChooserActivity.DEFAULT_MODES[0]);
+ when(mScreen.findPreference("usb_mode")).thenReturn(preference);
+
+ mController.displayPreference(mScreen);
+ mController.onResume();
+ final Intent intent = new Intent(UsbManager.ACTION_USB_STATE);
+ intent.putExtra(UsbManager.USB_CONNECTED, true);
+ mContext.sendStickyBroadcast(intent);
+
+ assertThat(preference.getSummary()).isEqualTo(
+ mContext.getString(R.string.usb_use_charging_only));
+ }
+
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java
index 52c2103..abea565 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java
@@ -196,6 +196,31 @@
testDiffUtil(mDashboardDataWithOneConditions, mDashboardDataWithNoItems, testResultData);
}
+ @Test
+ public void testPayload_ItemConditionCard_returnNotNull() {
+ final DashboardData.ItemsDataDiffCallback callback = new DashboardData
+ .ItemsDataDiffCallback(
+ mDashboardDataWithOneConditions.getItemList(),
+ mDashboardDataWithOneConditions.getItemList());
+
+ // Item in position 0 is condition card, which payload should not be null
+ assertThat(callback.getChangePayload(0, 0)).isNotEqualTo(null);
+ }
+
+ @Test
+ public void testPayload_ItemNotConditionCard_returnNull() {
+ final DashboardData.ItemsDataDiffCallback callback = new DashboardData
+ .ItemsDataDiffCallback(
+ mDashboardDataWithOneConditions.getItemList(),
+ mDashboardDataWithOneConditions.getItemList());
+
+ // Only item in position 0 is condition card, so others' payload should be null
+ for (int i = 1; i < mDashboardDataWithOneConditions.getItemList().size(); i++) {
+ assertThat(callback.getChangePayload(i, i)).isEqualTo(null);
+ }
+
+ }
+
/**
* Test when using the
* {@link com.android.settings.dashboard.DashboardData.ItemsDataDiffCallback}
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/ConditionTest.java b/tests/robotests/src/com/android/settings/dashboard/conditional/ConditionTest.java
index f8797aa..c3c1d6d 100644
--- a/tests/robotests/src/com/android/settings/dashboard/conditional/ConditionTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/conditional/ConditionTest.java
@@ -17,7 +17,7 @@
import android.content.Context;
import android.graphics.drawable.Icon;
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
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/enterprise/EnterprisePrivacyFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
new file mode 100644
index 0000000..afcd484
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
@@ -0,0 +1,70 @@
+/*
+ * 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.enterprise;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+
+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.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link EnterprisePrivacyFeatureProviderImpl}.
+ */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public final class EnterprisePrivacyFeatureProviderImplTest {
+
+ private final ComponentName DEVICE_OWNER = new ComponentName("dummy", "component");
+
+ private @Mock PackageManager mPackageManager;
+ private @Mock Context mContext;
+ private @Mock DevicePolicyManagerWrapper mDevicePolicyManager;
+
+ private EnterprisePrivacyFeatureProvider mProvider;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ when(mContext.getApplicationContext()).thenReturn(mContext);
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_DEVICE_ADMIN))
+ .thenReturn(true);
+
+ mProvider = new EnterprisePrivacyFeatureProviderImpl(mContext, mDevicePolicyManager);
+ }
+
+ @Test
+ public void testHasDeviceOwner() {
+ when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(null);
+ assertThat(mProvider.hasDeviceOwner()).isFalse();
+
+ when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(DEVICE_OWNER);
+ assertThat(mProvider.hasDeviceOwner()).isTrue();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
new file mode 100644
index 0000000..20393ee
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
@@ -0,0 +1,72 @@
+/*
+ * 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.enterprise;
+
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.R;
+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.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+import static com.google.common.truth.Truth.assertThat;
+
+/**
+ * Tests for {@link EnterprisePrivacySettings}.
+ */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public final class EnterprisePrivacySettingsTest {
+
+ private EnterprisePrivacySettings mSettings;
+
+ @Before
+ public void setUp() {
+ mSettings = new EnterprisePrivacySettings();
+ }
+
+ @Test
+ public void testGetMetricsCategory() {
+ assertThat(mSettings.getMetricsCategory())
+ .isEqualTo(MetricsEvent.ENTERPRISE_PRIVACY_SETTINGS);
+ }
+
+ @Test
+ public void testGetCategoryKey() {
+ assertThat(mSettings.getCategoryKey()).isNull();
+ }
+
+ @Test
+ public void testGetLogTag() {
+ assertThat(mSettings.getLogTag()).isEqualTo("EnterprisePrivacySettings");
+ }
+
+ @Test
+ public void testGetPreferenceScreenResId() {
+ assertThat(mSettings.getPreferenceScreenResId())
+ .isEqualTo(R.xml.enterprise_privacy_settings);
+ }
+
+ @Test
+ public void getPreferenceControllers() {
+ assertThat(mSettings.getPreferenceControllers(
+ ShadowApplication.getInstance().getApplicationContext())).isNull();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
new file mode 100644
index 0000000..6a2e4ea
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
@@ -0,0 +1,94 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v7.preference.PreferenceScreen;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+import static android.provider.Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class DoubleTapPowerPreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private PreferenceScreen mScreen;
+ private DoubleTapPowerPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new DoubleTapPowerPreferenceController(mContext, null);
+ }
+
+ @Test
+ public void isAvailable_configIsTrue_shouldReturnTrue() {
+ when(mContext.getResources().
+ getBoolean(com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled))
+ .thenReturn(true);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_configIsTrue_shouldReturnFalse() {
+ when(mContext.getResources().
+ getBoolean(com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled))
+ .thenReturn(false);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsNotSet_shouldReturnTrue() {
+ // Set the setting to be enabled.
+ final Context context = ShadowApplication.getInstance().getApplicationContext();
+ Settings.System.putInt(context.getContentResolver(),
+ CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
+ mController = new DoubleTapPowerPreferenceController(context, null);
+
+ assertThat(mController.isSwitchPrefEnabled()).isTrue();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsSet_shouldReturnFalse() {
+ // Set the setting to be disabled.
+ final Context context = ShadowApplication.getInstance().getApplicationContext();
+ Settings.System.putInt(context.getContentResolver(),
+ CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 1);
+ mController = new DoubleTapPowerPreferenceController(context, null);
+
+ assertThat(mController.isSwitchPrefEnabled()).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
new file mode 100644
index 0000000..a25d34b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.gestures;
+
+import android.content.Context;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+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;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class DoubleTapScreenPreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock
+ private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
+ private DoubleTapScreenPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new DoubleTapScreenPreferenceController(
+ mContext, null, mAmbientDisplayConfiguration, 0);
+ }
+
+ @Test
+ public void isAvailable_configIsTrue_shouldReturnTrue() {
+ when(mAmbientDisplayConfiguration.pulseOnDoubleTapAvailable()).thenReturn(true);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_configIsFalse_shouldReturnFalse() {
+ when(mAmbientDisplayConfiguration.pulseOnDoubleTapAvailable()).thenReturn(false);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsSet_shouldReturnTrue() {
+ // Set the setting to be enabled.
+ when(mAmbientDisplayConfiguration.pulseOnDoubleTapEnabled(anyInt())).thenReturn(true);
+
+ assertThat(mController.isSwitchPrefEnabled()).isTrue();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsNotSet_shouldReturnFalse() {
+ when(mAmbientDisplayConfiguration.pulseOnDoubleTapEnabled(anyInt())).thenReturn(false);
+
+ assertThat(mController.isSwitchPrefEnabled()).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java
new file mode 100644
index 0000000..5b02182
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.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.gestures;
+
+import android.content.Context;
+import android.hardware.Sensor;
+import android.hardware.SensorManager;
+import android.provider.Settings;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static android.provider.Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class DoubleTwistPreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private SensorManager mSensorManager;
+ private DoubleTwistPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new DoubleTwistPreferenceController(mContext, null);
+ }
+
+ @Test
+ public void isAvailable_hasSensor_shouldReturnTrue() {
+ // Mock sensors
+ final List<Sensor> sensorList = new ArrayList<>();
+ sensorList.add(mock(Sensor.class));
+ when(mContext.getResources().getString(anyInt())).thenReturn("test");
+ when(mContext.getSystemService(Context.SENSOR_SERVICE)).thenReturn(mSensorManager);
+ when(mSensorManager.getSensorList(anyInt())).thenReturn(sensorList);
+ when(sensorList.get(0).getName()).thenReturn("test");
+ when(sensorList.get(0).getVendor()).thenReturn("test");
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_noSensor_shouldReturnFalse() {
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_differentSensor_shouldReturnFalse() {
+ // Mock sensors
+ final List<Sensor> sensorList = new ArrayList<>();
+ sensorList.add(mock(Sensor.class));
+ when(mContext.getResources().getString(anyInt())).thenReturn("test");
+ when(mContext.getSystemService(Context.SENSOR_SERVICE)).thenReturn(mSensorManager);
+ when(mSensorManager.getSensorList(anyInt())).thenReturn(sensorList);
+ when(sensorList.get(0).getName()).thenReturn("not_test");
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsSet_shouldReturnTrue() {
+ // Set the setting to be enabled.
+ final Context context = ShadowApplication.getInstance().getApplicationContext();
+ Settings.System.putInt(context.getContentResolver(),
+ CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 1);
+ mController = new DoubleTwistPreferenceController(context, null);
+
+ assertThat(mController.isSwitchPrefEnabled()).isTrue();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsNotSet_shouldReturnFalse() {
+ // Set the setting to be disabled.
+ final Context context = ShadowApplication.getInstance().getApplicationContext();
+ Settings.System.putInt(context.getContentResolver(),
+ CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 0);
+ mController = new DoubleTwistPreferenceController(context, null);
+
+ assertThat(mController.isSwitchPrefEnabled()).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
new file mode 100644
index 0000000..01c1921
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
@@ -0,0 +1,184 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.support.v7.preference.TwoStatePreference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.widget.VideoPreference;
+
+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 org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+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 GesturePreferenceControllerTest {
+
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private PreferenceScreen mScreen;
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Lifecycle mLifecycle;
+ private TestPrefController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new TestPrefController(mContext, mLifecycle);
+ }
+
+ @Test
+ public void display_configIsTrue_shouldDisplay() {
+ mController.mIsPrefAvailable = true;
+ when(mScreen.findPreference(anyString())).thenReturn(mock(VideoPreference.class));
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen, never()).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void display_configIsFalse_shouldNotDisplay() {
+ mController.mIsPrefAvailable = false;
+ when(mScreen.findPreference(mController.getPreferenceKey()))
+ .thenReturn(mock(Preference.class));
+
+ mController.displayPreference(mScreen);
+
+ verify(mScreen).removePreference(any(Preference.class));
+ }
+
+ @Test
+ public void onStart_shouldStartVideoPreference() {
+ final VideoPreference videoPreference = mock(VideoPreference.class);
+ when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(videoPreference);
+ mController.mIsPrefAvailable = true;
+
+ mController.displayPreference(mScreen);
+ mController.onStart();
+
+ verify(videoPreference).onViewVisible();
+ }
+
+ @Test
+ public void onStop_shouldStopVideoPreference() {
+ final VideoPreference videoPreference = mock(VideoPreference.class);
+ when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(videoPreference);
+ mController.mIsPrefAvailable = true;
+
+ mController.displayPreference(mScreen);
+ mController.onStop();
+
+ verify(videoPreference).onViewInvisible();
+ }
+
+ @Test
+ public void updateState_preferenceSetCheckedWhenSettingIsOn() {
+ // Mock a TwoStatePreference
+ final TwoStatePreference preference = mock(TwoStatePreference.class);
+ // Set the setting to be enabled.
+ mController.mIsPrefEnabled = true;
+ // Run through updateState
+ mController.updateState(preference);
+
+ // Verify pref is checked (as setting is enabled).
+ verify(preference).setChecked(true);
+ }
+
+ @Test
+ public void updateState_preferenceSetUncheckedWhenSettingIsOff() {
+ // Mock a TwoStatePreference
+ final TwoStatePreference preference = mock(TwoStatePreference.class);
+ // Set the setting to be disabled.
+ mController.mIsPrefEnabled = false;
+
+ // Run through updateState
+ mController.updateState(preference);
+
+ // Verify pref is unchecked (as setting is disabled).
+ verify(preference).setChecked(false);
+ }
+
+ @Test
+ public void updateState_notTwoStatePreference_setSummary() {
+ // Mock a regular preference
+ final Preference preference = mock(Preference.class);
+ // Set the setting to be disabled.
+ mController.mIsPrefEnabled = false;
+
+ // Run through updateState
+ mController.updateState(preference);
+
+ // Verify summary is set to off (as setting is disabled).
+ verify(preference).setSummary(com.android.settings.R.string.gesture_setting_off);
+ }
+
+ private class TestPrefController extends GesturePreferenceController {
+
+ boolean mIsPrefAvailable;
+ boolean mIsPrefEnabled;
+
+ public TestPrefController(Context context,
+ Lifecycle lifecycle) {
+ super(context, lifecycle);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return mIsPrefAvailable;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return null;
+ }
+
+ @Override
+ protected String getVideoPrefKey() {
+ return null;
+ }
+
+ @Override
+ protected boolean isSwitchPrefEnabled() {
+ return mIsPrefEnabled;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ return false;
+ }
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java
new file mode 100644
index 0000000..66ae679
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java
@@ -0,0 +1,85 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+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;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class PIckupGesturePreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock
+ private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
+
+ private PickupGesturePreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new PickupGesturePreferenceController(
+ mContext, null, mAmbientDisplayConfiguration, 0);
+ }
+
+ @Test
+ public void isAvailable_configIsTrue_shouldReturnTrue() {
+ when(mAmbientDisplayConfiguration.pulseOnPickupAvailable()).thenReturn(true);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_configIsFalse_shouldReturnFalse() {
+ when(mAmbientDisplayConfiguration.pulseOnPickupAvailable()).thenReturn(false);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsSet_shouldReturnTrue() {
+ // Set the setting to be enabled.
+ when(mAmbientDisplayConfiguration.pulseOnPickupEnabled(anyInt())).thenReturn(true);
+
+ assertThat(mController.isSwitchPrefEnabled()).isTrue();
+ }
+
+ @Test
+ public void testSwitchEnabled_configIsNotSet_shouldReturnFalse() {
+ // Set the setting to be disabled.
+ when(mAmbientDisplayConfiguration.pulseOnPickupEnabled(anyInt())).thenReturn(false);
+
+ assertThat(mController.isSwitchPrefEnabled()).isFalse();
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
index e2b4473..7b34666 100644
--- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
@@ -18,10 +18,8 @@
import android.content.Context;
import android.provider.Settings;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
-import android.support.v7.preference.TwoStatePreference;
+import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import org.junit.Before;
@@ -30,79 +28,63 @@
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import static android.provider.Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
+import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
-@RunWith(RobolectricTestRunner.class)
+@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SwipeToNotificationPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
- @Mock(answer = Answers.RETURNS_DEEP_STUBS)
- private PreferenceScreen mScreen;
private SwipeToNotificationPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- mController = new SwipeToNotificationPreferenceController(mContext);
+ mController = new SwipeToNotificationPreferenceController(mContext, null);
}
@Test
- public void display_configIsTrue_shouldDisplay() {
+ public void isAvailable_configIsTrue_shouldReturnTrue() {
when(mContext.getResources().
getBoolean(com.android.internal.R.bool.config_supportSystemNavigationKeys))
.thenReturn(true);
- mController.displayPreference(mScreen);
- verify(mScreen, never()).removePreference(any(Preference.class));
+ assertThat(mController.isAvailable()).isTrue();
}
@Test
- public void display_configIsFalse_shouldNotDisplay() {
+ public void isAvailable_configIsFalse_shouldReturnFalse() {
when(mContext.getResources().
getBoolean(com.android.internal.R.bool.config_supportSystemNavigationKeys))
.thenReturn(false);
- when(mScreen.findPreference(mController.getPreferenceKey()))
- .thenReturn(mock(Preference.class));
- mController.displayPreference(mScreen);
-
- verify(mScreen).removePreference(any(Preference.class));
+ assertThat(mController.isAvailable()).isFalse();
}
@Test
- public void updateState_preferenceSetCheckedWhenSettingIsOn() {
- final TwoStatePreference preference = mock(TwoStatePreference.class);
+ public void testSwitchEnabled_configIsSet_shouldReturnTrue() {
+ // Set the setting to be enabled.
final Context context = ShadowApplication.getInstance().getApplicationContext();
Settings.System.putInt(context.getContentResolver(), SYSTEM_NAVIGATION_KEYS_ENABLED, 1);
+ mController = new SwipeToNotificationPreferenceController(context, null);
- mController = new SwipeToNotificationPreferenceController(context);
- mController.updateState(preference);
-
- verify(preference).setChecked(true);
+ assertThat(mController.isSwitchPrefEnabled()).isTrue();
}
@Test
- public void updateState_preferenceSetUncheckedWhenSettingIsOff() {
- final TwoStatePreference preference = mock(TwoStatePreference.class);
+ public void testSwitchEnabled_configIsNotSet_shouldReturnFalse() {
+ // Set the setting to be disabled.
final Context context = ShadowApplication.getInstance().getApplicationContext();
Settings.System.putInt(context.getContentResolver(), SYSTEM_NAVIGATION_KEYS_ENABLED, 0);
+ mController = new SwipeToNotificationPreferenceController(context, null);
- mController = new SwipeToNotificationPreferenceController(context);
- mController.updateState(preference);
-
- verify(preference).setChecked(false);
+ assertThat(mController.isSwitchPrefEnabled()).isFalse();
}
-
}
diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java
new file mode 100644
index 0000000..19185a0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java
@@ -0,0 +1,65 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.PreferenceController;
+
+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 java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class SwipeToNotificationSettingsTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ private SwipeToNotificationSettings mFragment;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mFragment = new SwipeToNotificationSettings();
+ }
+
+ @Test
+ public void testGetPreferenceScreenResId() {
+ assertThat(mFragment.getPreferenceScreenResId())
+ .isEqualTo(R.xml.swipe_to_notification_settings);
+ }
+
+ @Test
+ public void testGetPreferenceControllers_shouldAllBeCreated() {
+ final List<PreferenceController> controllers = mFragment.getPreferenceControllers(mContext);
+
+ assertThat(controllers.isEmpty()).isFalse();
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/GameControllerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/GameControllerPreferenceControllerTest.java
new file mode 100644
index 0000000..c1bd0e0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/GameControllerPreferenceControllerTest.java
@@ -0,0 +1,108 @@
+/*
+ * 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.inputmethod;
+
+import android.content.Context;
+import android.hardware.input.InputManager;
+import android.view.InputDevice;
+
+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;
+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 GameControllerPreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock
+ private InputManager mInputManager;
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private InputDevice mInputDevice;
+
+ private GameControllerPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ when(mContext.getSystemService(Context.INPUT_SERVICE)).thenReturn(mInputManager);
+ mController = new GameControllerPreferenceController(mContext);
+ }
+
+ @Test
+ public void testLifecycle_shouldRegisterInputManager() {
+ mController.onResume();
+
+ // register is called, but unregister should not be called.
+ verify(mInputManager).registerInputDeviceListener(mController, null);
+ verify(mInputManager, never()).unregisterInputDeviceListener(mController);
+
+ mController.onPause();
+ // register is not called any more times, but unregister should be called once.
+ verify(mInputManager).registerInputDeviceListener(mController, null);
+ verify(mInputManager).unregisterInputDeviceListener(mController);
+ }
+
+ @Test
+ public void testIsAvailable_hasDeviceWithVibrator_shouldReturnTrue() {
+ when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{1});
+ when(mInputManager.getInputDevice(1)).thenReturn(mInputDevice);
+ when(mInputDevice.isVirtual()).thenReturn(false);
+ when(mInputDevice.getVibrator().hasVibrator()).thenReturn(true);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void testIsAvailable_hasNoVibratingDevice_shouldReturnFalse() {
+ when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{1});
+ when(mInputManager.getInputDevice(1)).thenReturn(mInputDevice);
+ when(mInputDevice.isVirtual()).thenReturn(false);
+ when(mInputDevice.getVibrator().hasVibrator()).thenReturn(false);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testIsAvailable_hasNoPhysicalDevice_shouldReturnFalse() {
+ when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{1});
+ when(mInputManager.getInputDevice(1)).thenReturn(mInputDevice);
+ when(mInputDevice.isVirtual()).thenReturn(true);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testIsAvailable_hasNoDevice_shouldReturnFalse() {
+ when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{});
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputAndGestureSettingsTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputAndGestureSettingsTest.java
new file mode 100644
index 0000000..ce8ed1c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/InputAndGestureSettingsTest.java
@@ -0,0 +1,107 @@
+/*
+ * 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.inputmethod;
+
+import android.content.Context;
+import android.hardware.input.InputManager;
+
+import com.android.internal.hardware.AmbientDisplayConfiguration;
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+
+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 java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+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 InputAndGestureSettingsTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ private TestFragment mFragment;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ when(mContext.getSystemService(Context.INPUT_SERVICE)).thenReturn(mock(InputManager.class));
+ mFragment = new TestFragment(mContext);
+ }
+
+ @Test
+ public void testGetPreferenceScreenResId() {
+ assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(R.xml.input_and_gesture);
+ }
+
+ @Test
+ public void testGetPreferenceControllers_shouldRegisterLifecycleObservers() {
+ final List<PreferenceController> controllers = mFragment.getPreferenceControllers(mContext);
+ int lifecycleObserverCount = 0;
+ for (PreferenceController controller : controllers) {
+ if (controller instanceof LifecycleObserver) {
+ lifecycleObserverCount++;
+ }
+ }
+ verify(mFragment.getLifecycle(), times(lifecycleObserverCount))
+ .addObserver(any(LifecycleObserver.class));
+ }
+
+ /**
+ * Test fragment to expose lifecycle and context so we can verify behavior for observables.
+ */
+ public static class TestFragment extends InputAndGestureSettings {
+
+ private Lifecycle mLifecycle;
+ private Context mContext;
+
+ public TestFragment(Context context) {
+ mContext = context;
+ mLifecycle = mock(Lifecycle.class);
+ setAmbientDisplayConfig(mock(AmbientDisplayConfiguration.class));
+ }
+
+ @Override
+ public Context getContext() {
+ return mContext;
+ }
+
+ @Override
+ protected Lifecycle getLifecycle() {
+ if (mLifecycle == null) {
+ return super.getLifecycle();
+ }
+ return mLifecycle;
+ }
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceControllerTest.java
new file mode 100644
index 0000000..78c0590
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceControllerTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.inputmethod;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.view.textservice.SpellCheckerInfo;
+import android.view.textservice.TextServicesManager;
+
+import com.android.settings.R;
+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 org.robolectric.shadows.ShadowApplication;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class SpellCheckerPreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock
+ private TextServicesManager mTextServicesManager;
+ private Context mAppContext;
+ private Preference mPreference;
+ private SpellCheckerPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mAppContext = ShadowApplication.getInstance().getApplicationContext();
+ when(mContext.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE))
+ .thenReturn(mTextServicesManager);
+ mPreference = new Preference(mAppContext);
+ mController = new SpellCheckerPreferenceController(mContext);
+ }
+
+ @Test
+ public void updateState_NoSpellerChecker_shouldSetSummaryToDefault() {
+ when(mTextServicesManager.isSpellCheckerEnabled()).thenReturn(true);
+ when(mTextServicesManager.getCurrentSpellChecker()).thenReturn(null);
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getSummary())
+ .isEqualTo(mAppContext.getString(R.string.spell_checker_not_selected));
+ }
+
+ @Test
+ public void updateState_spellerCheckerDisabled_shouldSetSummaryToDisabledText() {
+ when(mTextServicesManager.isSpellCheckerEnabled()).thenReturn(false);
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getSummary())
+ .isEqualTo(mAppContext.getString(R.string.switch_off_text));
+ }
+
+ @Test
+ public void updateState_hasSpellerChecker_shouldSetSummaryToAppName() {
+ final String spellCheckerAppLabel = "test";
+ final SpellCheckerInfo sci = mock(SpellCheckerInfo.class);
+ when(mTextServicesManager.isSpellCheckerEnabled()).thenReturn(true);
+ when(mTextServicesManager.getCurrentSpellChecker()).thenReturn(sci);
+ when(sci.loadLabel(mContext.getPackageManager())).thenReturn(spellCheckerAppLabel);
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getSummary()).isEqualTo(spellCheckerAppLabel);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndRegionSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndRegionSettingsTest.java
new file mode 100644
index 0000000..7efdc9d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndRegionSettingsTest.java
@@ -0,0 +1,83 @@
+/*
+ * 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.language;
+
+import android.content.Context;
+import android.view.textservice.TextServicesManager;
+
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.PreferenceController;
+
+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 java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class LanguageAndRegionSettingsTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ private TestFragment mFragment;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ when(mContext.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE))
+ .thenReturn(mock(TextServicesManager.class));
+ mFragment = new TestFragment(mContext);
+ }
+
+ @Test
+ public void testGetPreferenceScreenResId() {
+ assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(R.xml.language_and_region);
+ }
+
+ @Test
+ public void testGetPreferenceControllers_shouldAllBeCreated() {
+ final List<PreferenceController> controllers = mFragment.getPreferenceControllers(mContext);
+
+ assertThat(controllers.isEmpty()).isFalse();
+ }
+
+ public static class TestFragment extends LanguageAndRegionSettings {
+
+ private Context mContext;
+
+ public TestFragment(Context context) {
+ mContext = context;
+ }
+
+ @Override
+ public Context getContext() {
+ return mContext;
+ }
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/language/PhoneLanguagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/language/PhoneLanguagePreferenceControllerTest.java
new file mode 100644
index 0000000..e7367bb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/language/PhoneLanguagePreferenceControllerTest.java
@@ -0,0 +1,80 @@
+/*
+ * 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.language;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+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;
+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 PhoneLanguagePreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock
+ private Preference mPreference;
+ private FakeFeatureFactory mFeatureFactory;
+ private PhoneLanguagePreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ FakeFeatureFactory.setupForTest(mContext);
+ mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+ mController = new PhoneLanguagePreferenceController(mContext);
+ }
+
+ @Test
+ public void testIsAvailable_hasMultipleLocales_shouldReturnTrue() {
+ when(mContext.getAssets().getLocales()).thenReturn(new String[]{"en", "de"});
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void testIsAvailable_hasSingleLocales_shouldReturnFalse() {
+ when(mContext.getAssets().getLocales()).thenReturn(new String[]{"en"});
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testUpdateState_shouldUpdateSummary() {
+ final String testSummary = "test";
+ when(mFeatureFactory.localeFeatureProvider.getLocaleNames()).thenReturn(testSummary);
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setSummary(testSummary);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/language/TtsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/language/TtsPreferenceControllerTest.java
new file mode 100644
index 0000000..0e41784
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/language/TtsPreferenceControllerTest.java
@@ -0,0 +1,94 @@
+/*
+ * 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.language;
+
+import android.content.Context;
+import android.speech.tts.TextToSpeech;
+import android.speech.tts.TtsEngines;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+
+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 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;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+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 TtsPreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock
+ private TtsEngines mTtsEngines;
+ @Mock
+ private PreferenceScreen mScreen;
+
+ private TtsPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mController = new TtsPreferenceController(mContext, mTtsEngines);
+ }
+
+ @Test
+ public void testIsAvailable_ttsEngineEmpty_shouldReturnFalse() {
+
+ // Not available when there is no engine.
+ when(mTtsEngines.getEngines()).thenReturn(new ArrayList<>());
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testIsAvailable_ttsEngineInstalled_shouldReturnTrue() {
+ final List<TextToSpeech.EngineInfo> infolist = new ArrayList<>();
+ infolist.add(mock(TextToSpeech.EngineInfo.class));
+ when(mTtsEngines.getEngines()).thenReturn(infolist);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void displayPreference_notAvailable_shouldRemoveCategory() {
+ when(mScreen.findPreference(anyString())).thenReturn(mock(Preference.class));
+
+ mController.displayPreference(mScreen);
+
+ // Remove both category and preference.
+ verify(mScreen, times(2)).removePreference(any(Preference.class));
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/language/UserDictionaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/language/UserDictionaryPreferenceControllerTest.java
new file mode 100644
index 0000000..d2032ed
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/language/UserDictionaryPreferenceControllerTest.java
@@ -0,0 +1,122 @@
+/*
+ * 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.language;
+
+import android.content.Context;
+import android.speech.tts.TtsEngines;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.UserDictionarySettings;
+import com.android.settings.inputmethod.UserDictionaryList;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+import java.util.TreeSet;
+
+import static com.google.common.truth.Truth.assertThat;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class UserDictionaryPreferenceControllerTest {
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private Context mContext;
+ @Mock
+ private TtsEngines mTtsEngines;
+ private Preference mPreference;
+ private TestController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ FakeFeatureFactory.setupForTest(mContext);
+ mController = new TestController(mContext);
+ mPreference = new Preference(ShadowApplication.getInstance().getApplicationContext());
+ }
+
+ @Test
+ public void testIsAvailable_noLocale_shouldReturnFalse() {
+ mController.mLocales = null;
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void testIsAvailable_hasLocale_shouldReturnTrue() {
+ mController.mLocales.add("en");
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void updateState_noLocale_setUserDictionarySettingsAsFragment() {
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getFragment())
+ .isEqualTo(UserDictionarySettings.class.getCanonicalName());
+ }
+
+ @Test
+ public void updateState_singleLocale_setUserDictionarySettingsAsFragment_setLocaleInExtra() {
+ mController.mLocales.add("en");
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getFragment())
+ .isEqualTo(UserDictionarySettings.class.getCanonicalName());
+ assertThat(mPreference.getExtras().getString("locale"))
+ .isEqualTo("en");
+ }
+
+ @Test
+ public void updateState_multiLocale_setUserDictionaryListAsFragment() {
+ mController.mLocales.add("en");
+ mController.mLocales.add("de");
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getFragment())
+ .isEqualTo(UserDictionaryList.class.getCanonicalName());
+ }
+
+ /**
+ * Fake Controller that overrides getDictionaryLocales to make testing the rest of stuff easier.
+ */
+ private class TestController extends UserDictionaryPreferenceController {
+
+ private TreeSet<String> mLocales = new TreeSet<>();
+
+ @Override
+ protected TreeSet<String> getDictionaryLocales() {
+ return mLocales;
+ }
+
+ public TestController(Context context) {
+ super(context);
+ }
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
new file mode 100644
index 0000000..4c11008
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.password;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.provider.Settings;
+
+import com.android.settings.ChooseLockGeneric;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.SetupChooseLockGeneric;
+import com.android.settings.TestConfig;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowActivity;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.robolectric.Shadows.shadowOf;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class SetNewPasswordActivityTest {
+
+ private int mProvisioned;
+
+ @Before
+ public void setUp() {
+ mProvisioned = Settings.Global.getInt(RuntimeEnvironment.application.getContentResolver(),
+ Settings.Global.DEVICE_PROVISIONED, 0);
+ }
+
+ @After
+ public void tearDown() {
+ Settings.Global.putInt(RuntimeEnvironment.application.getContentResolver(),
+ Settings.Global.DEVICE_PROVISIONED, mProvisioned);
+ }
+
+ @Test
+ public void testChooseLockGeneric() {
+ Settings.Global.putInt(RuntimeEnvironment.application.getContentResolver(),
+ Settings.Global.DEVICE_PROVISIONED, 1);
+ SetNewPasswordActivity activity = Robolectric.setupActivity(SetNewPasswordActivity.class);
+ ShadowActivity shadowActivity = shadowOf(activity);
+ Intent intent = shadowActivity.getNextStartedActivityForResult().intent;
+
+ assertThat(intent.getComponent())
+ .isEqualTo(new ComponentName(activity, ChooseLockGeneric.class));
+ }
+
+ @Test
+ public void testSetupChooseLockGeneric() {
+ Settings.Global.putInt(RuntimeEnvironment.application.getContentResolver(),
+ Settings.Global.DEVICE_PROVISIONED, 0);
+ SetNewPasswordActivity activity = Robolectric.setupActivity(SetNewPasswordActivity.class);
+ ShadowActivity shadowActivity = shadowOf(activity);
+ Intent intent = shadowActivity.getNextStartedActivityForResult().intent;
+
+ assertThat(intent.getComponent())
+ .isEqualTo(new ComponentName(activity, SetupChooseLockGeneric.class));
+
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
index 7bf908d..3528863 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -16,8 +16,11 @@
package com.android.settings.testutils;
import android.content.Context;
+
+import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProvider;
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.localepicker.LocaleFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
@@ -38,6 +41,8 @@
public final PowerUsageFeatureProvider powerUsageFeatureProvider;
public final DashboardFeatureProvider dashboardFeatureProvider;
public final LocaleFeatureProvider localeFeatureProvider;
+ public final ApplicationFeatureProvider applicationFeatureProvider;
+ public final EnterprisePrivacyFeatureProvider enterprisePrivacyFeatureProvider;
/**
* Call this in {@code @Before} method of the test class to use fake factory.
@@ -65,6 +70,8 @@
powerUsageFeatureProvider = mock(PowerUsageFeatureProvider.class);
dashboardFeatureProvider = mock(DashboardFeatureProvider.class);
localeFeatureProvider = mock(LocaleFeatureProvider.class);
+ applicationFeatureProvider = mock(ApplicationFeatureProvider.class);
+ enterprisePrivacyFeatureProvider = mock(EnterprisePrivacyFeatureProvider.class);
}
@Override
@@ -88,7 +95,17 @@
}
@Override
+ public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
+ return applicationFeatureProvider;
+ }
+
+ @Override
public LocaleFeatureProvider getLocaleFeatureProvider() {
return localeFeatureProvider;
}
+
+ @Override
+ public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
+ return enterprisePrivacyFeatureProvider;
+ }
}
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());
+ }
+}