summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.bp4
-rw-r--r--AndroidManifest.xml17
-rw-r--r--res/drawable/ic_connection_indicator.xml25
-rw-r--r--res/layout/add_associated_device_fragment.xml54
-rw-r--r--res/layout/associated_device_detail_fragment.xml113
-rw-r--r--res/layout/base_activity.xml9
-rw-r--r--res/layout/confirm_pairing_code_fragment.xml2
-rw-r--r--res/layout/trusted_device_detail_fragment.xml45
-rw-r--r--res/values-af/strings.xml8
-rw-r--r--res/values-am/strings.xml8
-rw-r--r--res/values-ar/strings.xml8
-rw-r--r--res/values-as/strings.xml8
-rw-r--r--res/values-az/strings.xml8
-rw-r--r--res/values-b+sr+Latn/strings.xml8
-rw-r--r--res/values-be/strings.xml8
-rw-r--r--res/values-bg/strings.xml8
-rw-r--r--res/values-bn/strings.xml8
-rw-r--r--res/values-bs/strings.xml8
-rw-r--r--res/values-ca/strings.xml8
-rw-r--r--res/values-cs/strings.xml8
-rw-r--r--res/values-da/strings.xml8
-rw-r--r--res/values-de/strings.xml8
-rw-r--r--res/values-el/strings.xml8
-rw-r--r--res/values-en-rAU/strings.xml8
-rw-r--r--res/values-en-rCA/strings.xml8
-rw-r--r--res/values-en-rGB/strings.xml8
-rw-r--r--res/values-en-rIN/strings.xml8
-rw-r--r--res/values-en-rXC/strings.xml8
-rw-r--r--res/values-es-rUS/strings.xml8
-rw-r--r--res/values-es/strings.xml8
-rw-r--r--res/values-et/strings.xml8
-rw-r--r--res/values-eu/strings.xml8
-rw-r--r--res/values-fa/strings.xml8
-rw-r--r--res/values-fi/strings.xml8
-rw-r--r--res/values-fr-rCA/strings.xml8
-rw-r--r--res/values-fr/strings.xml8
-rw-r--r--res/values-gl/strings.xml8
-rw-r--r--res/values-gu/strings.xml8
-rw-r--r--res/values-hi/strings.xml8
-rw-r--r--res/values-hr/strings.xml8
-rw-r--r--res/values-hu/strings.xml8
-rw-r--r--res/values-hy/strings.xml8
-rw-r--r--res/values-in/strings.xml8
-rw-r--r--res/values-is/strings.xml8
-rw-r--r--res/values-it/strings.xml8
-rw-r--r--res/values-iw/strings.xml8
-rw-r--r--res/values-ja/strings.xml8
-rw-r--r--res/values-ka/strings.xml8
-rw-r--r--res/values-kk/strings.xml8
-rw-r--r--res/values-km/strings.xml8
-rw-r--r--res/values-kn/strings.xml8
-rw-r--r--res/values-ko/strings.xml8
-rw-r--r--res/values-ky/strings.xml8
-rw-r--r--res/values-land/dimens.xml2
-rw-r--r--res/values-lo/strings.xml8
-rw-r--r--res/values-lt/strings.xml8
-rw-r--r--res/values-lv/strings.xml8
-rw-r--r--res/values-mk/strings.xml8
-rw-r--r--res/values-ml/strings.xml8
-rw-r--r--res/values-mn/strings.xml8
-rw-r--r--res/values-mr/strings.xml8
-rw-r--r--res/values-ms/strings.xml8
-rw-r--r--res/values-my/strings.xml8
-rw-r--r--res/values-nb/strings.xml8
-rw-r--r--res/values-ne/strings.xml8
-rw-r--r--res/values-nl/strings.xml8
-rw-r--r--res/values-or/strings.xml8
-rw-r--r--res/values-pa/strings.xml8
-rw-r--r--res/values-pl/strings.xml8
-rw-r--r--res/values-pt-rPT/strings.xml8
-rw-r--r--res/values-pt/strings.xml8
-rw-r--r--res/values-ro/strings.xml8
-rw-r--r--res/values-ru/strings.xml8
-rw-r--r--res/values-si/strings.xml8
-rw-r--r--res/values-sk/strings.xml8
-rw-r--r--res/values-sl/strings.xml8
-rw-r--r--res/values-sq/strings.xml8
-rw-r--r--res/values-sr/strings.xml8
-rw-r--r--res/values-sv/strings.xml8
-rw-r--r--res/values-sw/strings.xml8
-rw-r--r--res/values-ta/strings.xml8
-rw-r--r--res/values-te/strings.xml8
-rw-r--r--res/values-th/strings.xml8
-rw-r--r--res/values-tl/strings.xml8
-rw-r--r--res/values-tr/strings.xml8
-rw-r--r--res/values-uk/strings.xml8
-rw-r--r--res/values-ur/strings.xml8
-rw-r--r--res/values-uz/strings.xml8
-rw-r--r--res/values-vi/strings.xml8
-rw-r--r--res/values-zh-rCN/strings.xml8
-rw-r--r--res/values-zh-rHK/strings.xml8
-rw-r--r--res/values-zh-rTW/strings.xml8
-rw-r--r--res/values-zu/strings.xml8
-rw-r--r--res/values/colors.xml4
-rw-r--r--res/values/dimens.xml33
-rw-r--r--res/values/strings.xml10
-rw-r--r--res/values/styles.xml28
-rw-r--r--res/values/themes.xml2
-rw-r--r--src/com/android/car/companiondevicesupport/activity/AssociatedDeviceDetailFragment.java51
-rw-r--r--src/com/android/car/companiondevicesupport/activity/AssociationActivity.java25
-rw-r--r--src/com/android/car/companiondevicesupport/feature/RemoteFeature.java40
-rw-r--r--src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleaner.java11
-rw-r--r--src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporter.java51
-rw-r--r--src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegate.java171
-rw-r--r--src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeature.java2
-rw-r--r--src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgService.java3
-rw-r--r--src/com/android/car/companiondevicesupport/feature/trust/ui/TrustedDeviceActivity.java13
-rw-r--r--tests/unit/AndroidManifest.xml10
-rw-r--r--tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleanerTest.java27
-rw-r--r--tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporterTest.java37
-rw-r--r--tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegateTest.java785
-rw-r--r--tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeatureTest.java159
-rw-r--r--tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/OWNERS3
113 files changed, 1705 insertions, 703 deletions
diff --git a/Android.bp b/Android.bp
index ed40892..16d2b70 100644
--- a/Android.bp
+++ b/Android.bp
@@ -64,7 +64,6 @@ android_library {
static_libs: [
"CompanionDeviceSupport-aidl",
"CompanionDeviceSupport-proto",
- "EncryptionRunner-lib",
"androidx-constraintlayout_constraintlayout",
"androidx-constraintlayout_constraintlayout-solver",
"androidx.legacy_legacy-support-v4",
@@ -75,10 +74,11 @@ android_library {
"com.google.android.material_material",
"companion-feature-calendarsync-protos",
"connected-device-lib",
+ "encryption-runner",
],
plugins: [
- "car-androidx-room-compiler",
+ "androidx.room_room-compiler-plugin",
],
}
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4d4ddb3..ab9da21 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -29,11 +29,13 @@
<!-- Needed for the calendar sync feature -->
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
+ <!-- Needed to post messaging notifications on behalf of other apps -->
+ <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
+
<application
android:label="@string/app_name"
android:theme="@style/CompanionDeviceSupportTheme"
- android:directBootAware="true"
- xmlns:tools="http://schemas.android.com/tools">
+ android:directBootAware="true">
<service
android:name=".service.CompanionDeviceSupportService"
android:singleUser="true"
@@ -48,7 +50,8 @@
</intent-filter>
</service>
<activity android:name=".activity.AssociationActivity"
- android:exported="true">
+ android:exported="true"
+ android:launchMode="singleInstance">
<intent-filter>
<action android:name="com.android.car.companiondevicesupport.ASSOCIATION_ACTIVITY" />
<action android:name="com.android.settings.action.EXTRA_SETTINGS" />
@@ -116,13 +119,5 @@
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.security" />
</activity>
-
- <!-- Workaround for b/113294940 -->
- <provider
- android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
- tools:replace="android:authorities"
- android:authorities="${applicationId}.lifecycle"
- android:exported="false"
- android:multiprocess="true" />
</application>
</manifest>
diff --git a/res/drawable/ic_connection_indicator.xml b/res/drawable/ic_connection_indicator.xml
new file mode 100644
index 0000000..35e3ab3
--- /dev/null
+++ b/res/drawable/ic_connection_indicator.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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.
+ -->
+
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="oval">
+ <solid android:color="?android:attr/textColorPrimary" />
+ <size
+ android:width="@dimen/connection_indicator_size"
+ android:height="@dimen/connection_indicator_size" />
+</shape> \ No newline at end of file
diff --git a/res/layout/add_associated_device_fragment.xml b/res/layout/add_associated_device_fragment.xml
index 044fd66..d068a41 100644
--- a/res/layout/add_associated_device_fragment.xml
+++ b/res/layout/add_associated_device_fragment.xml
@@ -71,26 +71,35 @@
app:layout_constraintTop_toBottomOf="@+id/add_associated_device_instruction"
app:layout_constraintStart_toEndOf="@+id/start_guideline"
app:layout_constraintEnd_toStartOf="@+id/end_guideline"
- style="@style/InstructionStepItem">
+ android:minHeight="@dimen/list_item_height">
<ImageView
android:id="@+id/install_app_icon"
- android:layout_width="@dimen/icon_size"
- android:layout_height="@dimen/icon_size"
- android:layout_marginStart="@dimen/icon_margin_start"
+ android:layout_width="@dimen/list_item_icon_size"
+ android:layout_height="@dimen/list_item_icon_size"
+ android:layout_gravity="center"
+ android:scaleType="fitXY"
android:src="@drawable/ic_smartphone"
app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/install_app_icon_end_guideline"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- style="@style/AssociationDetailIcon"/>
+ app:layout_constraintBottom_toBottomOf="parent"/>
+ <androidx.constraintlayout.widget.Guideline
+ android:id="@+id/install_app_icon_end_guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_begin="@dimen/car_ui_list_item_icon_container_width" />
<TextView
android:id="@+id/install_app_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/text_margin_start"
- android:layout_marginEnd="@dimen/text_margin_end"
+ android:layout_marginStart="@dimen/list_item_text_margin_start"
+ android:layout_marginEnd="@dimen/list_item_text_margin_end"
+ android:layout_marginBottom="@dimen/list_item_content_margin_bottom"
+ android:layout_marginTop="@dimen/list_item_content_margin_top"
android:text="@string/associated_device_install_app"
android:textAppearance="@style/AssociationInstruction"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/install_app_icon_end_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
@@ -103,26 +112,35 @@
app:layout_constraintStart_toEndOf="@+id/start_guideline"
app:layout_constraintEnd_toStartOf="@+id/end_guideline"
app:layout_constraintTop_toBottomOf="@+id/install_app_instruction"
- style="@style/InstructionStepItem">
+ android:minHeight="@dimen/list_item_height">
<ImageView
android:id="@+id/select_device_icon"
- android:layout_width="@dimen/icon_size"
- android:layout_height="@dimen/icon_size"
- android:layout_marginStart="@dimen/icon_margin_start"
+ android:layout_width="@dimen/list_item_icon_size"
+ android:layout_height="@dimen/list_item_icon_size"
+ android:layout_gravity="center"
+ android:scaleType="fitXY"
android:src="@drawable/ic_directions_car"
app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/select_device_icon_end_guideline"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- style="@style/AssociationDetailIcon"/>
+ app:layout_constraintBottom_toBottomOf="parent"/>
+ <androidx.constraintlayout.widget.Guideline
+ android:id="@+id/select_device_icon_end_guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_begin="@dimen/car_ui_list_item_icon_container_width" />
<TextView
android:id="@+id/associated_device_select_device"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/text_margin_start"
- android:layout_marginEnd="@dimen/text_margin_end"
+ android:layout_marginStart="@dimen/list_item_text_margin_start"
+ android:layout_marginEnd="@dimen/list_item_text_margin_end"
+ android:layout_marginBottom="@dimen/list_item_content_margin_bottom"
+ android:layout_marginTop="@dimen/list_item_content_margin_top"
android:text="@string/associated_device_select_device"
android:textAppearance="@style/AssociationInstruction"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/select_device_icon_end_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
diff --git a/res/layout/associated_device_detail_fragment.xml b/res/layout/associated_device_detail_fragment.xml
index f5f6a53..b0738be 100644
--- a/res/layout/associated_device_detail_fragment.xml
+++ b/res/layout/associated_device_detail_fragment.xml
@@ -43,16 +43,29 @@
app:layout_constraintTop_toBottomOf="@+id/device_icon"
app:layout_constraintBottom_toTopOf="@+id/connection_status"/>
- <TextView
+ <LinearLayout
android:id="@+id/connection_status"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
android:layout_marginTop="@dimen/device_detail_margin"
- android:textAppearance="@style/AssociationMessage"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/device_name"
- app:layout_constraintBottom_toTopOf="@+id/connection_button"/>
+ app:layout_constraintBottom_toTopOf="@+id/connection_button">
+ <ImageView
+ android:id="@+id/connection_status_indicator"
+ android:layout_height="@dimen/connection_indicator_size"
+ android:layout_width="@dimen/connection_indicator_size"
+ android:layout_marginEnd="@dimen/connection_indicator_margin_end"
+ android:src="@drawable/ic_connection_indicator"/>
+ <TextView
+ android:id="@+id/connection_status_text"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:textAppearance="@style/AssociationMessage"/>
+ </LinearLayout>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/start_guideline"
@@ -66,30 +79,40 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/device_detail_button_margin_top"
+ android:background="@drawable/car_ui_list_item_background"
+ android:clickable="true"
+ android:minHeight="@dimen/list_item_height"
app:layout_constraintStart_toEndOf="@+id/start_guideline"
app:layout_constraintEnd_toStartOf="@+id/end_guideline"
app:layout_constraintTop_toBottomOf="@+id/connection_status"
- app:layout_constraintBottom_toTopOf="@+id/remove_button"
- style="@style/DeviceDetailButton">
+ app:layout_constraintBottom_toTopOf="@+id/remove_button">
<ImageView
android:id="@+id/connection_icon"
- android:layout_width="@dimen/icon_size"
- android:layout_height="@dimen/icon_size"
- android:layout_marginStart="@dimen/icon_margin_start"
+ android:layout_width="@dimen/list_item_icon_size"
+ android:layout_height="@dimen/list_item_icon_size"
+ android:scaleType="fitXY"
android:src="@drawable/ic_phonelink_erase"
app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/connection_icon_end_guideline"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- style="@style/AssociationDetailIcon"/>
+ app:layout_constraintBottom_toBottomOf="parent"/>
+ <androidx.constraintlayout.widget.Guideline
+ android:id="@+id/connection_icon_end_guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_begin="@dimen/car_ui_list_item_icon_container_width" />
<TextView
android:id="@+id/connection_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/text_margin_start"
- android:layout_marginEnd="@dimen/text_margin_end"
+ android:layout_marginStart="@dimen/list_item_text_margin_start"
+ android:layout_marginEnd="@dimen/list_item_text_margin_end"
+ android:layout_marginBottom="@dimen/list_item_content_margin_bottom"
+ android:layout_marginTop="@dimen/list_item_content_margin_top"
android:text="@string/connection"
android:textAppearance="@style/AssociationTitle"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/connection_icon_end_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
@@ -99,30 +122,41 @@
android:id="@+id/remove_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
+ android:background="@drawable/car_ui_list_item_background"
+ android:clickable="true"
+ android:minHeight="@dimen/list_item_height"
app:layout_constraintStart_toEndOf="@+id/start_guideline"
app:layout_constraintEnd_toStartOf="@+id/end_guideline"
app:layout_constraintTop_toBottomOf="@+id/connection_button"
- app:layout_constraintBottom_toTopOf="@+id/divider"
- style="@style/DeviceDetailButton">
+ app:layout_constraintBottom_toTopOf="@+id/divider">
<ImageView
android:id="@+id/delete_icon"
- android:layout_width="@dimen/icon_size"
- android:layout_height="@dimen/icon_size"
- android:layout_marginStart="@dimen/icon_margin_start"
+ android:layout_width="@dimen/list_item_icon_size"
+ android:layout_height="@dimen/list_item_icon_size"
+ android:layout_gravity="center"
+ android:scaleType="fitXY"
android:src="@drawable/ic_delete"
app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/delete_icon_end_guideline"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- style="@style/AssociationDetailIcon"/>
+ app:layout_constraintBottom_toBottomOf="parent"/>
+ <androidx.constraintlayout.widget.Guideline
+ android:id="@+id/delete_icon_end_guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_begin="@dimen/car_ui_list_item_icon_container_width" />
<TextView
android:id="@+id/remove_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/text_margin_start"
- android:layout_marginEnd="@dimen/text_margin_end"
+ android:layout_marginStart="@dimen/list_item_text_margin_start"
+ android:layout_marginEnd="@dimen/list_item_text_margin_end"
+ android:layout_marginBottom="@dimen/list_item_content_margin_bottom"
+ android:layout_marginTop="@dimen/list_item_content_margin_top"
android:text="@string/forget_title"
android:textAppearance="@style/AssociationTitle"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/delete_icon_end_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
@@ -131,7 +165,7 @@
<View
android:id="@+id/divider"
android:layout_width="0dp"
- android:layout_height="1dp"
+ android:layout_height="@dimen/list_item_divider_width"
android:layout_marginTop="@dimen/device_detail_divider_margin"
app:layout_constraintStart_toEndOf="@+id/start_guideline"
app:layout_constraintEnd_toStartOf="@+id/end_guideline"
@@ -144,29 +178,40 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/device_detail_divider_margin"
+ android:background="@drawable/car_ui_list_item_background"
+ android:clickable="true"
+ android:minHeight="@dimen/list_item_height"
app:layout_constraintTop_toBottomOf="@+id/divider"
app:layout_constraintStart_toEndOf="@+id/start_guideline"
- app:layout_constraintEnd_toStartOf="@+id/end_guideline"
- style="@style/DeviceDetailButton">
+ app:layout_constraintEnd_toStartOf="@+id/end_guideline">
<ImageView
android:id="@+id/trusted_device_icon"
- android:layout_width="@dimen/icon_size"
- android:layout_height="@dimen/icon_size"
- android:layout_marginStart="@dimen/icon_margin_start"
+ android:layout_width="@dimen/list_item_icon_size"
+ android:layout_height="@dimen/list_item_icon_size"
+ android:layout_gravity="center"
+ android:scaleType="fitXY"
android:src="@drawable/ic_lock"
app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/trusted_device_icon_end_guideline"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- style="@style/AssociationDetailIcon"/>
+ app:layout_constraintBottom_toBottomOf="parent"/>
+ <androidx.constraintlayout.widget.Guideline
+ android:id="@+id/trusted_device_icon_end_guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_begin="@dimen/car_ui_list_item_icon_container_width" />
<TextView
android:id="@+id/trusted_device_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/text_margin_start"
- android:layout_marginEnd="@dimen/text_margin_end"
+ android:layout_marginStart="@dimen/list_item_text_margin_start"
+ android:layout_marginEnd="@dimen/list_item_text_margin_end"
+ android:layout_marginBottom="@dimen/list_item_content_margin_bottom"
+ android:layout_marginTop="@dimen/list_item_content_margin_top"
android:text="@string/trusted_device_feature_title"
android:textAppearance="@style/AssociationTitle"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/trusted_device_icon_end_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
diff --git a/res/layout/base_activity.xml b/res/layout/base_activity.xml
index a654563..830ccd0 100644
--- a/res/layout/base_activity.xml
+++ b/res/layout/base_activity.xml
@@ -20,19 +20,12 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <com.android.car.ui.toolbar.Toolbar
- android:id="@+id/toolbar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:layout_constraintTop_toTopOf="parent"
- app:state="subpage"/>
-
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/toolbar"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/confirm_pairing_code_fragment.xml b/res/layout/confirm_pairing_code_fragment.xml
index 7af0612..263b187 100644
--- a/res/layout/confirm_pairing_code_fragment.xml
+++ b/res/layout/confirm_pairing_code_fragment.xml
@@ -50,7 +50,7 @@
android:id="@+id/pairing_code"
android:layout_height="@dimen/list_item_height"
android:layout_width="wrap_content"
- android:layout_marginTop="@dimen/pairing_code_top_margin"
+ android:layout_marginTop="@dimen/pairing_code_margin_top"
android:layout_marginStart="@dimen/car_ui_margin"
android:layout_marginEnd="@dimen/car_ui_margin"
android:gravity="center"
diff --git a/res/layout/trusted_device_detail_fragment.xml b/res/layout/trusted_device_detail_fragment.xml
index 6371aff..f2b1274 100644
--- a/res/layout/trusted_device_detail_fragment.xml
+++ b/res/layout/trusted_device_detail_fragment.xml
@@ -20,22 +20,23 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <FrameLayout
+ <TextView
android:id="@+id/trusted_device_instruction"
- android:layout_width="match_parent"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/car_ui_margin"
android:layout_marginEnd="@dimen/car_ui_margin"
- android:gravity="center_horizontal"
- style="@style/DeviceListItem">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/no_icon_text_margin_start"
- android:layout_marginEnd="@dimen/text_margin_end"
- android:text="@string/trusted_device_feature_instruction"
- android:textAppearance="@style/TrustedDeviceMessage"/>
- </FrameLayout>
+ android:minHeight="@dimen/list_item_height"
+ android:gravity="center_vertical"
+ android:paddingStart="@dimen/list_item_text_no_icon_margin_start"
+ android:paddingEnd="@dimen/list_item_text_margin_end"
+ android:paddingBottom="@dimen/list_item_content_margin_bottom"
+ android:paddingTop="@dimen/list_item_content_margin_top"
+ android:text="@string/trusted_device_feature_instruction"
+ android:textAppearance="@style/TrustedDeviceMessage"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/connection_button"
@@ -43,27 +44,33 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/car_ui_margin"
android:layout_marginEnd="@dimen/car_ui_margin"
+ android:minHeight="@dimen/list_item_height"
app:layout_constraintTop_toBottomOf="@+id/trusted_device_instruction"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- style="@style/DeviceListItem">
+ app:layout_constraintEnd_toEndOf="parent">
<TextView
android:id="@+id/trusted_device_item_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/no_icon_text_margin_start"
- android:layout_marginEnd="@dimen/text_margin_end"
+ android:layout_marginStart="@dimen/list_item_text_no_icon_margin_start"
+ android:layout_marginEnd="@dimen/list_item_text_margin_end"
android:textAppearance="@style/TrustedDeviceTitle"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/trusted_device_switch"
+ app:layout_constraintEnd_toStartOf="@+id/switch_start_guideline"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
+ <androidx.constraintlayout.widget.Guideline
+ android:id="@+id/switch_start_guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintGuide_end="@dimen/car_ui_list_item_icon_container_width" />
<Switch
android:id="@+id/trusted_device_switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="@dimen/text_margin_end"
- app:layout_constraintStart_toEndOf="@+id/trusted_device_item_title"
+ android:layout_gravity="center"
+ app:layout_constraintStart_toEndOf="@+id/switch_start_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 47433e7..fd147df 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nie bespeur nie"</string>
<string name="disconnected" msgid="8526513868622591894">"Ontkoppel"</string>
<string name="unknown" msgid="555736316465118024">"Onbekend"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Metgeseltoestel se kennisgewingkanaal vir teksboodskappe"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Foon se teksboodskapontvangerdiens"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Foon se teksboodskapdiens werk tans"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Foon se teksboodskapdiens is aktief"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Ontvang tans boodskappe via metgeseltoestel"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Foon se SMS-diens werk tans"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Foon se SMS-diens is aktief"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Ontvang tans SMS\'e deur metgeseltoestel"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Ontsluit profiel met foon"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Gaan jou metgeselprogram na om ontsluitingopsies te stel"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Laat &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; my profiel ontsluit"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 10e7516..9975ded 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"አልተገኘም"</string>
<string name="disconnected" msgid="8526513868622591894">"ግንኙነት ተቋርጧል"</string>
<string name="unknown" msgid="555736316465118024">"ያልታወቀ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"የአጃቢ መሣሪያ ጽሑፍ መልዕክት ማሳወቂያዎች ሰርጥ"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"የስልክ ጽሑፍ መልዕክት መቀበያ አገልግሎት"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"የስልክ ጽሑፍ መልዕክት አገልግሎት በማሄድ ላይ"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"የስልክ ጽሑፍ መልዕክት መላላኪያ አገልግሎት ገቢር ነው"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"መልዕክቶችን በአጃቢ መሣሪያ በመቀበል ላይ"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"የስልክ ጽሑፍ መልዕክት አገልግሎት በማሄድ ላይ"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"የስልክ ጽሑፍ መልዕክት መላላኪያ አገልግሎት ገቢር ነው"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"በአጃቢ መሣሪያ በኩል የጽሑፍ መልዕክቶችን በመቀበል ላይ"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"መገለጫውን በስልክ ይክፈቱት"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"የመክፈቻ አማራጮችን ለማቀናበር አጃቢ መተግበሪያዎን ይፈትሹ"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; መገለጫዬን ይክፈተው"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 4fc2199..781ba58 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"لم يتم رصد أي أجهزة."</string>
<string name="disconnected" msgid="8526513868622591894">"تم إلغاء الربط"</string>
<string name="unknown" msgid="555736316465118024">"غير معروفة"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"قناة إشعارات الرسائل النصية على الجهاز المصاحب"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"خدمة استلام الرسائل النصية على الهاتف"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"خدمة تلقّي رسائل نصية على الهاتف مُفعَّلة."</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"خدمة الرسائل النصية على الهاتف مُفعَّلة."</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"جارٍ تلقّي الرسائل باستخدام الجهاز المصاحب"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"خدمة تلقّي الرسائل النصية على الهاتف مُفعَّلة"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"خدمة تلقّي الرسائل النصية على الهاتف مُفعَّلة"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"تلقّي الرسائل النصية باستخدام الجهاز المصاحب"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"فتح قفل الملف الشخصي باستخدام الهاتف"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"افتح تطبيقك المصاحب لضبط خيارات فتح القفل."</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"السماح لهاتف &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; بفتح قفل ملفي الشخصي"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index fdfa03e..6fb0223 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"চিনাক্ত কৰা হোৱা নাই"</string>
<string name="disconnected" msgid="8526513868622591894">"সংযোগ বিচ্ছিন্ন হৈছে"</string>
<string name="unknown" msgid="555736316465118024">"অজ্ঞাত"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"সহযোগী ডিভাইচৰ পাঠ বাৰ্তাৰ জাননীৰ চেনেল"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ফ’নৰ পাঠ বাৰ্তাৰ প্ৰাপক সেৱা"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ফ’নৰ পাঠ বাৰ্তাৰ সেৱাটো চলি আছে"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ফ’নৰ পাঠ বাৰ্তাৰ সেৱাটো সক্ৰিয় হৈ আছে"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"সহযোগী ডিভাইচটোৰ জৰিয়তে বাৰ্তাসমূহ লাভ কৰি থকা হৈছে"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ফ’নৰ পাঠ বাৰ্তাৰ সেৱাটো চলি আছে"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ফ’নৰ পাঠ বাৰ্তাৰ সেৱাটো সক্ৰিয় হৈ আছে"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"সহযোগী ডিভাইচৰ জৰিয়তে পাঠ বাৰ্তাসমূহ লাভ কৰি থকা হৈছে"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ফ’নৰ জৰিয়তে প্ৰ’ফাইল আনলক কৰক"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"আনলক কৰাৰ বিকল্পসমূহ ছেট কৰিবলৈ আপোনাৰ সহযোগী এপ্‌টো পৰীক্ষা কৰক"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;ক মোৰ প্ৰ’ফাইলটো আনলক কৰিবলৈ দিয়ক"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 5ffcc59..6b7b06e 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Aşkarlanmadı"</string>
<string name="disconnected" msgid="8526513868622591894">"Bağlantı kəsildi"</string>
<string name="unknown" msgid="555736316465118024">"Naməlum"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kompanyon Cihazın Mətn Mesajı Bildiriş Kanalı"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefonun Mətn Mesajı Qəbul Xidməti"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Telefonun Mətn Mesajı xidməti işləyir"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Telefonun Mətn Mesajı xidməti aktivdir"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Kompanyon Cihazı vasitəsilə Mesajlar alınır"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Telefonun mətn mesajı xidməti işləyir"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Telefonun mətn mesajı xidməti aktivdir"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Kompanyon cihaz vasitəsilə mətn mesajları alınır"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profili telefonla kiliddən çıxarın"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Kiliddən çıxarma seçimlərini ayarlamaq üçün Kompanyon Tətbiqini yoxlayın"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; cihazına profilimi kiliddən çıxarmaq üçün icazə verin"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index d0bb81c..1f260ad 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nije otkriveno"</string>
<string name="disconnected" msgid="8526513868622591894">"Veza je prekinuta"</string>
<string name="unknown" msgid="555736316465118024">"Nepoznato"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanal za obaveštenja za SMS-ove na pridruženom uređaju"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Usluga za prijem SMS-ova na telefonu"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"SMS usluga na telefonu je pokrenuta"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"SMS usluga na telefonu je aktivna"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Dobijate poruke preko pridruženog uređaja"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"SMS usluga na telefonu je pokrenuta"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"SMS usluga na telefonu je aktivna"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Prijem SMS-ova preko pridruženog uređaja"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Otključajte profil pomoću telefona"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Proverite prateću aplikaciju da biste podesili opcije za otključavanje"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Omogući telefonu &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; da otključa moj profil"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 6655f30..caee1a7 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Не выяўлена"</string>
<string name="disconnected" msgid="8526513868622591894">"Адключана"</string>
<string name="unknown" msgid="555736316465118024">"Невядома"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Канал апавяшчэнняў для тэкставых паведамленняў спадарожнай прылады"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Сэрвіс атрымання тэкставых паведамленняў тэлефона"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Працуе сэрвіс тэкставых паведамленняў тэлефона"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Сэрвіс тэкставых паведамленняў тэлефона актыўны"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Атрыманне паведамленняў праз спадарожную прыладу"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Працуе сэрвіс тэкставых паведамленняў тэлефона"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Сэрвіс тэкставых паведамленняў тэлефона актыўны"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Ідзе атрыманне тэкставых паведамленняў праз спадарожную прыладу"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Разблакіроўка профілю з тэлефона"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Параметры разблакіроўкі можна наладзіць у спадарожнай праграме"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Дазволіць прыладзе &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; ажыццяўляць разблакіроўку профілю"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 93049b2..e03bcc5 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Не е открито"</string>
<string name="disconnected" msgid="8526513868622591894">"Няма връзка"</string>
<string name="unknown" msgid="555736316465118024">"Няма данни"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Канал на придружаващото устройство за известия за SMS съобщения"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Услуга на телефона за приемане на SMS съобщения"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Услугата на телефона за SMS съобщения се изпълнява"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Услугата на телефона за SMS съобщения е активна"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Получаване на съобщения посредством придружаващо устройство"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Услугата на телефона за SMS съобщения се изпълнява"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Услугата на телефона за SMS съобщения е активна"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Получаване на SMS съобщения чрез придружаващо устройство"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Отключване на профила с телефон"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Използвайте придружаващото приложение, за да зададете опции за отключване"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Разрешаване на &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; да отключва профила ми"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index f4a18cf..1224d63 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"শনাক্ত করা যায়নি"</string>
<string name="disconnected" msgid="8526513868622591894">"ডিসকানেক্ট করা হয়েছে"</string>
<string name="unknown" msgid="555736316465118024">"অজানা"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"কম্প্যানিয়ন ডিভাইসের টেক্সট মেসেজের বিজ্ঞপ্তির চ্যানেল"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ফোনেতে টেক্সট মেসেজ পাওয়ার পরিষেবা"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ফোনের টেক্সট মেসেজ পরিষেবা চালানো হচ্ছে"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ফোনের টেক্সট মেসেজ পরিষেবা অ্যাক্টিভ আছে"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"কম্প্যানিয়ন ডিভাইসের মাধ্যমে মেসেজ পাওয়া"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ফোনের টেক্সট মেসেজ পরিষেবা চলছে"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ফোনের টেক্সট মেসেজ পরিষেবা অ্যাক্টিভ আছে"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"কম্প্যানিয়ন ডিভাইসের মাধ্যমে টেক্সট মেসেজ পাচ্ছেন"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ফোনের মাধ্যমে প্রোফাইল আনলক করুন"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"আনলক করার বিকল্প সেট করতে আপনার কম্প্যানিয়ন অ্যাপ চেক করে দেখুন"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;-কে আমার প্রোফাইল আনলক করতে দিন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 725df1e..201668d 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nije otkriveno"</string>
<string name="disconnected" msgid="8526513868622591894">"Veza je prekinuta"</string>
<string name="unknown" msgid="555736316465118024">"Nepoznato"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanal za obavještenja o SMS-porukama na pratećem uređaju"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Usluga primanja SMS-ova na telefonu"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Usluga slanja SMS-ova na telefonu je pokrenuta"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Usluga slanja SMS-ova na telefonu je aktivna"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Primanje poruka putem pratećeg uređaja"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Usluga slanja SMS-ova na telefonu je pokrenuta"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Usluga slanja SMS-ova na telefonu je aktivna"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Primanje SMS-ova putem pratećeg uređaja"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Otključajte profil telefonom"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Provjerite prateću aplikaciju da postavite opcije otključavanja"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Dozvoli telefonu &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; da otključa moj profil"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index b90c427..58032e5 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"No detectat"</string>
<string name="disconnected" msgid="8526513868622591894">"Desconnectat"</string>
<string name="unknown" msgid="555736316465118024">"Desconegut"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canal de notificacions per a missatges de text del dispositiu complementari"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Servei receptor de missatges de text del telèfon"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Servei de missatges de text del telèfon en execució"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Servei de missatgeria de text del telèfon actiu"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"S\'estan rebent missatges mitjançant un dispositiu complementari"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Servei de missatges de text del telèfon en execució"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Servei de missatgeria de text del telèfon actiu"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"S\'estan rebent missatges de text mitjançant un dispositiu complementari"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Desbloqueja el perfil amb el telèfon"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Ves a l\'aplicació complementària per definir les opcions de desbloqueig"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Permet que &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; desbloquegi el meu perfil"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 09f3534..e2f1443 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nezjištěno"</string>
<string name="disconnected" msgid="8526513868622591894">"Odpojeno"</string>
<string name="unknown" msgid="555736316465118024">"Neznámé"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanál oznámení o textových zprávách z doprovodného zařízení"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Služba pro přijímání textových zpráv z telefonu"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Služba textových zpráv z telefonu spuštěna"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Služba textových zpráv z telefonu je aktivní"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Přijímání zpráv přes doprovodné zařízení"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Služba textových zpráv z telefonu je spuštěna"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Služba textových zpráv z telefonu je aktivní"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Příjem textových zpráv prostřednictvím doprovodného zařízení"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Odemknutí profilu telefonem"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"V doprovodné aplikaci nastavte možnosti odemknutí"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Povolit telefonu &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; odemykat profil"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 381b2ab..a17317d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ikke registreret"</string>
<string name="disconnected" msgid="8526513868622591894">"Afbrudt"</string>
<string name="unknown" msgid="555736316465118024">"Ukendt"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Notifikationskanal for sms-beskeder fra ledsagende enhed"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Tjeneste til modtagelse af sms-beskeder fra tlf."</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Tjenesten til sms-beskeder fra telefonen kører"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Tjenesten til sms-beskeder fra telefonen er aktiv"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Modtager beskeder via ledsagende enhed"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Tjenesten til sms-beskeder fra telefonen kører"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Tjenesten til sms-beskeder fra telefonen er aktiv"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Modtager sms-beskeder via ledsagende enhed"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Lås profilen op med telefonen"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Brug din medfølgende app til at angive indstillinger for oplåsning"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Tillad, at &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; låser min profil op"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index cd1994b..30737f3 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nicht gefunden"</string>
<string name="disconnected" msgid="8526513868622591894">"Nicht verbunden"</string>
<string name="unknown" msgid="555736316465118024">"Unbekannt"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"SMS-Benachrichtigungskanal auf dem Begleitgerät"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"SMS-Empfangsdienst auf dem Smartphone"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"SMS vom Smartphone werden synchronisiert"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"SMS-Dienst auf Smartphone ist aktiv"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Nachrichten werden über das Begleitgerät empfangen"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"SMS-Dienst auf Smartphone läuft"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"SMS-Dienst auf Smartphone ist aktiv"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"SMS werden über Begleitgerät empfangen"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profil mit Smartphone entsperren"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Konfiguriere die Optionen zum Entsperren über die Companion App"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Entsperren meines Profils über &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; zulassen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index cf3e441..f5695d8 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Δεν εντοπίστηκε"</string>
<string name="disconnected" msgid="8526513868622591894">"Αποσυνδεδεμένο"</string>
<string name="unknown" msgid="555736316465118024">"Άγνωστο"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Κανάλι ειδοποιήσεων μηνυμάτων κειμένου συνοδευτικής συσκευής"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Υπηρεσία λήψης μηνυμάτων κειμένου τηλεφώνου"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Εκτελείται η υπηρεσία μηνυμάτων κειμένου τηλεφώνου"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Η υπηρ. μηνυμάτων κειμένου τηλεφώνου είναι ενεργή."</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Λήψη μηνυμάτων μέσω συνοδευτικής συσκευής"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Εκτελείται η υπηρεσία μηνυμάτων κειμένου τηλεφώνου"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Η υπηρ. μηνυμάτων κειμένου τηλεφώνου είναι ενεργή."</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Λήψη μηνυμάτων κειμένου μέσω συνοδευτικής συσκευής"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Ξεκλείδωμα προφίλ με τηλέφωνο"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Ελέγξτε τη συνοδευτική εφαρμογή για να ορίσετε τις ρυθμίσεις ξεκλειδώματος."</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Να επιτρέπεται στο &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; να ξεκλειδώνει το προφίλ μου"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 36010e8..d3645f8 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Not detected"</string>
<string name="disconnected" msgid="8526513868622591894">"Disconnected"</string>
<string name="unknown" msgid="555736316465118024">"Unknown"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Companion device text message notifications channel"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Phone text message receiver service"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Phone text message service running"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Phone text messaging service is active"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Receiving Messages via companion device"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Phone text message service running"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Phone text messaging service is active"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Receiving text messages via companion device"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Unlock profile with phone"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Check your Companion app to set unlocking options"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Let &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; unlock my profile"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 36010e8..d3645f8 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Not detected"</string>
<string name="disconnected" msgid="8526513868622591894">"Disconnected"</string>
<string name="unknown" msgid="555736316465118024">"Unknown"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Companion device text message notifications channel"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Phone text message receiver service"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Phone text message service running"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Phone text messaging service is active"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Receiving Messages via companion device"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Phone text message service running"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Phone text messaging service is active"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Receiving text messages via companion device"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Unlock profile with phone"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Check your Companion app to set unlocking options"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Let &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; unlock my profile"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 36010e8..d3645f8 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Not detected"</string>
<string name="disconnected" msgid="8526513868622591894">"Disconnected"</string>
<string name="unknown" msgid="555736316465118024">"Unknown"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Companion device text message notifications channel"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Phone text message receiver service"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Phone text message service running"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Phone text messaging service is active"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Receiving Messages via companion device"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Phone text message service running"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Phone text messaging service is active"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Receiving text messages via companion device"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Unlock profile with phone"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Check your Companion app to set unlocking options"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Let &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; unlock my profile"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 36010e8..d3645f8 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Not detected"</string>
<string name="disconnected" msgid="8526513868622591894">"Disconnected"</string>
<string name="unknown" msgid="555736316465118024">"Unknown"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Companion device text message notifications channel"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Phone text message receiver service"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Phone text message service running"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Phone text messaging service is active"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Receiving Messages via companion device"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Phone text message service running"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Phone text messaging service is active"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Receiving text messages via companion device"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Unlock profile with phone"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Check your Companion app to set unlocking options"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Let &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; unlock my profile"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index d37db21..e31e5ae 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎Not detected‎‏‎‎‏‎"</string>
<string name="disconnected" msgid="8526513868622591894">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‎Disconnected‎‏‎‎‏‎"</string>
<string name="unknown" msgid="555736316465118024">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎Unknown‎‏‎‎‏‎"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‎Companion Device Text Message Notifications Channel‎‏‎‎‏‎"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎Phone Text Message Receiver Service‎‏‎‎‏‎"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎Phone Text Message service running‎‏‎‎‏‎"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎Phone Text Messaging service is active‎‏‎‎‏‎"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‏‎Receiving Messages via Companion Device‎‏‎‎‏‎"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‎‏‏‏‎‏‎Phone text message service running‎‏‎‎‏‎"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‎Phone text messaging service is active‎‏‎‎‏‎"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‎‏‎Receiving text messages via companion device‎‏‎‎‏‎"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‎Unlock profile with phone‎‏‎‎‏‎"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎Check your Companion App to set unlocking options‎‏‎‎‏‎"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‎Let &lt;b&gt;‎‏‎‎‏‏‎<xliff:g id="PHONE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎&lt;/b&gt; unlock my profile‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index eafccd9..1c93874 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"No se detectó"</string>
<string name="disconnected" msgid="8526513868622591894">"Desconectado"</string>
<string name="unknown" msgid="555736316465118024">"Desconocido"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canal de notificaciones de mensajes de texto del dispositivo complementario"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Servicio de recepción de mensajes de texto"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Servicio de mensajes de texto telefónicos en ejecución"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Servicio de mensajes de texto telefónicos activo"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Recepción de mensajes a través del dispositivo complementario"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Servicio de mensajes de texto telefónicos en ejecución"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Servicio de mensajes de texto telefónicos activo"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Recepción de mensajes de texto en el dispositivo complementario"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Desbloquear el perfil con el teléfono"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Revisa tu aplicación complementaria para configurar las opciones de desbloqueo"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Permitir que &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; desbloquee mi perfil"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index f652691..708da41 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"No detectado"</string>
<string name="disconnected" msgid="8526513868622591894">"Desconectado"</string>
<string name="unknown" msgid="555736316465118024">"Desconocido"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canal de notificaciones de mensajes de texto del dispositivo complementario"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Servicio receptor de mensajes de texto del móvil"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Se está ejecutando el servicio de mensajes de texto del teléfono"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Servicio de mensajes de texto del teléfono activo"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Se están recibiendo mensajes a través del dispositivo complementario"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Servicio de mensajes de texto del teléfono ejecutándose"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Servicio de mensajes de texto del teléfono activo"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Recibiendo mensajes de texto mediante un dispositivo complementario"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Desbloquear perfil con el teléfono"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Mira la aplicación complementaria para configurar las opciones de desbloqueo"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Permitir que &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; desbloquee mi perfil"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 9007b69..9239162 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ei tuvastatud"</string>
<string name="disconnected" msgid="8526513868622591894">"Pole ühendatud"</string>
<string name="unknown" msgid="555736316465118024">"Teadmata"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kaasseadme tekstsõnumite märguannete kanal"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefoni tekstsõnumite vastuvõtuteenus"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Telefoni tekstsõnumiteenus töötab"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Telefoni tekstsõnumiteenus on aktiivne"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Sõnumeid võetakse vastu kaasseadme kaudu"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Telefoni tekstsõnumiteenus töötab"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Telefoni tekstsõnumiteenus on aktiivne"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Tekstsõnumeid võetakse vastu kaasseadme kaudu"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profiili avamine telefoniga"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Kontrollige avamise valikute määramiseks kaasrakendust"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Luba telefonil &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; minu profiil avada"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index d8ab8a6..25f3678 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ez da hauteman"</string>
<string name="disconnected" msgid="8526513868622591894">"Deskonektatuta"</string>
<string name="unknown" msgid="555736316465118024">"Ezezaguna"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Gailu osagarriaren testu-mezuen jakinarazpenen kanala"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefonoaren testu-mezuak jasotzeko zerbitzua"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Telefonoaren testu-mezuen zerbitzua abian"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Telefonoaren testu-mezuen zerbitzua aktibo"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Gailu osagarriaren bidez mezuak jasotzen"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Telefonoaren testu-mezuen zerbitzua abian"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Telefonoaren testu-mezuen zerbitzua aktibo"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Gailu osagarriaren bidez jasoko dira testu-mezuak"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Desblokeatu profila telefonoaren bidez"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Desblokeatzeko aukerak ezartzeko, erabili aplikazio osagarria"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Utzi &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; telefonoari nire profila desblokeatzen"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 170025e..d1c1944 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"چیزی شناسایی نشد"</string>
<string name="disconnected" msgid="8526513868622591894">"اتصال قطع شد"</string>
<string name="unknown" msgid="555736316465118024">"ناشناس"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"کانال اعلان پیامک دستگاه همراه"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"سرویس گیرنده پیامک تلفن"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"سرویس پیامک تلفن درحال اجرا است"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"سرویس پیامک تلفن فعال است"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"دریافت پیام ازطریق دستگاه همراه"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"سرویس پیامک تلفن درحال اجرا است"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"سرویس پیامک تلفن فعال است"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"درحال دریافت پیامک‌ها ازطریق دستگاه همراه"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"باز کردن قفل نمایه با تلفن"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"برای تنظیم گزینه‌های باز کردن قفل، برنامه همراه را بررسی کنید"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"برای باز کردن قفل نمایه به &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; اجازه داده شود"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 3442c0a..1554145 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ei havaittu"</string>
<string name="disconnected" msgid="8526513868622591894">"Yhteys katkaistu"</string>
<string name="unknown" msgid="555736316465118024">"Tuntematon"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kumppanilaitteen tekstiviestien ilmoituskanava"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Puhelimen tekstiviestien vastaanottopalvelu"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Puhelimen tekstiviestipalvelu käynnissä"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Puhelimen tekstiviestipalvelu on aktiivinen"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Viestejä vastaanotetaan kumppanilaitteen kautta"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Puhelimen tekstiviestipalvelu käynnissä"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Puhelimen tekstiviestipalvelu on aktiivinen"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Tekstiviestejä vastaanotetaan kumppanilaitteen kautta"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Avaa profiilin lukitus puhelimella"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Määritä lukituksen avausasetukset kumppanisovelluksessa"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; saa avata profiilini lukituksen"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index fab8b41..2670ea3 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Non détecté"</string>
<string name="disconnected" msgid="8526513868622591894">"Déconnecté"</string>
<string name="unknown" msgid="555736316465118024">"Inconnu"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canal des notifications des messages texte de l\'appareil compagnon"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Service de réception des messages texte du téléphone"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Le service de messagerie texte du téléphone est en cours d\'exécution"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Le service de messagerie texte du téléphone est actif"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Réception des messages à l\'aide de l\'appareil compagnon"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Le service de messagerie texte du téléphone est en cours d\'exécution"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Le service de messagerie texte du téléphone est actif"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"La réception des messages texte s\'effectue par l\'appareil compagnon"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Déverrouiller le profil avec le téléphone"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Vous pouvez définir les options de déverrouillage dans l\'application compagnon"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Autoriser « <xliff:g id="PHONE_NAME">%1$s</xliff:g> » à déverrouiller mon profil"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 7312a1c..5e84ffe 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Non détecté"</string>
<string name="disconnected" msgid="8526513868622591894">"Déconnecté"</string>
<string name="unknown" msgid="555736316465118024">"Inconnu"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canal de notification des SMS de l\'appareil associé"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Service de réception de SMS du téléphone"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Service de SMS du téléphone en cours d\'exécution"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Le service de SMS du téléphone est actif"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Réception de messages via l\'appareil associé"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Service de SMS du téléphone en cours d\'exécution"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Le service de SMS du téléphone est actif"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Recevoir des SMS via l\'appareil associé"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Déverr. profil avec le téléphone"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Consultez votre application associée pour définir les options de déverrouillage"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Autoriser &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; à déverrouiller mon profil"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 255083e..2c2ac52 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Non se detectou"</string>
<string name="disconnected" msgid="8526513868622591894">"Desconectado"</string>
<string name="unknown" msgid="555736316465118024">"Descoñecida"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canle de notificacións de mensaxes de texto do dispositivo complementario"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Servizo de recepción de mensaxes do teléfono"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Servizo de mensaxes de texto do teléfono en execución"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Servizo de mensaxes de texto do teléfono activo"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Recibindo mensaxes a través do dispositivo complementario"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Servizo de mensaxes de texto do teléfono en execución"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Servizo de mensaxes de texto do teléfono activo"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Recibindo mensaxes de texto a través do dispositivo complementario"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Desbloquear o perfil co teléfono"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Accede á aplicación complementaria para configurar as opcións de desbloqueo"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Permitir que o teléfono &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; desbloquee o meu perfil"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 4e18665..1594543 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"મળ્યું નથી"</string>
<string name="disconnected" msgid="8526513868622591894">"ડિસ્કનેક્ટ કર્યું"</string>
<string name="unknown" msgid="555736316465118024">"અજાણ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"સાથી ડિવાઇસમાં ટેક્સ્ટ સંદેશના નોટિફિકેશનની ચૅનલ"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ફોનમાં ટેક્સ્ટ સંદેશ પ્રાપ્ત કરતી સેવા"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ફોન ટેક્સ્ટ સંદેશની સેવા ચાલુ છે"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ફોન ટેક્સ્ટ સંદેશની સેવા સક્રિય છે"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"સાથી ડિવાઇસ મારફત સંદેશા પ્રાપ્ત કરવા"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ફોન ટેક્સ્ટ સંદેશની સેવા ચાલુ છે"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ફોન ટેક્સ્ટ સંદેશની સેવા સક્રિય છે"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"સાથી ડિવાઇસ દ્વારા ટેક્સ્ટ સંદેશ પ્રાપ્ત કરી રહ્યાં છીએ"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ફોન વડે પ્રોફાઇલ અનલૉક કરો"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"અનલૉક કરવાના વિકલ્પો સેટ કરવા માટે તમારી સાથી ઍપ તપાસો"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;ને મારી પ્રોફાઇલ અનલૉક કરવા દો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 3262553..b637134 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"पता नहीं चला"</string>
<string name="disconnected" msgid="8526513868622591894">"डिसकनेक्ट किया गया"</string>
<string name="unknown" msgid="555736316465118024">"अज्ञात"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"साथी डिवाइस के मैसेज की सूचना का चैनल"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"फ़ोन की मैसेज पाने वाली सेवा"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"फ़ोन की मैसेज सेवा चालू है"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"फ़ोन की मैसेज सेवा चालू है"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"साथी डिवाइस से मैसेज मिल रहे हैं"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"फ़ोन की मैसेज सेवा चालू है"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"फ़ोन की मैसेज सेवा चालू है"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"साथी डिवाइस से मैसेज मिल रहे हैं"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"फ़ोन से प्रोफ़ाइल अनलॉक करें"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"अनलॉक करने के विकल्प सेट करने के लिए, अपने साथी ऐप्लिकेशन की जांच करें"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; को मेरी प्रोफ़ाइल अनलॉक करने दें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index a17f7f7..c950571 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nije otkriveno"</string>
<string name="disconnected" msgid="8526513868622591894">"Nije povezan"</string>
<string name="unknown" msgid="555736316465118024">"Nepoznato"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanal obavijesti za tekstne poruke na popratnom uređaju"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Usluga primatelja tekstnih poruka na telefonu"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Aktivna je usluga tekstnih poruka na telefonu"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Aktivna je usluga tekstnih poruka na telefonu"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Primanje poruka putem popratnog uređaja"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Pokrenuta je usluga tekstnih poruka na telefonu"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Aktivna je usluga tekstnih poruka na telefonu"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Primanje tekstnih poruka putem popratnog uređaja"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Otključavanje profila telefonom"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Provjerite svoju popratnu aplikaciju i postavite opcije otključavanja"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Dopusti telefonu &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; da otključa moj profil"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index ca41a44..aa7575c 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nincs észlelve"</string>
<string name="disconnected" msgid="8526513868622591894">"Leválasztva"</string>
<string name="unknown" msgid="555736316465118024">"Ismeretlen"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Társeszköz SMS-értesítési csatornája"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefonos SMS-fogadó szolgáltatás"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Fut a telefonos SMS-szolgáltatás"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"A telefonos SMS-szolgáltatás aktív"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Üzenetek fogadása a társeszközön keresztül"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Fut a telefonos SMS-szolgáltatás"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"A telefonos SMS-szolgáltatás aktív"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"SMS fogadása a társeszközön keresztül"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profil feloldása telefonnal"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Ellenőrizze a társalkalmazást a feloldási lehetőségek beállításához"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Profil feloldásának engedélyezése a(z) &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; számára"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index d60ecfd..171999b 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Չի հայտնաբերվել"</string>
<string name="disconnected" msgid="8526513868622591894">"Կապը չեղարկված է"</string>
<string name="unknown" msgid="555736316465118024">"Անհայտ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Ծանուցումների ալիք՝ ուղեկցող սարքում ստացվող SMS-ների մասին"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"SMS-ների ընդունման ծառայություն"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"SMS հաղորդագրությունների մասին ծանուցման ծառայությունը գործարկված է"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"SMS-ների ծառայությունն ակտիվ է"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Հաղորդագրությունների ստացում ուղեկցող սարքի միջոցով"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Մուտքային SMS-ների մասին ծանուցման ծառայությունն ակտիվ է"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"SMS-ների մասին ծանուցման ծառայությունն ակտիվ է"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"SMS-ների ստացում օժանդակ սարքի միջոցով"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Ապակողպեք պրոֆիլը հեռախոսի միջոցով"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Ապակողպման տարբերակները կարելի է կարգավորել ուղեկցող հավելվածում"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Թույլատրել &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; հեռախոսին ապակողպել իմ պրոֆիլը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 61aa710..c60e903 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Tidak terdeteksi"</string>
<string name="disconnected" msgid="8526513868622591894">"Terputus"</string>
<string name="unknown" msgid="555736316465118024">"Tidak dikenal"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Saluran Notifikasi SMS Perangkat Pendamping"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Layanan Penerima SMS Ponsel"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Layanan SMS Ponsel sedang berjalan"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Layanan SMS ponsel aktif"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Menerima SMS melalui Perangkat Pendamping"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Layanan SMS ponsel sedang berjalan"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Layanan SMS ponsel aktif"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Menerima SMS melalui perangkat pendamping"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Buka kunci profil dengan ponsel"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Buka Aplikasi Pendamping untuk menyetel opsi buka kunci"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Izinkan &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; membuka kunci profil"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 96e6149..5a05ee8 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Fannst ekki"</string>
<string name="disconnected" msgid="8526513868622591894">"Aftengt"</string>
<string name="unknown" msgid="555736316465118024">"Óþekkt"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Tilkynningarás fyrir SMS-skilaboð frá fylgitæki"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Þjónusta SMS-skilaboðamóttöku í síma"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"SMS-skilaboðaþjónusta síma í gangi"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"SMS-skilaboðaþjónusta síma er virk"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Tekur á móti skilaboðum gegnum fylgitæki"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"SMS-skilaboðaþjónusta síma í gangi"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"SMS-skilaboðaþjónusta síma er virk"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Tekur við SMS-skilaboðum með fylgdartæki"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Taktu prófílinn úr lás með símanum"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Farðu í fylgiforritið til að stilla valkosti til að taka úr lás"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Leyfa &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; að taka prófílinn minn úr lás"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9cc483b..c6a796b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Non rilevato"</string>
<string name="disconnected" msgid="8526513868622591894">"Scollegato"</string>
<string name="unknown" msgid="555736316465118024">"Sconosciuto"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canale di notifica dei messaggi del dispositivo complementare"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Servizio di ricezione dei messaggi telefonici"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Servizio di messaggistica telefonica in esecuzione"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Il servizio di messaggistica telefonica è attivo"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Ricezione messaggi tramite dispositivo complementare"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Servizio di messaggistica telefonica in esecuzione"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Il servizio di messaggistica telefonica è attivo"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Ricezione di SMS tramite dispositivo complementare"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Sblocca il profilo con il telefono"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Verifica la tua app complementare per impostare le opzioni di sblocco"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Consenti a &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; di sbloccare il mio profilo"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 899e818..b02a97e 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"לא מזוהה"</string>
<string name="disconnected" msgid="8526513868622591894">"מנותק"</string>
<string name="unknown" msgid="555736316465118024">"לא ידוע"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"ערוץ התראות דרך הודעות טקסט במכשיר נלווה"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"שירות המקבל הודעות טקסט בטלפון"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"שירות הודעות הטקסט פועל בטלפון"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"הזיכרון של הודעות הטקסט פעיל"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"מתקבלות הודעות דרך המכשיר הנלווה"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"שירות הודעות הטקסט פועל בטלפון"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"שירות הודעות הטקסט פעיל בטלפון"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"קבלת הודעות טקסט דרך מכשיר נלווה"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ביטול נעילת הפרופיל באמצעות הטלפון"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"יש לבדוק באפליקציה הנלווית כדי להגדיר אפשרויות לביטול נעילה"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"ניתן יהיה לבטל את נעילת הפרופיל באמצעות &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c763c2f..4075c24 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"検出されませんでした"</string>
<string name="disconnected" msgid="8526513868622591894">"接続解除"</string>
<string name="unknown" msgid="555736316465118024">"不明"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"コンパニオン デバイス テキスト メッセージ通知チャンネル"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"スマートフォン テキスト メッセージ受信サービス"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"スマートフォン テキスト メッセージ サービス実行中"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"スマートフォン テキスト メッセージ サービス有効"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"コンパニオン デバイスからメッセージを受信中"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"スマートフォン テキスト メッセージ サービス実行中"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"スマートフォン テキスト メッセージ サービス有効"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"コンパニオン デバイス経由でテキスト メッセージを受信中"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"スマートフォンでプロファイルのロック解除"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"コンパニオン アプリを確認してロック解除オプションを設定します"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; によるプロファイルのロック解除"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 8b1440c..85390c9 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"აღმოჩენილი არ არის"</string>
<string name="disconnected" msgid="8526513868622591894">"კავშირი გაწყვეტილია"</string>
<string name="unknown" msgid="555736316465118024">"უცნობი"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"კომპანიონი მოწყობილობის ტექსტური შეტყობინებების არხი"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ტელეფონის ტექსტური შეტყობინებების მიმღები სერვისი"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ტელეფონის ტექსტური შეტყობინებების სერვისი გაშვებულია"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ტელეფონის ტექსტური შეტყობინებების სერვისი აქტიურია"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"შეტყობინებების მიღება კომპანიონი მოწყობილობის მეშვეობით"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ტელეფონის ტექსტური შეტყობინებების სერვისი გაშვებულია"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ტელეფონის ტექსტური შეტყობინებების სერვისი აქტიურია"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"ტექსტური შეტყობინებები მიიღება კომპანიონი მოწყობილობის მეშვეობით"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"პროფილის განბლოკვა ტელეფონით"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"შეამოწმეთ თქვენი კომპანიონი აპი განბლოკვის ვარიანტების დასაყენებლად"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;-ისთვის ჩემი პროფილის განბლოკვის ნებართვის მინიჭება"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index b90d139..cce91af 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Анықталмаған"</string>
<string name="disconnected" msgid="8526513868622591894">"Ажыратылған"</string>
<string name="unknown" msgid="555736316465118024">"Белгісіз"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Көмекші құрылғыдағы мәтіндік хабарларға арналған хабарландырулар арнасы"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Телефонда мәтіндік хабар алу қызметі"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Телефонда мәтіндік хабар қызметі іске қосылған."</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Телефонда мәтіндік хабар қызметі қосулы."</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Хабарлар көмекші құрылғы арқылы алынуда."</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Телефонда мәтіндік хабар қызметі іске қосылған."</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Телефонда мәтіндік хабар қызметі қосулы."</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Мәтіндік хабарларды көмекші құрылғы арқылы алу"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Профиль құлпын телефонмен ашу"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Құлпын ашу опцияларын орнату үшін көмекші қолданбаны тексеріңіз."</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; телефонына профиль құлпын ашуға рұқсат ету"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 4c59629..748bc24 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"រកមិនឃើញទេ"</string>
<string name="disconnected" msgid="8526513868622591894">"បាន​ផ្ដាច់"</string>
<string name="unknown" msgid="555736316465118024">"មិនស្គាល់"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"បណ្ដាញ​ជូនដំណឹង​សារជាអក្សរ​របស់​ឧបករណ៍​ដៃគូ"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"សេវាកម្ម​កម្មវិធីទទួល​សារជាអក្សររបស់ទូរសព្ទ"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"សេវាកម្ម​សារជាអក្សរ​របស់ទូរសព្ទ​កំពុងដំណើរការ"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"សេវាកម្ម​ផ្ញើសារជាអក្សរ​របស់ទូរសព្ទ​កំពុងដំណើរការ"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"កំពុងទទួលសារ​តាមរយៈ​ឧបករណ៍ដៃគូ"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"សេវាកម្ម​សារជាអក្សរ​របស់ទូរសព្ទ​កំពុងដំណើរការ"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"សេវាកម្ម​ផ្ញើសារជាអក្សរ​របស់ទូរសព្ទ​កំពុងដំណើរការ"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"កំពុងទទួល​សារជាអក្សរ​តាមរយៈ​ឧបករណ៍ដៃគូ"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ដោះសោ​កម្រងព័ត៌មាន​ដោយប្រើទូរសព្ទ"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"ពិនិត្យមើល​កម្មវិធីដៃគូ​របស់អ្នក ដើម្បី​កំណត់ជម្រើស​ដោះសោ"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"អនុញ្ញាតឱ្យ &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; ដោះសោ​កម្រងព័ត៌មាន​របស់ខ្ញុំ"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index bcd2c87..b54a229 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"ಪತ್ತೆಯಾಗಲಿಲ್ಲ"</string>
<string name="disconnected" msgid="8526513868622591894">"ಸಂಪರ್ಕ ಕಡಿತಮಾಡಲಾಗಿದೆ"</string>
<string name="unknown" msgid="555736316465118024">"ಅಪರಿಚಿತ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"ಕಂಪ್ಯಾನಿಯನ್ ಸಾಧನದ ಪಠ್ಯ ಸಂದೇಶ ಅಧಿಸೂಚನೆಗಳ ಚಾನಲ್‌"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ಫೋನ್ ಪಠ್ಯ ಸಂದೇಶ ಸ್ವೀಕರಿಸುವಿಕೆ ಸೇವೆ"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ಫೋನ್ ಪಠ್ಯ ಸಂದೇಶ ಸೇವೆಯು ಚಾಲನೆಯಲ್ಲಿದೆ"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ಫೋನ್ ಪಠ್ಯ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇವೆಯು ಸಕ್ರಿಯವಾಗಿದೆ"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"ಕಂಪ್ಯಾನಿಯನ್ ಸಾಧನದ ಮೂಲಕ ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸಲಾಗುತ್ತಿದೆ"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ಫೋನ್ ಪಠ್ಯ ಸಂದೇಶ ಸೇವೆಯು ಚಾಲನೆಯಲ್ಲಿದೆ"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ಫೋನ್ ಪಠ್ಯ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇವೆಯು ಸಕ್ರಿಯವಾಗಿದೆ"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"ಕಂಪ್ಯಾನಿಯನ್ ಸಾಧನದ ಮೂಲಕ ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ಫೋನ್‌ನ ಮೂಲಕ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"ಅನ್‌ಲಾಕ್ ಮಾಡುವ ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿಸಲು ನಿಮ್ಮ ಕಂಪ್ಯಾನಿಯನ್ ಆ್ಯಪ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;; ಗೆ ನನ್ನ ಪ್ರೊಫೈಲ್ ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index da0c9d2..6891ee3 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"감지되지 않음"</string>
<string name="disconnected" msgid="8526513868622591894">"연결 해제됨"</string>
<string name="unknown" msgid="555736316465118024">"알 수 없음"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"컴패니언 기기 SMS 알림 채널"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"휴대전화 SMS 수신기 서비스"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"휴대전화 SMS 서비스 실행 중"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"휴대전화 SMS 서비스가 활성화됨"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"컴패니언 기기를 통해 메시지 수신 중"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"휴대전화 SMS 서비스 실행 중"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"휴대전화 SMS 서비스가 활성화됨"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"컴패니언 기기를 통해 SMS 수신 중"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"휴대전화로 프로필 잠금 해제"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"컴패니언 앱을 확인하여 잠금 해제 옵션을 설정하세요."</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;에서 프로필을 잠금 해제하도록 허용"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 4b2f125..77f57a6 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Аныкталган жок"</string>
<string name="disconnected" msgid="8526513868622591894">"Ажыратылды"</string>
<string name="unknown" msgid="555736316465118024">"Белгисиз"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Өнөктөш түзмөктөгү Жазышуу билдирмелеринин каналы"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Телефондогу Жазышууну алуу кызматы"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Телефондун Жазышуу кызматы иштеп жатат"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Телефондун Жазышуу кызматы иштеп жатат"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Билдирүүлөрдү Өнөктөш түзмөк аркылуу алуу"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Телефондун жазышуу кызматы иштеп жатат"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Телефондун жазышуу кызматы иштеп жатат"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"SMS билдирүүлөрдү Өнөктөш түзмөк аркылуу алуу"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Профилдин кулпусун телефон менен ачуу"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Кулпуну ачуу параметрлерин жөндөө үчүн Өнөктөш колдонмого өтүңүз"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; телефонуна профилимдин кулпусун ачууга уруксат берүү"</string>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 5e25502..29e29fb 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -21,5 +21,5 @@
<dimen name="device_detail_margin_top">@dimen/car_ui_padding_1</dimen>
<dimen name="device_detail_margin">@dimen/car_ui_padding_1</dimen>
<dimen name="device_detail_button_margin_top">@dimen/car_ui_padding_1</dimen>
- <dimen name="device_detail_divider_margin">@dimen/car_ui_padding_1</dimen>
+ <dimen name="device_detail_divider_margin">0dp</dimen>
</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index a04fee5..cd55492 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"ກວດບໍ່ເຫັນ"</string>
<string name="disconnected" msgid="8526513868622591894">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string>
<string name="unknown" msgid="555736316465118024">"ບໍ່ຮູ້ຈັກ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"ຊ່ອງທາງການແຈ້ງເຕືອນຂໍ້ຄວາມຂອງອຸປະກອນຊ່ວຍເຫຼືອ"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ການບໍລິການຕົວຮັບຂໍ້ຄວາມທາງໂທລະສັບ"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ການບໍລິການຂໍ້ຄວາມທາງໂທລະສັບເຮັດວຽກຢູ່"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ການບໍລິການຮັບສົ່ງຂໍ້ຄວາມທາງໂທລະສັບເປີດນຳໃຊ້ຢູ່"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"ຊ່ວຍເຫຼືອກຳລັງຮັບຂໍ້ຄວາມຜ່ານອຸປະກອນຊ່ວຍເຫຼືອ"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ການບໍລິການຂໍ້ຄວາມທາງໂທລະສັບເຮັດວຽກຢູ່"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ການບໍລິການຮັບສົ່ງຂໍ້ຄວາມທາງໂທລະສັບເປີດນຳໃຊ້ຢູ່"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"ກຳລັງຮັບຂໍ້ຄວາມຜ່ານອຸປະກອນທີ່ໃຊ້ຮ່ວມກັນ"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ປົດລັອກໂປຣໄຟລ໌ດ້ວຍໂທລະສັບ"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"ກວດເບິ່ງແອັບຊ່ວຍເຫຼືອຂອງທ່ານເພື່ອຕັ້ງຄ່າຕົວເລືອການປົດລັອກ"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"ອະນຸຍາດໃຫ້ &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; ປົດລັອກໂປຣໄຟລ໌ຂອງຂ້ອຍ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 94083c5..1291173 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Neaptikta"</string>
<string name="disconnected" msgid="8526513868622591894">"Atjungta"</string>
<string name="unknown" msgid="555736316465118024">"Nežinoma"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Papildomo įrenginio teksto pranešimų kanalas"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefono teksto pranešimų imtuvo paslauga"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Vykdoma telefono teksto pranešimų paslauga"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Telefono teksto pranešimų paslauga aktyvi"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Pranešimų gavimas papildomu įrenginiu"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Vykdoma telefono teksto pranešimų paslauga"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Telefono teksto pranešimų paslauga aktyvi"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Pranešimai gaunami per papildomą įrenginį"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profilio atrakinimas telefonu"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Patikrinkite papildomą programą, kad nustatytumėte atrakinimo parinktis"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Leidimas &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; atrakinti profilį"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 691b720..f99b0e0 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Netika atrasta"</string>
<string name="disconnected" msgid="8526513868622591894">"Atvienota"</string>
<string name="unknown" msgid="555736316465118024">"Nezināms"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Palīgierīces īsziņu paziņojumu kanāls"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Tālruņa īsziņu saņemšanas pakalpojums"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Darbojas tālruņa īsziņu pakalpojums"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Tālruņa īsziņu pakalpojums ir aktīvs"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Ziņojumu saņemšana palīgierīcē"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Darbojas tālruņa īsziņu pakalpojums"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Tālruņa īsziņu pakalpojums ir aktīvs"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Īsziņas tiek saņemtas, izmantojot palīgierīci"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profila atbloķēšana, izmantojot tālruni"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Pārbaudiet palīglietotni, lai iestatītu atbloķēšanas iespējas."</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Atļauja tālrunim &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; atbloķēt manu profilu"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 6d1bb30..99d0768 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Не е пронајдено"</string>
<string name="disconnected" msgid="8526513868622591894">"Прекината врска"</string>
<string name="unknown" msgid="555736316465118024">"Непознат"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Канал за известувања за SMS-пораки на придружниот уред"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Услуга за примање SMS-пораки на телефонот"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Услугата за SMS-пораки на телефонот се извршува"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Услугата за SMS-пораки на телефонот е активна"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Пораките се примаат преку придружен уред"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Услугата за текстуални пораки на телефонот се извршува"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Услугата за текстуални пораки на телефонот е активна"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Добивање текстуални пораки преку придружен уред"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Отклучете го профилот со телефон"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Проверете ја придружната апликација за да поставите опции за отклучување"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Дозволи &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; да го отклучува мојот профил"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 3dae04b..7b32abd 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"കണ്ടെത്തിയില്ല"</string>
<string name="disconnected" msgid="8526513868622591894">"വിച്ഛേദിച്ചു"</string>
<string name="unknown" msgid="555736316465118024">"അജ്ഞാതം"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"സഹകാരി ഉപകരണത്തിലെ ടെക്സ്റ്റ് മെസേജ് അറിയിപ്പുകളുടെ ചാനൽ"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ഫോണിലെ ടെക്സ്റ്റ് മെസേജ് സ്വീകരിക്കുന്ന സേവനം"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ഫോണിലെ ടെക്സ്റ്റ് മെസേജ് സേവനം റൺ ചെയ്യുന്നു"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ഫോണിലെ ടെക്സ്റ്റ് മെസേജ് സേവനം സജീവമാണ്"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"സഹകാരി ഉപകരണം വഴി സന്ദേശങ്ങൾ സ്വീകരിക്കുന്നു"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ഫോണിലെ ടെക്സ്റ്റ് മെസേജ് സേവനം റൺ ചെയ്യുന്നു"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ഫോണിലെ ടെക്സ്റ്റ് മെസേജ് സേവനം സജീവമാണ്"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"സഹകാരി ഉപകരണം വഴി ടെക്സ്റ്റ് മെസേജുകൾ സ്വീകരിക്കുന്നു"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ഫോൺ ഉപയോഗിച്ച് പ്രൊഫൈൽ അൺലോക്ക് ചെയ്യുക"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"അൺലോക്ക് ചെയ്യാനുള്ള ഓപ്ഷനുകൾ സജ്ജീകരിക്കാൻ സഹകാരി ആപ്പ് പരിശോധിക്കുക"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"എന്റെ പ്രൊഫൈൽ അൺലോക്ക് ചെയ്യാൻ &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; എന്നതിനെ അനുവദിക്കുക"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 61adc65..e73f82c 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Илрээгүй"</string>
<string name="disconnected" msgid="8526513868622591894">"Салгасан"</string>
<string name="unknown" msgid="555736316465118024">"Тодорхойгүй"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Дэмжигч төхөөрөмжийн мессежийн мэдэгдлийн суваг"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Утасны мессеж хүлээн авагчийн үйлчилгээ"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Утасны мессежийн үйлчилгээ ажиллаж байна"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Утасны мессежийн үйлчилгээ идэвхтэй байна"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Дэмжигч төхөөрөмжөөр мессеж хүлээн авч байна"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Утасны мессежийн үйлчилгээ ажиллаж байна"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Утасны мессежийн үйлчилгээ идэвхтэй байна"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Дэмжигч төхөөрөмжөөр мессеж хүлээн авч байна"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Утсаараа профайлын түгжээг тайлна уу"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Түгжээг тайлах сонголт тохируулахын тулд Дэмжигч аппаа шалгана уу"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;-д миний профайлын түгжээг тайлахыг зөвшөөрнө үү"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 0de2da1..5fc64e6 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"आढळले नाही"</string>
<string name="disconnected" msgid="8526513868622591894">"डिस्कनेक्ट केले आहे"</string>
<string name="unknown" msgid="555736316465118024">"अज्ञात"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"सहयोगी डिव्हाइस एसएमएस सूचना चॅनेल"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"फोन एसएमएस रीसीव्हर सेवा"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"फोन एसएमएस सेवा रन होत आहे"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"फोन एसएमएस सेवा अ‍ॅक्टिव्ह आहे"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"सहयोगी डिव्हाइसद्वारे मेसेज मिळवत आहे"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"फोन एसएमएस सेवा रन होत आहे"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"फोन एसएमएस सेवा अ‍ॅक्टिव्ह आहे"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"सहयोगी डिव्हाइसद्वारे एसएमएस मिळवत आहे"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"फोनसह प्रोफाइल अनलॉक करा"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"अनलॉक करण्याचे पर्याय सेट करण्यासाठी तुमचे सहयोगी अ‍ॅप तपासा"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;ला माझी प्रोफाइल अनलॉक करू द्या"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 4a678cc..bdd6b11 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Tidak dikesan"</string>
<string name="disconnected" msgid="8526513868622591894">"Diputuskan sambungan"</string>
<string name="unknown" msgid="555736316465118024">"Tidak diketahui"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Saluran Pemberitahuan Mesej Teks Peranti Rakan"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Perkhidmatan Penerima Mesej Teks Telefon"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Perkhidmatan Mesej Teks Telefon sedang berjalan"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Perkhidmatan Pemesejan Teks Telefon aktif"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Menerima Mesej melalui Peranti Rakan"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Perkhidmatan mesej teks telefon sedang berjalan"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Perkhidmatan pemesejan teks telefon aktif"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Menerima mesej teks melalui peranti rakan"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Buka kunci profil dengan telefon"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Semak Apl Rakan anda untuk menetapkan pilihan membuka kunci"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Benarkan &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; membuka kunci profil saya"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 178af20..8b58a54 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"ရှာမတွေ့ပါ"</string>
<string name="disconnected" msgid="8526513868622591894">"ချိတ်ဆက်မထားပါ"</string>
<string name="unknown" msgid="555736316465118024">"အမျိုးအမည်မသိ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"တွဲဖက်စက်ပစ္စည်း မိုဘိုင်းမက်ဆေ့ဂျ် အကြောင်းကြားချက်ချန်နယ်"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"မိုဘိုင်းမက်ဆေ့ဂျ် လက်ခံခြင်းဝန်ဆောင်မှု"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"မိုဘိုင်းမက်ဆေ့ဂျ်ဝန်ဆောင်မှုကို ဖွင့်ထားသည်"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"မိုဘိုင်းမက်ဆေ့ဂျ်ဝန်ဆောင်မှုကို ဖွင့်ထားသည်"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"တွဲဖက်စက်ပစ္စည်းမှတစ်ဆင့် မက်ဆေ့ဂျ်များလက်ခံရယူခြင်း"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ဖုန်း၏ မိုဘိုင်းမက်ဆေ့ဂျ်ဝန်ဆောင်မှု ဖွင့်ထားသည်"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ဖုန်း၏ မိုဘိုင်းမက်ဆေ့ဂျ်ဝန်ဆောင်မှု ဖွင့်ထားသည်"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"တွဲဖက်စက်မှတစ်ဆင့် မိုဘိုင်းမက်ဆေ့ဂျ်များ ရယူနေသည်"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ဖုန်းဖြင့် ပရိုဖိုင်ကို လော့ခ်ဖွင့်ခြင်း"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"လောခ့်ဖွင့်ခြင်းနည်းလမ်းများ သတ်မှတ်ရန် သင့် \'တွဲဖက်အက်ပ်\' ကို စစ်ဆေးပါ"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"သင့်ပရိုဖိုင်ကို &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; အား လော့ခ်ဖွင့်ခွင့်ပြုခြင်း"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index b553316..2e475c8 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ikke oppdaget"</string>
<string name="disconnected" msgid="8526513868622591894">"Frakoblet"</string>
<string name="unknown" msgid="555736316465118024">"Ukjent"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanal for SMS-varsler fra følgeenheten"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Tjeneste for mottak av telefon-SMS"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Tjenesten for telefon-SMS kjører"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Tjenesten for telefon-SMS er aktiv"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Mottar meldinger via følgeenheten"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Tjenesten for telefon-SMS kjører"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Tjenesten for telefon-SMS er aktiv"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Mottar SMS-er via følgeenhet"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Lås opp profilen med telefonen"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Bruk følgeappen til å angi alternativer for å låse opp profilen"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"La &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; låse opp profilen min"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index cec187c..82c48a3 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"पत्ता लागेन"</string>
<string name="disconnected" msgid="8526513868622591894">"डिस्कनेक्ट गरियो"</string>
<string name="unknown" msgid="555736316465118024">"अज्ञात"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"सहयोगी यन्त्रको पाठ सन्देशसम्बन्धी सूचनाको च्यानल"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"फोनबाट पाठ सन्देश प्राप्त गर्ने सेवा"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"फोनबाट पाठ सन्देश पठाउने सेवा चालु छ"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"फोनबाट पाठ सन्देश पठाउने सेवा सक्रिय छ"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"सहयोगी यन्त्रमार्फत सन्देशहरू प्राप्त गरिँदै छ"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"फोनबाट पाठ सन्देश पठाउने सेवा चालु छ"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"फोनबाट पाठ सन्देश पठाउने सेवा सक्रिय छ"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"सहयोगी यन्त्रमार्फत पाठ सन्देशहरू प्राप्त गरिँदै"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"फोन प्रयोग गरेर प्रोफाइल अनलक गर्नुहोस्"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"अनलक गर्ने विकल्पहरू सेट गर्न आफ्नो सहयोगी एपमा जानुहोस्"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; लाई मेरो प्रोफाइल अनलक गर्न दिनुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index ad684ee..b989e57 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Niet gedetecteerd"</string>
<string name="disconnected" msgid="8526513868622591894">"Losgekoppeld"</string>
<string name="unknown" msgid="555736316465118024">"Onbekend"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanaal voor sms-meldingen op bijbehorend apparaat"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Ontvangstservice voor sms-berichten op telefoon"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Sms-service van telefoon wordt uitgevoerd"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Sms-service van telefoon is actief"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Berichten ontvangen via bijbehorend apparaat"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Sms-service van telefoon wordt uitgevoerd"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Sms-service van telefoon is actief"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Sms\'jes ontvangen via bijbehorend apparaat"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profiel ontgrendelen met telefoon"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Check je bijbehorende app om ontgrendelingsopties in te stellen"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Laat &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; mijn profiel ontgrendelen"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index e5f8ed6..c4a0ff9 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"ଚିହ୍ନଟ କରାଯାଇନାହିଁ"</string>
<string name="disconnected" msgid="8526513868622591894">"ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି"</string>
<string name="unknown" msgid="555736316465118024">"ଅଜଣା"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"ସହଯୋଗୀ ଡିଭାଇସ୍ ଟେକ୍ସଟ୍ ମେସେଜ୍ ବିଜ୍ଞପ୍ତି ଚ୍ୟାନେଲ୍"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ଫୋନରେ ଟେକ୍ସଟ୍ ମେସେଜ୍ ରିସିଭର୍ ସେବା"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ଫୋନରେ ଟେକ୍ସଟ୍ ମେସେଜ୍ ସେବା ଚାଲୁ ଅଛି"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ଫୋନ୍ ଟେକ୍ସଟ୍ ମେସେଜିଂ ସେବା ସକ୍ରିୟ ଅଛି"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"ସହଯୋଗୀ ଡିଭାଇସ୍ ମାଧ୍ୟମରେ ମେସେଜଗୁଡ଼ିକ ପ୍ରାପ୍ତ କରାଯାଉଛି"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ଫୋନ୍ ଟେକ୍ସଟ୍ ମେସେଜ୍ ସେବା ଚାଲୁ ଅଛି"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ଫୋନ୍ ଟେକ୍ସଟ୍ ମେସେଜିଂ ସେବା ସକ୍ରିୟ ଅଛି"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"ସହଯୋଗୀ ଡିଭାଇସ୍ ମାଧ୍ୟମରେ ଟେକ୍ସଟ୍ ମେସେଜଗୁଡ଼ିକ ପ୍ରାପ୍ତ କରାଯାଉଛି"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ଫୋନ୍ ମାଧ୍ୟମରେ ପ୍ରୋଫାଇଲ୍ ଅନଲକ୍ କରନ୍ତୁ"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"ଅନଲକ୍ କରିବାର ବିକଳ୍ପଗୁଡ଼ିକ ସେଟ୍ କରିବାକୁ ଆପଣଙ୍କର ସହଯୋଗୀ ଆପ୍ ଯାଞ୍ଚ କରନ୍ତୁ"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;କୁ ମୋ ପ୍ରୋଫାଇଲ୍ ଅନଲକ୍ କରିବାକୁ ଦିଅନ୍ତୁ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index f76681f..c1d9e76 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"ਪਤਾ ਨਹੀਂ ਲੱਗਾ"</string>
<string name="disconnected" msgid="8526513868622591894">"ਡਿਸਕਨੈਕਟ ਹੈ"</string>
<string name="unknown" msgid="555736316465118024">"ਅਗਿਆਤ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"ਸੰਬੰਧੀ ਡੀਵਾਈਸ ਦੇ ਲਿਖਤ ਸੁਨੇਹੇ ਦੀ ਸੂਚਨਾ ਦਾ ਚੈਨਲ"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ਫ਼ੋਨ ਦੇ ਲਿਖਤ ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਸੇਵਾ"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ਫ਼ੋਨ ਦੀ ਲਿਖਤ ਸੁਨੇਹਿਆਂ ਵਾਲੀ ਸੇਵਾ ਚੱਲ ਰਹੀ ਹੈ"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ਫ਼ੋਨ ਦੀ ਲਿਖਤ ਸੁਨੇਹਿਆਂ ਵਾਲੀ ਸੇਵਾ ਕਿਰਿਆਸ਼ੀਲ ਹੈ"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"ਸੰਬੰਧੀ ਡੀਵਾਈਸ ਰਾਹੀਂ ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ਫ਼ੋਨ ਦੀ ਲਿਖਤ ਸੁਨੇਹਿਆਂ ਵਾਲੀ ਸੇਵਾ ਚੱਲ ਰਹੀ ਹੈ"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ਫ਼ੋਨ ਦੀ ਲਿਖਤ ਸੁਨੇਹਿਆਂ ਵਾਲੀ ਸੇਵਾ ਕਿਰਿਆਸ਼ੀਲ ਹੈ"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"ਸੰਬੰਧੀ ਡੀਵਾਈਸ ਰਾਹੀਂ ਲਿਖਤ ਸੁਨੇਹਾ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਫ਼ੋਨ ਨਾਲ ਅਣਲਾਕ ਕਰੋ"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"ਅਣਲਾਕ ਕਰਨ ਦੇ ਵਿਕਲਪ ਸੈੱਟ ਕਰਨ ਲਈ ਆਪਣੀ ਸੰਬੰਧੀ ਐਪ ਦੀ ਜਾਂਚ ਕਰੋ"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਮੇਰਾ ਪ੍ਰੋਫਾਈਲ ਅਣਲਾਕ ਕਰਨ ਦਿਓ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 01c97dd..b4b1fe9 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nie wykryto"</string>
<string name="disconnected" msgid="8526513868622591894">"Odłączono"</string>
<string name="unknown" msgid="555736316465118024">"Inny"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanał powiadomień o SMS-ach z urządzenia towarzyszącego"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Usługa odbierania SMS-ów z telefonu"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Usługa SMS-ów z telefonu jest uruchomiona"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Usługa SMS-ów z telefonu jest aktywna"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Odbieranie wiadomości przez urządzenie towarzyszące"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Usługa SMS-ów z telefonu jest uruchomiona"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Usługa SMS-ów z telefonu jest aktywna"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Odbieranie SMS-ów przez urządzenie towarzyszące"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Odblokowuj profil za pomocą telefonu"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Ustaw opcje odblokowywania w aplikacji towarzyszącej"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Zezwól telefonowi <xliff:g id="PHONE_NAME">%1$s</xliff:g> na odblokowywanie profilu"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 2730a13..e456c8b 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Não detetado"</string>
<string name="disconnected" msgid="8526513868622591894">"Desligado"</string>
<string name="unknown" msgid="555736316465118024">"Desconhecido"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canal de notificações de SMS do dispositivo associado"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Serviço de recetor de SMS do telemóvel"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Serviço de SMS do telemóvel em execução"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"O serviço de SMS do telemóvel está ativo"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"A receber mensagens através do dispositivo associado"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Serviço de mensagens de texto do telemóvel em execução"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Serviço de mensagens de texto do telemóvel ativo."</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"A receber mensagens de texto através do dispositivo associado."</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Desbloqueie o perfil com o telemóvel"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Verifique a sua app associada para definir opções de desbloqueio."</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Permitir que o telemóvel &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; desbloqueie o meu perfil"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 2ac6a7a..810e3de 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Não detectado"</string>
<string name="disconnected" msgid="8526513868622591894">"Desconectado"</string>
<string name="unknown" msgid="555736316465118024">"Desconhecido"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canal de notificações de mensagens de texto do dispositivo complementar"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Serviço receptor de mens. de texto do smartphone"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Serviço de mensagens de texto em funcionamento no smartphone"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Serviço de mensagens de texto ativo no smartphone"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Recebendo mensagens via dispositivo complementar"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Serviço de mensagens de texto em funcionamento no smartphone"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Serviço de mensagens de texto ativo no smartphone"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Recebendo mensagens de texto via dispositivo complementar"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Desbloquear perfil usando o smartphone"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Verifique seu aplicativo Companion para definir opções de desbloqueio"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Permitir que o smartphone &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; desbloqueie meu perfil"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 808ede7..7cd5285 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nu s-a detectat"</string>
<string name="disconnected" msgid="8526513868622591894">"Deconectat"</string>
<string name="unknown" msgid="555736316465118024">"Necunoscut"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Canalul de notificări privind mesajele text de pe dispozitivul însoțitor"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Serviciul de primire a mesajelor text de pe telefon"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Serviciul de mesaje text de pe telefon rulează"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Serviciul de mesaje text de pe telefon este activ"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Se primesc mesaje pe dispozitivul însoțitor"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Serviciul de mesaje text de pe telefon rulează"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Serviciul de mesaje text de pe telefon este activ"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Se primesc mesaje text prin intermediul dispozitivului însoțitor"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Deblocați profilul folosind telefonul"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Verificați aplicația Companion pentru a seta opțiunile de deblocare"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Permite ca &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; să-mi deblocheze profilul"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index e5ec624..6806f25 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Не обнаружено"</string>
<string name="disconnected" msgid="8526513868622591894">"Не подключено"</string>
<string name="unknown" msgid="555736316465118024">"Неизвестно"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Канал уведомлений об SMS-сообщениях, приходящих на вспомогательное устройство"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Служба приема входящих SMS"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Служба уведомлений о входящих SMS активна"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Служба уведомлений о входящих SMS активна"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Автомобиль принимает SMS, приходящие на вспомогательное устройство."</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Сообщения с телефона синхронизированы"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Сообщения с телефона синхронизированы"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Получение сообщений через вспомогательное устройство…"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Разблокировка с помощью телефона"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Настроить параметры снятия блокировки можно в сопутствующем приложении."</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Разрешить разблокировку профиля с помощью телефона &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 53492a9..f2d2e8f 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"අනාවරණ නොවිය"</string>
<string name="disconnected" msgid="8526513868622591894">"විසන්ධි විය"</string>
<string name="unknown" msgid="555736316465118024">"නොදනී"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"මිත්‍ර උපාංග පාඨ පණිවුඩ දැනුම් දීම් නාලිකාව"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"දුරකථන පාඨ පණිවුඩ ග්‍රාහක සේවය"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"දුරකථන පාඨ පණිවුඩ සේවය ධාවන වෙයි"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"දුරකථන පාඨ පණිවුඩ සේවය ක්‍රියාත්මකයි"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"මිත්‍ර උපාංගය හරහා පණිවුඩ ලබා ගන්න"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"දුරකථන පෙළ පණිවිඩ සේවය ධාවනය වේ"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"දුරකථන පෙළ පණිවිඩ යැවීමේ සේවය සක්‍රියයි"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"සහායක උපාංගය හරහා පෙළ පණිවිඩ ලැබීම"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"දුරකථනය මඟින් පැතිකඩ අගුලු අරින්න"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"අගුලු ඇරීමේ විකල්ප සැකසීමට ඔබේ මිත්‍ර යෙදුම පරීක්‍ෂා කරන්න"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; හට මගේ පැතිකඩ අගුලු ඇරීමට ඉඩ දෙන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index fd1c637..b6cfaad 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nerozpoznané"</string>
<string name="disconnected" msgid="8526513868622591894">"Odpojené"</string>
<string name="unknown" msgid="555736316465118024">"Neznáme"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanál upozornení na textové správy sprievodného zariadenia"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Služba telefónu na prijímanie textových správ"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Služba textových správ telefónu je spustená"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Služba textových správ telefónu je aktívna"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Prijímajú sa správy prostredníctvom sprievodného zariadenia"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Služba textových správ telefónu je spustená"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Služba textových správ telefónu je aktívna"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Príjem textových správ prostredníctvom sprievodného zariadenia"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Odomykanie profilu telefónom"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Možnosti odomykania môžete nastaviť v sprievodnej aplikácii"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Povoliť telefónu <xliff:g id="PHONE_NAME">%1$s</xliff:g> odomykať môj profil"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index cde0a12..bbc009b 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ni zaznano"</string>
<string name="disconnected" msgid="8526513868622591894">"Ni povezave"</string>
<string name="unknown" msgid="555736316465118024">"Neznano"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanal za obvestila za sporočila SMS prek spremljevalne naprave"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Storitev sprejemnika sporočil SMS prek telefona"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Storitev za sporočila SMS prek telefona se izvaja"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Storitev za sporočila SMS prek telefona je aktivna"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Prejemanje sporočil prek spremljevalne naprave"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Storitev za sporočila SMS prek telefona se izvaja"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Storitev za sporočila SMS prek telefona je aktivna"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Prejemanje sporočil SMS prek spremljevalne naprave"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Odklepanje profila s telefonom"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"V spremljevalni aplikaciji nastavite možnosti odklepanja"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Omogočanje, da telefon &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; odklene moj profil"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index d181b05..28b02f9 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Nuk u zbulua"</string>
<string name="disconnected" msgid="8526513868622591894">"Shkëputur"</string>
<string name="unknown" msgid="555736316465118024">"I panjohur"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kanali i njoftimeve të mesazheve me tekst të pajisjes shoqëruese"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Shërbimi i marrësit të mesazheve me tekst të telefonit"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Shërbimi i mesazheve me tekst të telefonit është në ekzekutim"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Shërbimi i mesazheve me tekst të telefonit është aktiv"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Mesazhet po merren nëpërmjet pajisjes shoqëruese"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Shërbimi i mesazheve me tekst i telefonit është në ekzekutim"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Shërbimi i mesazheve me tekst është aktiv"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Mesazhet me tekst po merren përmes pajisjes shoqëruese"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Shkyçe profilin me telefonin tënd"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Kontrollo aplikacionin shoqërues për të caktuar opsionet e shkyçjes"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Lejo që &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; ta shkyçë profilin tim"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 64bc46b..d23e69c 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Није откривено"</string>
<string name="disconnected" msgid="8526513868622591894">"Веза је прекинута"</string>
<string name="unknown" msgid="555736316465118024">"Непознато"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Канал за обавештења за SMS-ове на придруженом уређају"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Услуга за пријем SMS-ова на телефону"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"SMS услуга на телефону је покренута"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"SMS услуга на телефону је активна"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Добијате поруке преко придруженог уређаја"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"SMS услуга на телефону је покренута"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"SMS услуга на телефону је активна"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Пријем SMS-ова преко придруженог уређаја"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Откључајте профил помоћу телефона"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Проверите пратећу апликацију да бисте подесили опције за откључавање"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Омогући телефону &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; да откључа мој профил"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 93503af..909d3da 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ingen hittades"</string>
<string name="disconnected" msgid="8526513868622591894">"Frånkopplad"</string>
<string name="unknown" msgid="555736316465118024">"Okänd"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Aviseringskanal för sms från hjälpenhet"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefonens sms-tjänst"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Telefonens sms-tjänst körs"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Telefonens sms-tjänst är aktiv"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Meddelanden tas emot via hjälpenheten"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Telefonens sms-tjänst körs"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Telefonens sms-tjänst är aktiv"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Tar emot sms via hjälpenheten"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Lås upp profilen med telefonen"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Upplåsningsalternativ finns i den tillhörande appen"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Låt &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; låsa upp min telefon"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index da1f4ea..0699873 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Haijagunduliwa"</string>
<string name="disconnected" msgid="8526513868622591894">"Kimetenganishwa"</string>
<string name="unknown" msgid="555736316465118024">"Haijulikani"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kituo cha Arifa za SMS za Kifaa Kisaidizi"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Huduma ya Kupokea SMS za Simu"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Huduma ya SMS za simu inafanya kazi"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Huduma ya SMS za simu inatumika"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Jinsi ya Kupokea Ujumbe kupitia Kifaa Kisaidizi"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Huduma ya SMS za simu inafanya kazi"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Huduma ya SMS za simu inatumika"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Inapokea SMS kupitia kifaa kisaidizi"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Fungua wasifu ukitumia simu"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Angalia Programu Saidizi ili uweke mipangilio ya chaguo za kufungua"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Ruhusu &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; ifungue wasifu wangu"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 4bd4749..f3a43b6 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"கண்டறிய முடியவில்லை"</string>
<string name="disconnected" msgid="8526513868622591894">"துண்டிக்கப்பட்டது"</string>
<string name="unknown" msgid="555736316465118024">"அறியாதது"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"கம்பேனியன் சாதன மெசேஜூக்கான அறிவிப்புகள் சேனல்"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"மொபைல் மெசெஜ் பெறுபவர் சேவை"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"மொபைல் மெசேஜ் சேவை இயங்குகிறது"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"மொபைல் மெசேஜ் சேவை செயலில் உள்ளது"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"கம்பேனியன் சாதனத்திலிருந்து மெசேஜ்களைப் பெறுகிறது"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"மொபைல் மெசேஜ் சேவை இயங்குகிறது"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"மொபைல் மெசேஜ் சேவை செயலிலுள்ளது"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"கம்பேனியன் சாதனம் மூலம் மெசேஜ்களைப் பெறுகிறது"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"மொபைல் மூலம் சுயவிவரத்தை அன்லாக் செய்தல்"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"அன்லாக் விருப்பங்களை அமைப்பதற்குக் கம்பேனியன் ஆப்ஸைப் பார்க்கவும்"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"எனது சுயவிவரத்தை &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; மூலம் அன்லாக் செய்தல்"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 1a3270f..267bccd 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"గుర్తించబడలేదు"</string>
<string name="disconnected" msgid="8526513868622591894">"డిస్‌కనెక్ట్ అయింది"</string>
<string name="unknown" msgid="555736316465118024">"తెలియదు"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"సహచర పరికర టెక్ట్స్ మెసేజ్ నోటిఫికేషన్‌ల ఛానెల్"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"ఫోన్ టెక్ట్స్ మెసేజ్ రిసీవర్ సర్వీస్"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"ఫోన్ టెక్ట్స్ మెసేజ్ సర్వీస్ రన్ అవుతోంది"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"ఫోన్ టెక్ట్స్ మెసేజింగ్ సర్వీస్ యాక్టివ్‌గా ఉంది"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"సహచర పరికరం ద్వారా మెసేజ్‌లను స్వీకరిస్తోంది"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"ఫోన్ టెక్ట్స్ మెసేజ్ సర్వీస్ రన్ అవుతోంది"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"ఫోన్ టెక్ట్స్ మెసేజింగ్ సర్వీస్ యాక్టివ్‌గా ఉంది"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"సహచర పరికరం ద్వారా టెక్ట్స్ మెసేజ్‌లను స్వీకరిస్తోంది"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ఫోన్‌తో ప్రొఫైల్‌ను అన్‌లాక్ చేయండి"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"అన్‌లాక్ చేసే ఆప్షన్‌లను సెట్ చేయడానికి మీ సహచర యాప్‌ను చెక్ చేయండి"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"నా ప్రొఫైల్‌ను అన్‌లాక్ చేయడానికి &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;ను అనుమతించు"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 951b2ad..1468ecf 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"ไม่พบ"</string>
<string name="disconnected" msgid="8526513868622591894">"เลิกเชื่อมต่อแล้ว"</string>
<string name="unknown" msgid="555736316465118024">"ไม่ทราบ"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"ช่องทางการแจ้งเตือน SMS ผ่านอุปกรณ์ที่ใช้ร่วมกัน"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"บริการตัวรับ SMS ทางโทรศัพท์"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"บริการ SMS ทางโทรศัพท์ทำงานอยู่"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"เปิดใช้งานบริการรับส่งข้อความทางโทรศัพท์อยู่"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"กำลังรับข้อความผ่านอุปกรณ์ที่ใช้ร่วมกัน"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"บริการ SMS ทางโทรศัพท์ทำงานอยู่"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"เปิดใช้งานบริการรับส่งข้อความทางโทรศัพท์อยู่"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"รับ SMS ผ่านอุปกรณ์ที่ใช้ร่วมกัน"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"ปลดล็อกโปรไฟล์ด้วยโทรศัพท์"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"ไปที่แอปที่ใช้ร่วมกันเพื่อกำหนดตัวเลือกการปลดล็อก"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"อนุญาตให้ &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; ปลดล็อกโปรไฟล์ของฉัน"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 01f399b..bf0939d 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Hindi na-detect"</string>
<string name="disconnected" msgid="8526513868622591894">"Nadiskonekta"</string>
<string name="unknown" msgid="555736316465118024">"Hindi alam"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Channel ng Mga Notification ng Text Message ng Kasamang Device"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Serbisyo ng Receiver ng Text Message ng Telepono"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Gumagana ang serbisyo ng Text Message ng Telepono"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Aktibo ang serbisyo ng Text Messaging sa Telepono"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Tumatanggap ng Mga Mensahe sa Kasamang Device"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Gumagana ang serbisyo ng text message ng telepono"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Aktibo ang serbisyo ng text messaging ng telepono"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Nakakatanggap ng mga text message sa pamamagitan ng kasamang device"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"I-unlock ang profile gamit ang telepono"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Tingnan ang iyong Kasamang App para magtakda ng mga ospyon sa pag-unlock"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Hayaan ang &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; na i-unlock ang profile ko"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index b667a0c..b21062d 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Algılanmadı"</string>
<string name="disconnected" msgid="8526513868622591894">"Bağlı değil"</string>
<string name="unknown" msgid="555736316465118024">"Bilinmiyor"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Tamamlayıcı Cihaz Kısa Mesaj Bildirim Kanalı"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefon Kısa Mesaj Alıcı Hizmeti"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Telefon Kısa Mesaj hizmeti çalışıyor"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Telefon Kısa Mesaj hizmeti etkin"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Mesajlar Tamamlayıcı Cihaz üzerinden alınıyor"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Telefon kısa mesaj hizmeti çalışıyor"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Telefon kısa mesaj hizmeti etkin"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Tamamlayıcı cihazdan kısa mesajlar alınıyor"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profilin kilidini telefonla açma"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Kilit açma seçeneklerini ayarlamak için Tamamlayıcı Uygulamanızı kontrol edin"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; adlı telefonun profilimin kilidini açmasına izin ver"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index f194d72..d11f34d 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Не знайдено"</string>
<string name="disconnected" msgid="8526513868622591894">"Відключено"</string>
<string name="unknown" msgid="555736316465118024">"Невідомо"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Канал сповіщень для текстових повідомлень супутнього пристрою"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Сервіс отримання текстових повідомлень на телефоні"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Сервіс текстових повідомлень на телефоні запущено"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Сервіс текстових повідомлень на телефоні активний"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Отримання повідомлень через супутній пристрій"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Сервіс текстових повідомлень на телефоні запущено"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Сервіс текстових повідомлень на телефоні активний"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Отримання текстових повідомлень через супутній пристрій"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Розблокувати пристрій через телефон"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Щоб налаштувати розблокування, перейдіть у супутній додаток"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Дозволити пристрою &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; розблокувати мій профіль"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index ff8543d..f4e29cb 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"پتہ نہیں چلا"</string>
<string name="disconnected" msgid="8526513868622591894">"غیر منسلک"</string>
<string name="unknown" msgid="555736316465118024">"نامعلوم"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"ساتھی آلہ کے متنی پیغام کی اطلاعات کا چینل"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"فون متنی پیغام موصول کنندہ کی سروس"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"فون متنی پیغام کی سروس چل رہی ہے"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"فون متنی پیغام رسانی کی سروس فعال ہے"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"ساتھی آلہ کے ذریعے پیغامات موصول ہو رہے ہیں"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"فون کی ٹیکسٹ پیغام کی سروس چل رہی ہے"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"فون کی ٹیکسٹ پیغام رسانی کی سروس فعال ہے"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"ساتھی آلہ کے ذریعے ٹیکسٹ پیغامات موصول ہو رہے ہیں"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"فون کے ساتھ پروفائل غیر مقفل کریں"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"غیر مقفل کرنے والے اختیارات ترتیب دینے کے ليے اپنے ساتھی ایپ کو چیک کریں"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;b&gt;‎&amp; کو میری پروفائل غیر مقفل کرنے دیں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 330e96c..87c6e8a 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Aniqlanmadi"</string>
<string name="disconnected" msgid="8526513868622591894">"Uzildi"</string>
<string name="unknown" msgid="555736316465118024">"Noaniq"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Hamroh qurilmada SMS bildirishnomalari kanali"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Telefon SMS qabul qiluvchi xizmat"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Telefon SMS xizmati ishlamoqda"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Telefon SMS xizmati faol"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Xabarlarni hamroh qurilmadan qabul qilish"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Telefon SMS xizmati ishlamoqda"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Telefon SMS xizmati faol"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"SMS xabarlari hamroh qurilma orqali olinadi"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Profil qulfini telefon bilan ochish"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Qulfini ochish parametrlarini sozlash uchun hamroh ilovani tekshiring"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; orqali profilim qulfini ochishga ruxsat berilsin"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 3a1bcf9..4a6896c 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Không tìm thấy"</string>
<string name="disconnected" msgid="8526513868622591894">"Đã ngắt kết nối"</string>
<string name="unknown" msgid="555736316465118024">"Không xác định"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Kênh thông báo tin nhắn văn bản trên thiết bị đồng hành"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Dịch vụ nhận tin nhắn văn bản trên điện thoại"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Dịch vụ đồng bộ hóa Tin nhắn văn bản qua điện thoại đang chạy"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Dịch vụ Nhắn tin văn bản qua điện thoại đang chạy"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Nhận tin nhắn qua thiết bị đồng hành"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Dịch vụ đồng bộ hóa tin nhắn văn bản qua điện thoại đang chạy"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Dịch vụ nhắn tin văn bản qua điện thoại đang chạy"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Nhận tin nhắn văn bản qua thiết bị đồng hành"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Dùng điện thoại mở khóa hồ sơ"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Kiểm tra Ứng dụng đồng hành để đặt các tùy chọn mở khóa"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Cho phép &lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt; mở khóa hồ sơ của tôi"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 12ed841..cb44cc6 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"未检测到"</string>
<string name="disconnected" msgid="8526513868622591894">"已断开连接"</string>
<string name="unknown" msgid="555736316465118024">"未知"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"配套设备短信通知渠道"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"手机短信接收器服务"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"手机短信服务正在运行"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"手机短信服务已启用"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"通过配套设备接收短信"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"手机短信服务正在运行"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"手机短信服务已启用"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"正在通过配套设备接收短信"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"使用手机解锁个人资料"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"查看您的配套应用以设置解锁选项"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"允许&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;/b&gt;解锁我的个人资料"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index e53393e..9411d8a 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"未能偵測"</string>
<string name="disconnected" msgid="8526513868622591894">"已解除連接"</string>
<string name="unknown" msgid="555736316465118024">"不明"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"隨附裝置短訊通知頻道"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"手機短訊接收服務"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"正在執行手機短訊服務"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"已啟用手機短訊服務"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"透過隨附裝置接收訊息"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"正在執行手機短訊服務"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"已啟用手機短訊服務"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"正在透過隨附裝置接收短訊"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"使用手機為設定檔解鎖"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"請查看您的隨附應用程式以設定解鎖選項"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"允許「<xliff:g id="PHONE_NAME">%1$s</xliff:g>」為我的設定檔解鎖"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 5f84bd1..f6119e5 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"未偵測到"</string>
<string name="disconnected" msgid="8526513868622591894">"已中斷連線"</string>
<string name="unknown" msgid="555736316465118024">"不明"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"隨附裝置訊息通知管道"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"手機訊息接收器服務"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"手機訊息服務執行中"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"手機訊息服務已啟用"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"透過隨附裝置接收訊息"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"手機訊息服務執行中"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"手機訊息服務已啟用"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"正在透過隨附裝置接收訊息"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"使用手機將設定檔解鎖"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"請使用隨附應用程式設定解鎖選項"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"允許「<xliff:g id="PHONE_NAME">%1$s</xliff:g>」將我的設定檔解鎖"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index c7fd8e3..36b55f0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -56,11 +56,9 @@
<string name="notDetected" msgid="4115229772085594506">"Ayitholiwe"</string>
<string name="disconnected" msgid="8526513868622591894">"Inqamukile"</string>
<string name="unknown" msgid="555736316465118024">"Akwaziwa"</string>
- <string name="notification_msg_channel_name" msgid="4091700845795023857">"Isiteshi sezaziso zombhalo obhaliwe wedivayisi engumngane"</string>
- <string name="notification_msg_channel_description" msgid="5621930731783249631">"Isevisi yomamukeli wombhalo obhaliwe wefoni"</string>
- <string name="app_running_msg_channel_name" msgid="7778100287130526405">"Isevisi Yomlayezo obhaliwe wefoni iyasebenza"</string>
- <string name="app_running_msg_notification_title" msgid="1568647456607398493">"Isevisi Yomlayezo obhaliwe wefoni iyasebenza"</string>
- <string name="app_running_msg_notification_content" msgid="9014317798865985823">"Ukuthola Imiyalezo ngedivayisi Engumngane"</string>
+ <string name="app_running_msg_channel_name" msgid="87011783084544733">"Isevisi yomyalezo obhaliwe wefoni iyasebenza"</string>
+ <string name="app_running_msg_notification_title" msgid="388907180286994900">"Isevisi yomlayezo obhaliwe wefoni iyasebenza"</string>
+ <string name="app_running_msg_notification_content" msgid="4602261901969140233">"Ithola imiyalezo ebhaliwe ngohlelo lokusebenza lomngane"</string>
<string name="trusted_device_feature_title" msgid="2690568414493283969">"Vula iphrofayela ngefoni"</string>
<string name="trusted_device_feature_instruction" msgid="2546439818978826962">"Hlola Uhlelo lwakho lokusebenza elingumngane ukusetha izinketho zokuvula"</string>
<string name="trusted_device_item_title" msgid="4390572381407233745">"Vumela i-&lt;b&gt;<xliff:g id="PHONE_NAME">%1$s</xliff:g>&lt;b&gt; ukuvula iphrofayela yami"</string>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index ba7d0f4..c1a7a7a 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -15,5 +15,9 @@
-->
<resources>
+ <color name="connection_color_connected">@*android:color/car_green_500</color>
+ <color name="connection_color_disconnected">@*android:color/car_red_500</color>
+ <color name="connection_color_not_detected">#b7ffffff</color>
+
<color name="car_red_300">@*android:color/car_red_300</color>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index d2c9db7..150ce7b 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -16,36 +16,33 @@
-->
<resources>
- <dimen name="car_button_height">@*android:dimen/car_button_height</dimen>
- <dimen name="icon_size">@*android:dimen/car_primary_icon_size</dimen>
- <dimen name="icon_margin_end">44dp</dimen>
- <dimen name="icon_margin_start">@dimen/car_ui_keyline_1</dimen>
- <dimen name="text_margin_start">@dimen/car_ui_keyline_3</dimen>
- <dimen name="text_margin_end">@dimen/car_ui_keyline_1</dimen>
- <dimen name="no_icon_text_margin_start">@dimen/car_ui_keyline_1</dimen>
- <dimen name="list_item_margin_top">@dimen/car_ui_preference_content_margin_top</dimen>
- <dimen name="list_item_margin_bottom">@dimen/car_ui_preference_content_margin_bottom</dimen>
- <dimen name="list_item_margin_end">@dimen/car_ui_preference_icon_margin_end</dimen>
- <dimen name="list_item_height">116dp</dimen>
- <dimen name="list_item_padding">36dp</dimen>
-
+ <dimen name="icon_size">@dimen/car_ui_primary_icon_size</dimen>
<dimen name="title_margin_top">116dp</dimen>
<dimen name="message_margin_top">@dimen/car_ui_padding_3</dimen>
<dimen name="button_margin_top">48dp</dimen>
+ <dimen name="list_item_height">@dimen/car_ui_list_item_height</dimen>
+ <dimen name="list_item_icon_size">@dimen/car_ui_list_item_icon_size</dimen>
+ <dimen name="list_item_icon_container_size">@dimen/car_ui_list_item_icon_container_width</dimen>
+ <dimen name="list_item_text_margin_start">@dimen/car_ui_list_item_text_start_margin</dimen>
+ <dimen name="list_item_text_margin_end">@dimen/car_ui_list_item_text_start_margin</dimen>
+ <dimen name="list_item_text_no_icon_margin_start">@dimen/car_ui_list_item_text_no_icon_start_margin</dimen>
+ <dimen name="list_item_content_margin_top">@dimen/car_ui_preference_content_margin_top</dimen>
+ <dimen name="list_item_content_margin_bottom">@dimen/car_ui_preference_content_margin_bottom</dimen>
+ <dimen name="list_item_divider_width">@dimen/car_ui_divider_width</dimen>
+
<dimen name="instruction_margin_top">48dp</dimen>
<dimen name="instruction_detail_margin_top">@dimen/car_ui_padding_3</dimen>
<dimen name="instruction_steps_margin_top">72dp</dimen>
- <dimen name="pairing_code_top_margin">@dimen/car_ui_padding_5</dimen>
-
<dimen name="device_detail_margin_top">48dp</dimen>
<dimen name="device_detail_margin">@dimen/car_ui_padding_3</dimen>
- <dimen name="device_detail_text_margin">44dp</dimen>
<dimen name="device_detail_button_margin_top">72dp</dimen>
<dimen name="device_detail_divider_margin">@dimen/car_ui_padding_2</dimen>
- <dimen name="car_ui_display1_size">44sp</dimen>
-
+ <dimen name="pairing_code_margin_top">@dimen/car_ui_padding_5</dimen>
<item name="pairing_code_text_spacing" format="float" type="dimen">0.6</item>
+
+ <dimen name="connection_indicator_size">12dp</dimen>
+ <dimen name="connection_indicator_margin_end">12dp</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 51d6951..4b22e7a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -99,15 +99,11 @@
<string name="unknown">Unknown</string>
<!-- NotificationMsg Feature strings-->
- <!-- Notification Channel name for the Companion Device Text Message notifications service [CHAR LIMIT=80]-->
- <string name="notification_msg_channel_name">Companion Device Text Message Notifications Channel</string>
- <!-- Notification Channel description for the Companion Device Text Message notifications service [CHAR LIMIT=50]-->
- <string name="notification_msg_channel_description">Phone Text Message Receiver Service</string>
<!--Notification Channel name for the silent "message notification service running" notification [CHAR LIMIT=100]-->
- <string name="app_running_msg_channel_name">Phone Text Message service running</string>
+ <string name="app_running_msg_channel_name">Phone text message service running</string>
<!--Notification Channel description for the silent "message notification service running" notification [CHAR LIMIT=50]-->
- <string name="app_running_msg_notification_title">Phone Text Messaging service is active</string>
- <string name="app_running_msg_notification_content">Receiving Messages via Companion Device</string>
+ <string name="app_running_msg_notification_title">Phone text messaging service is active</string>
+ <string name="app_running_msg_notification_content">Receiving text messages via companion device</string>
<!-- Title for trusted device feature [CHAR LIMIT=40]-->
<string name="trusted_device_feature_title">Unlock profile with phone</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 45ac7ea..02835fc 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -19,43 +19,27 @@
<item name="android:tint">@color/car_ui_color_accent</item>
<item name="android:scaleType">fitCenter</item>
</style>
- <style name="AssociationDetailIcon">
- <item name="android:tint">?android:attr/textColorPrimary</item>
- <item name="android:scaleType">fitCenter</item>
- </style>
<style name="AssociationTitle" parent="TextAppearance.Body1"/>
+
<style name="AssociationInstruction" parent="TextAppearance.Body3"/>
+
<style name="AssociationMessage" parent="TextAppearance.Body3">
<item name="android:textColor">?android:attr/textColorTertiary</item>
</style>
+
<style name="AssociationPairingCode" parent="TextAppearance.Display1">
<item name="android:letterSpacing">@dimen/pairing_code_text_spacing</item>
<item name="android:textColor">@color/car_ui_color_accent</item>
</style>
+
<style name="TrustedDeviceTitle" parent="TextAppearance.Body1"/>
- <style name="TrustedDeviceMessage" parent="TextAppearance.Body3">
- <item name="android:textColor">?android:attr/textColorTertiary</item>
- </style>
- <style name="ConnectionDisabled">
- <item name="android:textColor">@*android:color/car_red_300</item>
- </style>
- <style name="ConnectionEnabled">
+ <style name="TrustedDeviceMessage" parent="TextAppearance.Body3">
<item name="android:textColor">?android:attr/textColorTertiary</item>
</style>
<style name="DeviceDetailDivider">
<item name="android:background">?android:attr/textColorPrimary</item>
</style>
-
- <style name="InstructionStepItem" parent="DeviceListItem"/>
- <style name="DeviceDetailButton" parent="DeviceListItem">
- <item name="android:background">?android:attr/selectableItemBackground</item>
- </style>
- <style name="DeviceListItem">
- <item name="android:minHeight">@dimen/list_item_height</item>
- <item name="android:paddingTop">@dimen/list_item_padding</item>
- <item name="android:paddingBottom">@dimen/list_item_padding</item>
- </style>
-</resources> \ No newline at end of file
+</resources>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index ef4ea68..d7c3ebf 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -16,5 +16,5 @@
-->
<resources>
- <style name="CompanionDeviceSupportTheme" parent="Theme.CarUi"/>
+ <style name="CompanionDeviceSupportTheme" parent="Theme.CarUi.WithToolbar"/>
</resources>
diff --git a/src/com/android/car/companiondevicesupport/activity/AssociatedDeviceDetailFragment.java b/src/com/android/car/companiondevicesupport/activity/AssociatedDeviceDetailFragment.java
index 0438636..ab3224c 100644
--- a/src/com/android/car/companiondevicesupport/activity/AssociatedDeviceDetailFragment.java
+++ b/src/com/android/car/companiondevicesupport/activity/AssociatedDeviceDetailFragment.java
@@ -18,6 +18,7 @@ package com.android.car.companiondevicesupport.activity;
import static com.android.car.connecteddevice.util.SafeLog.loge;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -30,7 +31,6 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProviders;
import com.android.car.companiondevicesupport.R;
-import com.android.car.companiondevicesupport.api.external.AssociatedDevice;
import com.android.car.companiondevicesupport.feature.trust.TrustedDeviceConstants;
@@ -38,7 +38,8 @@ import com.android.car.companiondevicesupport.feature.trust.TrustedDeviceConstan
public class AssociatedDeviceDetailFragment extends Fragment {
private final static String TAG = "AssociatedDeviceDetailFragment";
private TextView mDeviceName;
- private TextView mConnectionStatus;
+ private TextView mConnectionStatusText;
+ private ImageView mConnectionStatusIndicator;
private TextView mConnectionText;
private ImageView mConnectionIcon;
private AssociatedDeviceViewModel mModel;
@@ -54,7 +55,8 @@ public class AssociatedDeviceDetailFragment extends Fragment {
mDeviceName = view.findViewById(R.id.device_name);
mConnectionIcon = view.findViewById(R.id.connection_icon);
mConnectionText = view.findViewById(R.id.connection_text);
- mConnectionStatus = view.findViewById(R.id.connection_status);
+ mConnectionStatusText = view.findViewById(R.id.connection_status_text);
+ mConnectionStatusIndicator = view.findViewById(R.id.connection_status_indicator);
mModel = ViewModelProviders.of(getActivity()).get(AssociatedDeviceViewModel.class);
mModel.getDeviceDetails().observe(this, this::setDeviceDetails);
@@ -74,30 +76,33 @@ public class AssociatedDeviceDetailFragment extends Fragment {
return;
}
mDeviceName.setText(deviceDetails.getDeviceName());
+
if (!deviceDetails.isConnectionEnabled()) {
- setConnectionDisabledStyle();
- return;
- }
- setConnectionEnabledStyle();
- if (deviceDetails.isConnected()) {
- mConnectionStatus.setText(getString(R.string.connected));
+ setConnectionStatus(
+ ContextCompat.getColor(getContext(), R.color.connection_color_disconnected),
+ getString(R.string.disconnected),
+ ContextCompat.getDrawable(getContext(), R.drawable.ic_phonelink_ring),
+ getString(R.string.enable_device_connection_text));
+ } else if (deviceDetails.isConnected()) {
+ setConnectionStatus(
+ ContextCompat.getColor(getContext(), R.color.connection_color_connected),
+ getString(R.string.connected),
+ ContextCompat.getDrawable(getContext(), R.drawable.ic_phonelink_erase),
+ getString(R.string.disable_device_connection_text));
} else {
- mConnectionStatus.setText(getString(R.string.notDetected));
+ setConnectionStatus(
+ ContextCompat.getColor(getContext(), R.color.connection_color_not_detected),
+ getString(R.string.notDetected),
+ ContextCompat.getDrawable(getContext(), R.drawable.ic_phonelink_erase),
+ getString(R.string.disable_device_connection_text));
}
}
- private void setConnectionEnabledStyle() {
- mConnectionText.setText(getString(R.string.disable_device_connection_text));
- mConnectionIcon.setImageDrawable(ContextCompat.getDrawable(getContext(),
- R.drawable.ic_phonelink_erase));
- mConnectionStatus.setTextAppearance(R.style.ConnectionEnabled);
- }
-
- private void setConnectionDisabledStyle() {
- mConnectionStatus.setText(getString(R.string.disconnected));
- mConnectionStatus.setTextAppearance(R.style.ConnectionDisabled);
- mConnectionText.setText(getString(R.string.enable_device_connection_text));
- mConnectionIcon.setImageDrawable(ContextCompat.getDrawable(getContext(),
- R.drawable.ic_phonelink_ring));
+ private void setConnectionStatus(int connectionStatusColor, String connectionStatusText,
+ Drawable connectionIcon, String connectionText) {
+ mConnectionStatusText.setText(connectionStatusText);
+ mConnectionStatusIndicator.setColorFilter(connectionStatusColor);
+ mConnectionText.setText(connectionText);
+ mConnectionIcon.setImageDrawable(connectionIcon);
}
}
diff --git a/src/com/android/car/companiondevicesupport/activity/AssociationActivity.java b/src/com/android/car/companiondevicesupport/activity/AssociationActivity.java
index bb522c4..aae0a9c 100644
--- a/src/com/android/car/companiondevicesupport/activity/AssociationActivity.java
+++ b/src/com/android/car/companiondevicesupport/activity/AssociationActivity.java
@@ -18,6 +18,8 @@ package com.android.car.companiondevicesupport.activity;
import static com.android.car.connecteddevice.util.SafeLog.logd;
import static com.android.car.connecteddevice.util.SafeLog.loge;
+import static com.android.car.ui.core.CarUi.requireToolbar;
+import static com.android.car.ui.toolbar.Toolbar.State.SUBPAGE;
import android.annotation.NonNull;
import android.app.AlertDialog;
@@ -38,7 +40,7 @@ import androidx.lifecycle.ViewModelProviders;
import com.android.car.companiondevicesupport.R;
import com.android.car.companiondevicesupport.api.external.AssociatedDevice;
import com.android.car.ui.toolbar.MenuItem;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.ToolbarController;
import java.util.Arrays;
@@ -62,19 +64,20 @@ public class AssociationActivity extends FragmentActivity {
private static final String REMOVE_DEVICE_DIALOG_TAG = "RemoveDeviceDialog";
private static final String TURN_ON_BLUETOOTH_DIALOG_TAG = "TurnOnBluetoothDialog";
- private Toolbar mToolbar;
+ private ToolbarController mToolbar;
private AssociatedDeviceViewModel mModel;
@Override
public void onCreate(Bundle saveInstanceState) {
super.onCreate(saveInstanceState);
setContentView(R.layout.base_activity);
- mToolbar = findViewById(R.id.toolbar);
+ mToolbar = requireToolbar(this);
+ mToolbar.setState(SUBPAGE);
observeViewModel();
if (saveInstanceState != null) {
resumePreviousState();
}
- mToolbar.showProgressBar();
+ mToolbar.getProgressBar().setVisible(true);
}
@Override
@@ -82,7 +85,7 @@ public class AssociationActivity extends FragmentActivity {
super.onBackPressed();
mModel.stopAssociation();
dismissConfirmButtons();
- mToolbar.hideProgressBar();
+ mToolbar.getProgressBar().setVisible(false);
}
private void observeViewModel() {
@@ -167,26 +170,26 @@ public class AssociationActivity extends FragmentActivity {
private void showTurnOnBluetoothFragment() {
TurnOnBluetoothFragment fragment = new TurnOnBluetoothFragment();
- mToolbar.showProgressBar();
+ mToolbar.getProgressBar().setVisible(true);
launchFragment(fragment, TURN_ON_BLUETOOTH_FRAGMENT_TAG);
}
private void showAddAssociatedDeviceFragment(String deviceName) {
AddAssociatedDeviceFragment fragment = AddAssociatedDeviceFragment.newInstance(deviceName);
launchFragment(fragment, ADD_DEVICE_FRAGMENT_TAG);
- mToolbar.showProgressBar();
+ mToolbar.getProgressBar().setVisible(true);
}
private void showConfirmPairingCodeFragment(String pairingCode) {
ConfirmPairingCodeFragment fragment = ConfirmPairingCodeFragment.newInstance(pairingCode);
launchFragment(fragment, PAIRING_CODE_FRAGMENT_TAG);
showConfirmButtons();
- mToolbar.hideProgressBar();
+ mToolbar.getProgressBar().setVisible(false);
}
private void showAssociationErrorFragment() {
dismissConfirmButtons();
- mToolbar.showProgressBar();
+ mToolbar.getProgressBar().setVisible(true);
AssociationErrorFragment fragment = new AssociationErrorFragment();
launchFragment(fragment, ASSOCIATION_ERROR_FRAGMENT_TAG);
}
@@ -194,7 +197,7 @@ public class AssociationActivity extends FragmentActivity {
private void showAssociatedDeviceDetailFragment() {
AssociatedDeviceDetailFragment fragment = new AssociatedDeviceDetailFragment();
launchFragment(fragment, DEVICE_DETAIL_FRAGMENT_TAG);
- mToolbar.hideProgressBar();
+ mToolbar.getProgressBar().setVisible(false);
showTurnOnBluetoothDialog();
}
@@ -254,7 +257,7 @@ public class AssociationActivity extends FragmentActivity {
private void retryAssociation() {
dismissConfirmButtons();
- mToolbar.showProgressBar();
+ mToolbar.getProgressBar().setVisible(true);
Fragment fragment = getSupportFragmentManager()
.findFragmentByTag(PAIRING_CODE_FRAGMENT_TAG);
if (fragment != null) {
diff --git a/src/com/android/car/companiondevicesupport/feature/RemoteFeature.java b/src/com/android/car/companiondevicesupport/feature/RemoteFeature.java
index 6fa3256..d4551e5 100644
--- a/src/com/android/car/companiondevicesupport/feature/RemoteFeature.java
+++ b/src/com/android/car/companiondevicesupport/feature/RemoteFeature.java
@@ -18,6 +18,7 @@ package com.android.car.companiondevicesupport.feature;
import static com.android.car.connecteddevice.util.SafeLog.logd;
import static com.android.car.connecteddevice.util.SafeLog.loge;
+import static com.android.car.connecteddevice.util.SafeLog.logw;
import android.annotation.CallSuper;
import android.annotation.NonNull;
@@ -26,7 +27,9 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.os.Handler;
import android.os.IBinder;
+import android.os.Looper;
import android.os.ParcelUuid;
import android.os.RemoteException;
import android.os.UserHandle;
@@ -39,6 +42,7 @@ import com.android.car.companiondevicesupport.api.external.IDeviceAssociationCal
import com.android.car.companiondevicesupport.api.external.IDeviceCallback;
import com.android.car.companiondevicesupport.service.CompanionDeviceSupportService;
+import java.time.Duration;
import java.util.List;
/**
@@ -50,12 +54,23 @@ public abstract class RemoteFeature {
private static final String TAG = "RemoteFeature";
+ private static final String SERVICE_PACKAGE_NAME = "com.android.car.companiondevicesupport";
+
+ private static final String FULLY_QUALIFIED_SERVICE_NAME = SERVICE_PACKAGE_NAME
+ + ".service.CompanionDeviceSupportService";
+
+ private static final Duration BIND_RETRY_DURATION = Duration.ofSeconds(1);
+
+ private static final int MAX_BIND_ATTEMPTS = 3;
+
private final Context mContext;
private final ParcelUuid mFeatureId;
private IConnectedDeviceManager mConnectedDeviceManager;
+ private int mBindAttempts;
+
public RemoteFeature(@NonNull Context context, @NonNull ParcelUuid featureId) {
mContext = context;
mFeatureId = featureId;
@@ -64,10 +79,8 @@ public abstract class RemoteFeature {
/** Start setup process and begin binding to {@link CompanionDeviceSupportService}. */
@CallSuper
public void start() {
- Intent intent = new Intent(mContext, CompanionDeviceSupportService.class);
- intent.setAction(CompanionDeviceSupportService.ACTION_BIND_CONNECTED_DEVICE_MANAGER);
- mContext.bindServiceAsUser(intent, mServiceConnection, Context.BIND_AUTO_CREATE,
- UserHandle.SYSTEM);
+ mBindAttempts = 0;
+ bindToService();
}
/** Called when the hosting service is being destroyed. Cleans up internal feature logic. */
@@ -211,6 +224,25 @@ public abstract class RemoteFeature {
/** Called when an {@link AssociatedDevice} is updated for the given user. */
protected void onAssociatedDeviceUpdated(@NonNull AssociatedDevice device) { }
+ private void bindToService() {
+ Intent intent = new Intent();
+ intent.setComponent(new ComponentName(SERVICE_PACKAGE_NAME, FULLY_QUALIFIED_SERVICE_NAME));
+ intent.setAction(CompanionDeviceSupportService.ACTION_BIND_CONNECTED_DEVICE_MANAGER);
+ boolean success = mContext.bindServiceAsUser(intent, mServiceConnection,
+ Context.BIND_AUTO_CREATE, UserHandle.SYSTEM);
+ if (!success) {
+ mBindAttempts++;
+ if (mBindAttempts > MAX_BIND_ATTEMPTS) {
+ loge(TAG, "Failed to bind to CompanionDeviceSupportService after " + mBindAttempts
+ + " attempts. Aborting.");
+ return;
+ }
+ logw(TAG, "Unable to bind to CompanionDeviceSupportService. Trying again.");
+ new Handler(Looper.getMainLooper()).postDelayed(this::bindToService,
+ BIND_RETRY_DURATION.toMillis());
+ }
+ }
+
private final ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
diff --git a/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleaner.java b/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleaner.java
index 9bedfab..9b2885c 100644
--- a/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleaner.java
+++ b/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleaner.java
@@ -60,6 +60,12 @@ class CalendarCleaner {
CalendarContract.ACCOUNT_TYPE_LOCAL
},
null);
+ if (cursor == null) {
+ // This means the content provider crashed and the Activity Manager will kill this
+ // process shortly afterwards.
+ return;
+ }
+
ArrayList<ContentProviderOperation> deleteOps = new ArrayList<>();
while (cursor.moveToNext()) {
buildCalendarDeletionOps(cursor.getString(0), deleteOps);
@@ -89,6 +95,11 @@ class CalendarCleaner {
EVENTS_CALENDAR_ID_SELECTION,
calendarIdArgs,
null);
+ if (cursor == null) {
+ // This means the content provider crashed and the Activity Manager will kill this
+ // process shortly afterwards.
+ return;
+ }
while (cursor.moveToNext()) {
operations.add(
diff --git a/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporter.java b/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporter.java
index c05fc4d..5416a15 100644
--- a/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporter.java
+++ b/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporter.java
@@ -75,11 +75,8 @@ class CalendarImporter {
*/
void importCalendars(@NonNull Calendars calendars) {
for (Calendar calendar : calendars.getCalendarList()) {
- logd(
- TAG,
- String.format(
- "Import Calendar[title=%s, uuid=%s] with %d events",
- calendar.getTitle(), calendar.getUuid(), calendar.getEventCount()));
+ logd(TAG, String.format("Import Calendar[title=%s, uuid=%s] with %d events",
+ calendar.getTitle(), calendar.getUuid(), calendar.getEventCount()));
if (calendar.getEventCount() == 0) {
logd(TAG, "Ignore calendar- has no events");
continue;
@@ -102,21 +99,23 @@ class CalendarImporter {
/**
* Provides the calendar identifier used by the system.
- *
- * <p>This identifier is system-specific and is used to know to which calendar an events
- * belongs.
+ * <p>
+ * This identifier is system-specific and is used to know to which calendar an events belongs.
*
* @param uuid The UUID of the calendar to find.
* @return The identifier of the calendar or {@link #INVALID_CALENDAR_ID} if nothing was found.
*/
int findCalendar(@NonNull final String uuid) {
- Cursor cursor =
- mContentResolver.query(
- CalendarContract.Calendars.CONTENT_URI,
- new String[]{CalendarContract.Calendars._ID},
- CalendarContract.Calendars._SYNC_ID + " = ?",
- new String[]{uuid},
- null);
+ Cursor cursor = mContentResolver.query(
+ CalendarContract.Calendars.CONTENT_URI,
+ new String[]{
+ CalendarContract.Calendars._ID
+ },
+ CalendarContract.Calendars._SYNC_ID + " = ?",
+ new String[]{
+ uuid
+ },
+ null);
if (cursor.getCount() == 0) {
return INVALID_CALENDAR_ID;
@@ -150,8 +149,7 @@ class CalendarImporter {
Uri uri = insertContent(CalendarContract.Calendars.CONTENT_URI, values);
Matcher matcher = CALENDAR_ID_PATTERN.matcher(uri.toString());
- return matcher.matches()
- ? Integer.valueOf(matcher.group(CALENDAR_ID_GROUP))
+ return matcher.matches() ? Integer.valueOf(matcher.group(CALENDAR_ID_GROUP))
: findCalendar(calendar.getUuid());
}
@@ -167,11 +165,10 @@ class CalendarImporter {
SECONDS.toMillis(event.getStartDate().getSeconds()));
values.put(CalendarContract.Events.DTEND,
SECONDS.toMillis(event.getEndDate().getSeconds()));
- values.put(CalendarContract.Events.ALL_DAY, event.getIsAllDay() ? 1 : 0);
values.put(CalendarContract.Events.EVENT_LOCATION, event.getLocation());
values.put(CalendarContract.Events.ORGANIZER, event.getOrganizer());
+ values.put(CalendarContract.Events.ALL_DAY, event.getIsAllDay() ? 1 : 0);
- // TODO(b/150335852) Store CreationDate and LastModifiedDate
if (event.hasColor()) {
values.put(CalendarContract.Events.EVENT_COLOR, event.getColor().getArgb());
}
@@ -210,16 +207,14 @@ class CalendarImporter {
values.put(CalendarContract.Attendees.ATTENDEE_EMAIL, attendee.getEmail());
values.put(CalendarContract.Attendees.ATTENDEE_TYPE,
convertAttendeeType(attendee.getType()));
- values.put(
- CalendarContract.Attendees.ATTENDEE_STATUS,
+ values.put(CalendarContract.Attendees.ATTENDEE_STATUS,
convertAttendeeStatus(attendee.getStatus()));
values.put(CalendarContract.Attendees.EVENT_ID, eventId);
- operations.add(
- ContentProviderOperation.newInsert(
- appendQueryParameters(CalendarContract.Attendees.CONTENT_URI))
- .withValues(values)
- .build());
+ operations.add(ContentProviderOperation.newInsert(
+ appendQueryParameters(CalendarContract.Attendees.CONTENT_URI))
+ .withValues(values)
+ .build());
}
try {
@@ -236,8 +231,8 @@ class CalendarImporter {
private Uri appendQueryParameters(@NonNull Uri contentUri) {
Uri.Builder builder = contentUri.buildUpon();
builder.appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, DEFAULT_ACCOUNT_NAME);
- builder.appendQueryParameter(
- CalendarContract.Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL);
+ builder.appendQueryParameter(CalendarContract.Calendars.ACCOUNT_TYPE,
+ CalendarContract.ACCOUNT_TYPE_LOCAL);
builder.appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true");
return builder.build();
}
diff --git a/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegate.java b/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegate.java
index 6e82fb4..9c00b93 100644
--- a/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegate.java
+++ b/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegate.java
@@ -22,25 +22,30 @@ import static com.android.car.connecteddevice.util.SafeLog.logw;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
+import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.AudioAttributes;
import android.provider.Settings;
+import androidx.annotation.Nullable;
+
import com.android.car.companiondevicesupport.api.external.CompanionDevice;
import com.android.car.messenger.NotificationMsgProto.NotificationMsg.Action;
-import com.android.car.messenger.NotificationMsgProto.NotificationMsg.MapEntry;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.AvatarIconSync;
import com.android.car.messenger.NotificationMsgProto.NotificationMsg.CarToPhoneMessage;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.ClearAppDataRequest;
import com.android.car.messenger.NotificationMsgProto.NotificationMsg.ConversationNotification;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.MapEntry;
import com.android.car.messenger.NotificationMsgProto.NotificationMsg.MessagingStyleMessage;
import com.android.car.messenger.NotificationMsgProto.NotificationMsg.PhoneToCarMessage;
import com.android.car.messenger.common.BaseNotificationDelegate;
import com.android.car.messenger.common.ConversationKey;
import com.android.car.messenger.common.ConversationNotificationInfo;
import com.android.car.messenger.common.Message;
-import com.android.car.messenger.common.MessageKey;
import com.android.car.messenger.common.ProjectionStateListener;
import com.android.car.messenger.common.SenderKey;
import com.android.car.messenger.common.Utils;
+import com.android.internal.annotations.VisibleForTesting;
import java.util.HashMap;
import java.util.List;
@@ -53,28 +58,36 @@ import java.util.Map;
public class NotificationMsgDelegate extends BaseNotificationDelegate {
private static final String TAG = "NotificationMsgDelegate";
- /** The different {@link PhoneToCarMessage} Message Types. **/
- private static final String NEW_CONVERSATION_MESSAGE_TYPE = "NEW_CONVERSATION";
- private static final String NEW_MESSAGE_MESSAGE_TYPE = "NEW_MESSAGE";
- private static final String ACTION_STATUS_UPDATE_MESSAGE_TYPE = "ACTION_STATUS_UPDATE";
- private static final String OTHER_MESSAGE_TYPE = "OTHER";
/** Key for the Reply string in a {@link MapEntry}. **/
- private static final String REPLY_KEY = "REPLY";
+ protected static final String REPLY_KEY = "REPLY";
+ /**
+ * Value for {@link ClearAppDataRequest#getMessagingAppPackageName()}, representing
+ * when all messaging applications' data should be removed.
+ */
+ protected static final String REMOVE_ALL_APP_DATA = "ALL";
private static final AudioAttributes AUDIO_ATTRIBUTES = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_NOTIFICATION)
.build();
private Map<String, NotificationChannelWrapper> mAppNameToChannel = new HashMap<>();
+
+ /**
+ * The Bluetooth Device address of the connected device. NOTE: this is NOT the same as
+ * {@link CompanionDevice#getDeviceId()}.
+ */
private String mConnectedDeviceBluetoothAddress;
+ /**
+ * Maps a Bitmap of a sender's Large Icon to the sender's unique key for 1-1 conversations.
+ **/
+ protected final Map<SenderKey, Bitmap> mOneOnOneConversationAvatarMap = new HashMap<>();
/** Tracks whether a projection application is active in the foreground. **/
private ProjectionStateListener mProjectionStateListener;
- public NotificationMsgDelegate(Context context, String className) {
- super(context, className, /* useLetterTile */ false);
+ public NotificationMsgDelegate(Context context) {
+ super(context, /* useLetterTile */ false);
mProjectionStateListener = new ProjectionStateListener(context);
- mProjectionStateListener.start();
}
public void onMessageReceived(CompanionDevice device, PhoneToCarMessage message) {
@@ -83,19 +96,28 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
switch (message.getMessageDataCase()) {
case CONVERSATION:
initializeNewConversation(device, message.getConversation(), notificationKey);
+ return;
case MESSAGE:
initializeNewMessage(device.getDeviceId(), message.getMessage(), notificationKey);
+ return;
case STATUS_UPDATE:
// TODO (b/144924164): implement Action Request tracking logic.
+ return;
case AVATAR_ICON_SYNC:
- // TODO(b/148412881): implement avatar icon sync.
+ storeIcon(new ConversationKey(device.getDeviceId(), notificationKey),
+ message.getAvatarIconSync());
+ return;
case PHONE_METADATA:
mConnectedDeviceBluetoothAddress =
message.getPhoneMetadata().getBluetoothDeviceAddress();
+ return;
case CLEAR_APP_DATA_REQUEST:
- // TODO(b/150326327): implement removal behavior.
+ clearAppData(device.getDeviceId(),
+ message.getClearAppDataRequest().getMessagingAppPackageName());
+ return;
case FEATURE_ENABLED_STATE_CHANGE:
// TODO(b/150326327): implement enabled state change behavior.
+ return;
case MESSAGEDATA_NOT_SET:
default:
logw(TAG, "PhoneToCarMessage: message data not set!");
@@ -103,8 +125,7 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
}
protected CarToPhoneMessage dismiss(ConversationKey convoKey) {
- clearNotifications(key -> key.equals(convoKey));
- excludeFromNotification(convoKey);
+ super.dismissInternal(convoKey);
// TODO(b/144924164): add a request id to the action.
Action action = Action.newBuilder()
.setActionName(Action.ActionName.DISMISS)
@@ -129,18 +150,6 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
.build();
}
- /**
- * Excludes messages from a notification so that the messages are not shown to the user once
- * the notification gets updated with newer messages.
- */
- private void excludeFromNotification(ConversationKey convoKey) {
- ConversationNotificationInfo info = mNotificationInfos.get(convoKey);
- for (MessageKey key : info.mMessageKeys) {
- Message message = mMessages.get(key);
- message.excludeFromNotification();
- }
- }
-
protected CarToPhoneMessage reply(ConversationKey convoKey, String message) {
// TODO(b/144924164): add a request id to the action.
MapEntry entry = MapEntry.newBuilder()
@@ -162,7 +171,8 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
// Erase all the notifications and local data, so that no user data stays on the device
// after the feature is stopped.
cleanupMessagesAndNotifications(key -> true);
- mProjectionStateListener.stop();
+ mProjectionStateListener.destroy();
+ mOneOnOneConversationAvatarMap.clear();
mAppNameToChannel.clear();
mConnectedDeviceBluetoothAddress = null;
}
@@ -170,34 +180,45 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
protected void onDeviceDisconnected(String deviceId) {
mConnectedDeviceBluetoothAddress = null;
cleanupMessagesAndNotifications(key -> key.matches(deviceId));
+ mOneOnOneConversationAvatarMap.entrySet().removeIf(
+ conversationKey -> conversationKey.getKey().matches(deviceId));
}
private void initializeNewConversation(CompanionDevice device,
ConversationNotification notification, String notificationKey) {
String deviceAddress = device.getDeviceId();
ConversationKey convoKey = new ConversationKey(deviceAddress, notificationKey);
- if (mNotificationInfos.containsKey(convoKey)) {
- logw(TAG, "Conversation already exists! " + notificationKey);
- }
if (!Utils.isValidConversationNotification(notification, /* isShallowCheck= */ false)) {
logd(TAG, "Failed to initialize new Conversation, object missing required fields");
return;
}
- ConversationNotificationInfo convoInfo = ConversationNotificationInfo.
- createConversationNotificationInfo(device.getDeviceName(), device.getDeviceId(),
- notification, notificationKey);
- mNotificationInfos.put(convoKey, convoInfo);
+ ConversationNotificationInfo convoInfo;
+ if (mNotificationInfos.containsKey(convoKey)) {
+ logw(TAG, "Conversation already exists! " + notificationKey);
+ convoInfo = mNotificationInfos.get(convoKey);
+ } else {
+ convoInfo = ConversationNotificationInfo.
+ createConversationNotificationInfo(device.getDeviceName(), device.getDeviceId(),
+ notification, notificationKey);
+ mNotificationInfos.put(convoKey, convoInfo);
+ }
+
String appDisplayName = convoInfo.getAppDisplayName();
List<MessagingStyleMessage> messages =
notification.getMessagingStyle().getMessagingStyleMsgList();
+ MessagingStyleMessage latestMessage = messages.get(0);
for (MessagingStyleMessage messagingStyleMessage : messages) {
createNewMessage(deviceAddress, messagingStyleMessage, convoKey);
+ if (messagingStyleMessage.getTimestamp() > latestMessage.getTimestamp()) {
+ latestMessage = messagingStyleMessage;
+ }
}
- postNotification(convoKey, convoInfo, getChannelId(appDisplayName));
+ postNotification(convoKey, convoInfo, getChannelId(appDisplayName),
+ getAvatarIcon(convoKey, latestMessage));
}
private void initializeNewMessage(String deviceAddress,
@@ -216,7 +237,41 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
createNewMessage(deviceAddress, messagingStyleMessage, convoKey);
ConversationNotificationInfo convoInfo = mNotificationInfos.get(convoKey);
- postNotification(convoKey, convoInfo, getChannelId(convoInfo.getAppDisplayName()));
+ postNotification(convoKey, convoInfo, getChannelId(convoInfo.getAppDisplayName()),
+ getAvatarIcon(convoKey, messagingStyleMessage));
+ }
+
+ @Nullable
+ private Bitmap getAvatarIcon(ConversationKey convoKey, MessagingStyleMessage message) {
+ ConversationNotificationInfo notificationInfo = mNotificationInfos.get(convoKey);
+ if (!notificationInfo.isGroupConvo()) {
+ return mOneOnOneConversationAvatarMap.get(
+ SenderKey.createSenderKey(convoKey, message.getSender()));
+ } else if (message.getSender().getAvatar() != null
+ || !message.getSender().getAvatar().isEmpty()) {
+ byte[] iconArray = message.getSender().getAvatar().toByteArray();
+ return BitmapFactory.decodeByteArray(iconArray, 0, iconArray.length);
+ }
+ return null;
+ }
+
+ private void storeIcon(ConversationKey convoKey, AvatarIconSync iconSync) {
+ if (!Utils.isValidAvatarIconSync(iconSync) || !mNotificationInfos.containsKey(convoKey)) {
+ logw(TAG, "storeIcon: invalid AvatarIconSync obj or no conversation found.");
+ return;
+ }
+ if (mNotificationInfos.get(convoKey).isGroupConvo()) {
+ return;
+ }
+ byte[] iconArray = iconSync.getPerson().getAvatar().toByteArray();
+ Bitmap bitmap = BitmapFactory.decodeByteArray(iconArray, /* offset= */ 0, iconArray.length);
+ if (bitmap != null) {
+ mOneOnOneConversationAvatarMap.put(
+ SenderKey.createSenderKey(convoKey, iconSync.getPerson()),
+ bitmap);
+ } else {
+ logw(TAG, "storeIcon: Bitmap could not be created from byteArray");
+ }
}
private String getChannelId(String appDisplayName) {
@@ -224,24 +279,34 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
mAppNameToChannel.put(appDisplayName,
new NotificationChannelWrapper(appDisplayName));
}
- boolean isProjectionActive = mProjectionStateListener.isProjectionInActiveForeground(
- mConnectedDeviceBluetoothAddress);
- return mAppNameToChannel.get(appDisplayName).getChannelId(isProjectionActive);
+ return mAppNameToChannel.get(appDisplayName).getChannelId(
+ mProjectionStateListener.isProjectionInActiveForeground(
+ mConnectedDeviceBluetoothAddress));
}
private void createNewMessage(String deviceAddress, MessagingStyleMessage messagingStyleMessage,
ConversationKey convoKey) {
- String appDisplayName = mNotificationInfos.get(convoKey).getAppDisplayName();
+ String appPackageName = mNotificationInfos.get(convoKey).getAppPackageName();
Message message = Message.parseFromMessage(deviceAddress, messagingStyleMessage,
- appDisplayName);
+ SenderKey.createSenderKey(convoKey, messagingStyleMessage.getSender()));
addMessageToNotificationInfo(message, convoKey);
- SenderKey senderKey = message.getSenderKey();
- if (!mSenderLargeIcons.containsKey(senderKey)
- && messagingStyleMessage.getSender().getAvatar() != null) {
- byte[] iconArray = messagingStyleMessage.getSender().getAvatar().toByteArray();
- mSenderLargeIcons.put(senderKey,
- BitmapFactory.decodeByteArray(iconArray, 0, iconArray.length));
+ AvatarIconSync iconSync = AvatarIconSync.newBuilder()
+ .setPerson(messagingStyleMessage.getSender())
+ .setMessagingAppPackageName(appPackageName)
+ .build();
+ storeIcon(convoKey, iconSync);
+ }
+
+ private void clearAppData(String deviceId, String packageName) {
+ if (!packageName.equals(REMOVE_ALL_APP_DATA)) {
+ // Clearing data for specific package names is not supported since this use case
+ // is not needed right now.
+ logw(TAG, "clearAppData not supported for arg: " + packageName);
+ return;
}
+ cleanupMessagesAndNotifications(key -> key.matches(deviceId));
+ mOneOnOneConversationAvatarMap.entrySet().removeIf(
+ conversationKey -> conversationKey.getKey().matches(deviceId));
}
/** Creates notification channels per unique messaging application. **/
@@ -297,4 +362,14 @@ public class NotificationMsgDelegate extends BaseNotificationDelegate {
return ++NEXT_NOTIFICATION_CHANNEL_ID;
}
}
+
+ @VisibleForTesting
+ void setNotificationManager(NotificationManager manager) {
+ mNotificationManager = manager;
+ }
+
+ @VisibleForTesting
+ void setProjectionStateListener(ProjectionStateListener listener) {
+ mProjectionStateListener = listener;
+ }
}
diff --git a/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeature.java b/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeature.java
index 925aa0c..9e8d4a3 100644
--- a/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeature.java
+++ b/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeature.java
@@ -63,7 +63,7 @@ public class NotificationMsgFeature extends RemoteFeature {
public void stop() {
// Erase all the notifications and local data, so that no user data stays on the device
// after the feature is stopped.
- mNotificationMsgDelegate.cleanupMessagesAndNotifications(key -> true);
+ mNotificationMsgDelegate.onDestroy();
super.stop();
}
diff --git a/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgService.java b/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgService.java
index 8d7e694..c75d6af 100644
--- a/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgService.java
+++ b/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgService.java
@@ -75,7 +75,7 @@ public class NotificationMsgService extends Service {
super.onCreate();
mNotificationManager = getSystemService(NotificationManager.class);
- mNotificationMsgDelegate = new NotificationMsgDelegate(this, this.getClass().getName());
+ mNotificationMsgDelegate = new NotificationMsgDelegate(this);
mNotificationMsgFeature = new NotificationMsgFeature(this, mNotificationMsgDelegate);
mNotificationMsgFeature.start();
sendServiceRunningNotification();
@@ -85,7 +85,6 @@ public class NotificationMsgService extends Service {
public void onDestroy() {
super.onDestroy();
mNotificationMsgFeature.stop();
- mNotificationMsgDelegate.onDestroy();
}
@Override
diff --git a/src/com/android/car/companiondevicesupport/feature/trust/ui/TrustedDeviceActivity.java b/src/com/android/car/companiondevicesupport/feature/trust/ui/TrustedDeviceActivity.java
index fc9b227..e53e821 100644
--- a/src/com/android/car/companiondevicesupport/feature/trust/ui/TrustedDeviceActivity.java
+++ b/src/com/android/car/companiondevicesupport/feature/trust/ui/TrustedDeviceActivity.java
@@ -21,6 +21,8 @@ import static com.android.car.companiondevicesupport.activity.AssociationActivit
import static com.android.car.connecteddevice.util.SafeLog.logd;
import static com.android.car.connecteddevice.util.SafeLog.loge;
import static com.android.car.connecteddevice.util.SafeLog.logw;
+import static com.android.car.ui.core.CarUi.requireToolbar;
+import static com.android.car.ui.toolbar.Toolbar.State.SUBPAGE;
import android.annotation.Nullable;
import android.app.AlertDialog;
@@ -53,7 +55,7 @@ import com.android.car.companiondevicesupport.api.internal.trust.ITrustedDeviceM
import com.android.car.companiondevicesupport.api.internal.trust.TrustedDevice;
import com.android.car.companiondevicesupport.feature.trust.TrustedDeviceConstants;
import com.android.car.companiondevicesupport.feature.trust.TrustedDeviceManagerService;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.ToolbarController;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -104,7 +106,7 @@ public class TrustedDeviceActivity extends FragmentActivity {
private ITrustedDeviceManager mTrustedDeviceManager;
- private Toolbar mToolbar;
+ private ToolbarController mToolbar;
private TrustedDeviceViewModel mModel;
@@ -114,9 +116,10 @@ public class TrustedDeviceActivity extends FragmentActivity {
setContentView(R.layout.base_activity);
observeViewModel();
resumePreviousState(savedInstanceState);
- mToolbar = findViewById(R.id.toolbar);
+ mToolbar = requireToolbar(this);
+ mToolbar.setState(SUBPAGE);
mToolbar.setTitle(R.string.trusted_device_feature_title);
- mToolbar.showProgressBar();
+ mToolbar.getProgressBar().setVisible(true);
mIsScreenLockNewlyCreated.set(false);
mIsStartedForEnrollment.set(false);
mHasPendingCredential.set(false);
@@ -375,7 +378,7 @@ public class TrustedDeviceActivity extends FragmentActivity {
}
private void showTrustedDeviceDetailFragment(AssociatedDevice device) {
- mToolbar.hideProgressBar();
+ mToolbar.getProgressBar().setVisible(false);
TrustedDeviceDetailFragment fragment = TrustedDeviceDetailFragment.newInstance(device);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment, DEVICE_DETAIL_FRAGMENT_TAG)
diff --git a/tests/unit/AndroidManifest.xml b/tests/unit/AndroidManifest.xml
index b121cf9..7447fe0 100644
--- a/tests/unit/AndroidManifest.xml
+++ b/tests/unit/AndroidManifest.xml
@@ -26,16 +26,8 @@
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
<application android:testOnly="true"
- android:debuggable="true"
- xmlns:tools="http://schemas.android.com/tools">
+ android:debuggable="true">
<uses-library android:name="android.test.runner"/>
- <!-- Workaround for b/113294940 -->
- <provider
- android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
- tools:replace="android:authorities"
- android:authorities="${applicationId}.lifecycle"
- android:exported="false"
- android:multiprocess="true" />
</application>
<instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
diff --git a/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleanerTest.java b/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleanerTest.java
index 536f098..8f65b81 100644
--- a/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleanerTest.java
+++ b/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarCleanerTest.java
@@ -20,6 +20,7 @@ import static android.provider.CalendarContract.AUTHORITY;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
@@ -165,6 +166,28 @@ public class CalendarCleanerTest {
verifyNoMoreInteractions(mContentProvider);
}
+ @Test
+ public void eraseCalendar_failingQuery() {
+ when(mContentResolver.query(eq(Events.CONTENT_URI), any(), any(), any(),
+ eq(null))).thenReturn(null);
+ try {
+ mCalendarCleaner.eraseCalendar(CALENDAR_IDENTIFIER);
+ } catch (NullPointerException e) {
+ fail();
+ }
+ }
+
+ @Test
+ public void eraseCalendars_failingQuery() {
+ when(mContentResolver.query(eq(Events.CONTENT_URI), any(), any(), any(),
+ eq(null))).thenReturn(null);
+ try {
+ mCalendarCleaner.eraseCalendars();
+ } catch (NullPointerException e) {
+ fail();
+ }
+ }
+
// --- Helpers ---
private ArgumentMatcher<String[]> createStringArrayMatcher(String expectedArg) {
@@ -181,7 +204,7 @@ public class CalendarCleanerTest {
private void verifyDelete(Uri uri, String selection, String selectionArg) {
verify(mContentProvider).delete(
eq(uri),
- eq(String.format("%s = ?", selection)),
- argThat(createStringArrayMatcher(selectionArg)));
+ argThat(selectionBundleMatcher(
+ String.format("%s = ?", selection), new String[]{selectionArg})));
}
}
diff --git a/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporterTest.java b/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporterTest.java
index a2c2cad..97dfeb0 100644
--- a/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporterTest.java
+++ b/tests/unit/src/com/android/car/companiondevicesupport/feature/calendarsync/CalendarImporterTest.java
@@ -113,15 +113,16 @@ public class CalendarImporterTest {
when(mContentProvider.insert(
argThat(startsWithUriMatcher(CalendarContract.Attendees.CONTENT_URI)),
+ any(),
any()))
.thenReturn(CalendarContract.Attendees.CONTENT_URI);
- }
- @Test
- public void findCalendar() {
when(mCursor.getCount()).thenReturn(1);
when(mCursor.getString(eq(0))).thenReturn(CALENDAR_ID);
+ }
+ @Test
+ public void findCalendar() {
assertEquals(CALENDAR_ID,
String.valueOf(mCalendarImporter.findCalendar(CALENDAR_UNIQUE_ID)));
@@ -141,9 +142,6 @@ public class CalendarImporterTest {
@Test
public void importCalendarsWithExistingCalendar() throws Exception {
- when(mCursor.getCount()).thenReturn(1);
- when(mCursor.getString(eq(0))).thenReturn(CALENDAR_ID);
-
ArgumentCaptor<ArrayList<ContentProviderOperation>> batchOpsCaptor =
ArgumentCaptor.forClass(ArrayList.class);
@@ -176,6 +174,27 @@ public class CalendarImporterTest {
}
@Test
+ public void importCalendarAndVerifyAllDayEvent() throws Exception {
+ Event.Builder allDayEventBuilder = newEvent("UID_1", "Event A", "", "here", 1, 2,
+ "Europe/Berlin", null);
+ allDayEventBuilder.setIsAllDay(true);
+
+ mCalendarsProto = Calendars.newBuilder()
+ .addCalendar(Calendar.newBuilder()
+ .setUuid(CALENDAR_UNIQUE_ID)
+ .setTitle("calendar one")
+ .addEvent(allDayEventBuilder))
+ .build();
+
+ mCalendarImporter.importCalendars(mCalendarsProto);
+
+ // Verify event insertion.
+ verify(mContentResolver).insert(
+ argThat(startsWithUriMatcher(CalendarContract.Events.CONTENT_URI)),
+ argThat(argument -> argument.getAsInteger(Events.ALL_DAY) == 1));
+ }
+
+ @Test
public void convertAttendeeStatus() {
assertEquals(Attendees.ATTENDEE_STATUS_NONE,
CalendarImporter.convertAttendeeStatus(Attendee.Status.NONE_STATUS));
@@ -230,7 +249,8 @@ public class CalendarImporterTest {
argument.getAsLong(Events.DTEND).equals(
SECONDS.toMillis(event.getEndDate().getSeconds())) &&
argument.getAsString(Events.EVENT_LOCATION).equals(event.getLocation()) &&
- argument.getAsString(Events.ORGANIZER).equals(event.getOrganizer());
+ argument.getAsString(Events.ORGANIZER).equals(event.getOrganizer()) &&
+ argument.getAsInteger(Events.ALL_DAY) == (event.getIsAllDay() ? 1 : 0);
};
}
@@ -277,6 +297,7 @@ public class CalendarImporterTest {
private void verifyAttendeeInsert(Attendee attendee) {
verify(mContentProvider).insert(
argThat(startsWithUriMatcher(CalendarContract.Attendees.CONTENT_URI)),
- argThat(attendeeMatcher(attendee)));
+ argThat(attendeeMatcher(attendee)),
+ any());
}
}
diff --git a/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegateTest.java b/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegateTest.java
new file mode 100644
index 0000000..e41df2c
--- /dev/null
+++ b/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgDelegateTest.java
@@ -0,0 +1,785 @@
+/*
+ * Copyright (C) 2020 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.car.companiondevicesupport.feature.notificationmsg;
+
+
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+
+import static androidx.core.app.NotificationCompat.CATEGORY_MESSAGE;
+
+import static com.android.car.messenger.NotificationMsgProto.NotificationMsg.Action.ActionName.DISMISS;
+import static com.android.car.messenger.NotificationMsgProto.NotificationMsg.Action.ActionName.MARK_AS_READ;
+import static com.android.car.messenger.NotificationMsgProto.NotificationMsg.Action.ActionName.REPLY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.Icon;
+
+import androidx.core.app.NotificationCompat;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.car.companiondevicesupport.api.external.CompanionDevice;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.Action;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.AvatarIconSync;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.CarToPhoneMessage;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.ClearAppDataRequest;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.ConversationNotification;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.MessagingStyle;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.MessagingStyleMessage;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.Person;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.PhoneMetadata;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg.PhoneToCarMessage;
+import com.android.car.messenger.common.ConversationKey;
+import com.android.car.messenger.common.ProjectionStateListener;
+import com.android.car.messenger.common.SenderKey;
+import com.android.car.protobuf.ByteString;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+@RunWith(AndroidJUnit4.class)
+public class NotificationMsgDelegateTest {
+ private static final String NOTIFICATION_KEY_1 = "notification_key_1";
+ private static final String NOTIFICATION_KEY_2 = "notification_key_2";
+
+ private static final String COMPANION_DEVICE_ID = "sampleId";
+ private static final String COMPANION_DEVICE_NAME = "sampleName";
+ private static final String DEVICE_ADDRESS = UUID.randomUUID().toString();
+ private static final String BT_DEVICE_ADDRESS = UUID.randomUUID().toString();
+
+ private static final String MESSAGING_APP_NAME = "Messaging App";
+ private static final String MESSAGING_PACKAGE_NAME = "com.android.messaging.app";
+ private static final String CONVERSATION_TITLE = "Conversation";
+ private static final String USER_DISPLAY_NAME = "User";
+ private static final String SENDER_1 = "Sender";
+ private static final String MESSAGE_TEXT_1 = "Message 1";
+ private static final String MESSAGE_TEXT_2 = "Message 2";
+
+ /** ConversationKey for {@link NotificationMsgDelegateTest#VALID_CONVERSATION_MSG}. **/
+ private static final ConversationKey CONVERSATION_KEY_1
+ = new ConversationKey(COMPANION_DEVICE_ID, NOTIFICATION_KEY_1);
+
+ private static final MessagingStyleMessage MESSAGE_2 = MessagingStyleMessage.newBuilder()
+ .setTextMessage(MESSAGE_TEXT_2)
+ .setSender(Person.newBuilder()
+ .setName(SENDER_1))
+ .setTimestamp((long) 1577909718950f)
+ .build();
+
+ private static final MessagingStyle VALID_STYLE = MessagingStyle.newBuilder()
+ .setConvoTitle(CONVERSATION_TITLE)
+ .setUserDisplayName(USER_DISPLAY_NAME)
+ .setIsGroupConvo(false)
+ .addMessagingStyleMsg(MessagingStyleMessage.newBuilder()
+ .setTextMessage(MESSAGE_TEXT_1)
+ .setSender(Person.newBuilder()
+ .setName(SENDER_1))
+ .setTimestamp((long) 1577909718050f)
+ .build())
+ .build();
+
+ private static final ConversationNotification VALID_CONVERSATION =
+ ConversationNotification.newBuilder()
+ .setMessagingAppDisplayName(MESSAGING_APP_NAME)
+ .setMessagingAppPackageName(MESSAGING_PACKAGE_NAME)
+ .setTimeMs((long) 1577909716000f)
+ .setMessagingStyle(VALID_STYLE)
+ .build();
+
+ private static final PhoneToCarMessage VALID_CONVERSATION_MSG = PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .setConversation(VALID_CONVERSATION)
+ .build();
+
+ private Bitmap mIconBitmap;
+ private byte[] mIconByteArray;
+
+ @Mock
+ CompanionDevice mCompanionDevice;
+ @Mock
+ NotificationManager mMockNotificationManager;
+ @Mock
+ ProjectionStateListener mMockProjectionStateListener;
+
+ @Captor
+ ArgumentCaptor<Notification> mNotificationCaptor;
+ @Captor
+ ArgumentCaptor<Integer> mNotificationIdCaptor;
+
+ Context mContext = ApplicationProvider.getApplicationContext();
+ NotificationMsgDelegate mNotificationMsgDelegate;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ when(mCompanionDevice.getDeviceId()).thenReturn(COMPANION_DEVICE_ID);
+ when(mCompanionDevice.getDeviceName()).thenReturn(COMPANION_DEVICE_NAME);
+
+ mNotificationMsgDelegate = new NotificationMsgDelegate(mContext);
+ mNotificationMsgDelegate.setNotificationManager(mMockNotificationManager);
+ mNotificationMsgDelegate.setProjectionStateListener(mMockProjectionStateListener);
+
+ mIconBitmap = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);
+
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ mIconBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
+ mIconByteArray = stream.toByteArray();
+ stream.reset();
+
+ }
+
+ @After
+ public void tearDown() {
+ mIconBitmap.recycle();
+ }
+
+ @Test
+ public void newConversationShouldPostNewNotification() {
+ // Test that a new conversation notification is posted with the correct fields.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+
+ Notification postedNotification = mNotificationCaptor.getValue();
+ verifyNotification(VALID_CONVERSATION, postedNotification);
+ }
+
+ @Test
+ public void multipleNewConversationShouldPostMultipleNewNotifications() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockNotificationManager).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+ int firstNotificationId = mNotificationIdCaptor.getValue();
+
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice,
+ createSecondConversation());
+ verify(mMockNotificationManager, times(2)).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+
+ // Verify the notification id is different than the first.
+ assertThat((long) mNotificationIdCaptor.getValue()).isNotEqualTo(firstNotificationId);
+ }
+
+ @Test
+ public void invalidConversationShouldDoNothing() {
+ // Test that a conversation without all the required fields is dropped.
+ PhoneToCarMessage newConvo = PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .setConversation(VALID_CONVERSATION.toBuilder().clearMessagingStyle())
+ .build();
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, newConvo);
+
+ verify(mMockNotificationManager, never()).notify(anyInt(), any(Notification.class));
+ }
+
+ @Test
+ public void newMessageShouldUpdateConversationNotification() {
+ // Check whether a new message updates the notification of the conversation it belongs to.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+ int notificationId = mNotificationIdCaptor.getValue();
+ int messageCount = VALID_CONVERSATION_MSG.getConversation().getMessagingStyle()
+ .getMessagingStyleMsgCount();
+
+ // Post a new message in this conversation.
+ updateConversationWithMessage2();
+
+ // Verify same notification id is posted twice.
+ verify(mMockNotificationManager, times(2)).notify(eq(notificationId),
+ mNotificationCaptor.capture());
+
+ // Verify the notification contains one more message.
+ NotificationCompat.MessagingStyle messagingStyle = getMessagingStyle(
+ mNotificationCaptor.getValue());
+ assertThat(messagingStyle.getMessages().size()).isEqualTo(messageCount + 1);
+
+ // Verify notification's latest message matches the new message.
+ verifyMessage(MESSAGE_2, messagingStyle.getMessages().get(messageCount));
+ }
+
+ @Test
+ public void existingConversationShouldUpdateNotification() {
+ // Test that a conversation that already exists, but gets a new conversation message
+ // is updated with the new conversation metadata.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+ int notificationId = mNotificationIdCaptor.getValue();
+
+ ConversationNotification updatedConversation = addSecondMessageToConversation().toBuilder()
+ .setMessagingAppDisplayName("New Messaging App")
+ .build();
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .setConversation(updatedConversation)
+ .build());
+
+ verify(mMockNotificationManager, times(2)).notify(eq(notificationId),
+ mNotificationCaptor.capture());
+ Notification postedNotification = mNotificationCaptor.getValue();
+
+ // Verify Conversation level metadata does NOT change
+ verifyConversationLevelMetadata(VALID_CONVERSATION, postedNotification);
+ // Verify the MessagingStyle metadata does update with the new message.
+ verifyMessagingStyle(updatedConversation.getMessagingStyle(), postedNotification);
+ }
+
+ @Test
+ public void messageForUnknownConversationShouldDoNothing() {
+ // A message for an unknown conversation should be dropped.
+ updateConversationWithMessage2();
+
+ verify(mMockNotificationManager, never()).notify(anyInt(), any(Notification.class));
+ }
+
+ @Test
+ public void invalidMessageShouldDoNothing() {
+ // Message without all the required fields is dropped.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ // Create a MessagingStyleMessage without a required field (Sender information).
+ MessagingStyleMessage invalidMsgStyleMessage = MessagingStyleMessage.newBuilder()
+ .setTextMessage("Message 2")
+ .setTimestamp((long) 1577909718950f)
+ .build();
+ PhoneToCarMessage invalidMessage = PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .setMessage(invalidMsgStyleMessage)
+ .build();
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, invalidMessage);
+
+ // Verify only one notification is posted, and never updated.
+ verify(mMockNotificationManager).notify(anyInt(), any(Notification.class));
+ }
+
+ @Test
+ public void invalidAvatarIconSyncShouldDoNothing() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ // Create AvatarIconSync message without required field (Icon), ensure it's treated as an
+ // invalid message.
+ PhoneToCarMessage invalidMessage = PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .setAvatarIconSync(AvatarIconSync.newBuilder()
+ .setPerson(Person.newBuilder()
+ .setName(SENDER_1))
+ .build())
+ .build();
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, invalidMessage);
+ assertThat(mNotificationMsgDelegate.mOneOnOneConversationAvatarMap.isEmpty()).isTrue();
+ }
+
+ @Test
+ public void avatarIconSyncForGroupConversationShouldDoNothing() {
+ // We only sync avatars for 1-1 conversations.
+ sendGroupConversationMessage();
+
+ sendValidAvatarIconSyncMessage();
+
+ assertThat(mNotificationMsgDelegate.mOneOnOneConversationAvatarMap.isEmpty()).isTrue();
+ }
+
+ @Test
+ public void avatarIconSyncForUnknownConversationShouldDoNothing() {
+ // Drop avatar if it's for a conversation that is unknown.
+ sendValidAvatarIconSyncMessage();
+
+ assertThat(mNotificationMsgDelegate.mOneOnOneConversationAvatarMap.isEmpty()).isTrue();
+ }
+
+ @Test
+ public void avatarIconSyncSetsAvatarInNotification() {
+ // Check that a conversation that didn't have an avatar, but gets this message posts
+ // a notification with the avatar.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+ Icon notSetIcon = mNotificationCaptor.getValue().getLargeIcon();
+
+ sendValidAvatarIconSyncMessage();
+
+ // Post an update so we update the notification and can see the new icon.
+ updateConversationWithMessage2();
+
+ verify(mMockNotificationManager, times(2)).notify(anyInt(), mNotificationCaptor.capture());
+ Icon newIcon = mNotificationCaptor.getValue().getLargeIcon();
+ assertThat(newIcon).isNotEqualTo(notSetIcon);
+ }
+
+
+ @Test
+ public void avatarIconSyncStoresBitmapCorrectly() {
+ // Post a conversation notification first, so we don't drop the avatar message.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ sendValidAvatarIconSyncMessage();
+
+ AvatarIconSync iconSync = createValidAvatarIconSync();
+ SenderKey senderKey = SenderKey.createSenderKey(CONVERSATION_KEY_1, iconSync.getPerson());
+ byte[] iconArray = iconSync.getPerson().getAvatar().toByteArray();
+ Bitmap bitmap = BitmapFactory.decodeByteArray(iconArray, /* offset= */ 0, iconArray.length);
+
+ assertThat(mNotificationMsgDelegate.mOneOnOneConversationAvatarMap).hasSize(1);
+ Bitmap actualBitmap = mNotificationMsgDelegate.mOneOnOneConversationAvatarMap.get(
+ senderKey);
+ assertThat(actualBitmap).isNotNull();
+ assertThat(actualBitmap.sameAs(bitmap)).isTrue();
+ }
+
+ @Test
+ public void phoneMetadataUsedToCheckProjectionStatus_projectionActive() {
+ // Assert projectionListener gets called with phone metadata address.
+ when(mMockProjectionStateListener.isProjectionInActiveForeground(
+ BT_DEVICE_ADDRESS)).thenReturn(true);
+ sendValidPhoneMetadataMessage();
+
+ // Send a new conversation to trigger Projection State check.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockProjectionStateListener).isProjectionInActiveForeground(BT_DEVICE_ADDRESS);
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+ checkChannelImportanceLevel(
+ mNotificationCaptor.getValue().getChannelId(), /* isLowImportance= */ true);
+ }
+
+ @Test
+ public void phoneMetadataUsedCorrectlyToCheckProjectionStatus_projectionInactive() {
+ // Assert projectionListener gets called with phone metadata address.
+ when(mMockProjectionStateListener.isProjectionInActiveForeground(
+ BT_DEVICE_ADDRESS)).thenReturn(false);
+ sendValidPhoneMetadataMessage();
+
+ // Send a new conversation to trigger Projection State check.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockProjectionStateListener).isProjectionInActiveForeground(BT_DEVICE_ADDRESS);
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+ checkChannelImportanceLevel(
+ mNotificationCaptor.getValue().getChannelId(), /* isLowImportance= */ false);
+ }
+
+ @Test
+ public void delegateChecksProjectionStatus_projectionActive() {
+ // Assert projectionListener gets called with phone metadata address.
+ when(mMockProjectionStateListener.isProjectionInActiveForeground(null)).thenReturn(true);
+
+ // Send a new conversation to trigger Projection State check.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockProjectionStateListener).isProjectionInActiveForeground(null);
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+ checkChannelImportanceLevel(
+ mNotificationCaptor.getValue().getChannelId(), /* isLowImportance= */ true);
+ }
+
+ @Test
+ public void delegateChecksProjectionStatus_projectionInactive() {
+ // Assert projectionListener gets called with phone metadata address.
+ when(mMockProjectionStateListener.isProjectionInActiveForeground(null)).thenReturn(false);
+
+ // Send a new conversation to trigger Projection State check.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockProjectionStateListener).isProjectionInActiveForeground(null);
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+ checkChannelImportanceLevel(
+ mNotificationCaptor.getValue().getChannelId(), /* isLowImportance= */ false);
+ }
+
+ @Test
+ public void clearAllAppDataShouldClearInternalDataAndNotifications() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+ int notificationId = mNotificationIdCaptor.getValue();
+
+ sendClearAppDataRequest(NotificationMsgDelegate.REMOVE_ALL_APP_DATA);
+
+ verify(mMockNotificationManager).cancel(eq(notificationId));
+ }
+
+ @Test
+ public void clearSpecificAppDataShouldDoNothing() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(anyInt(), any(Notification.class));
+
+ sendClearAppDataRequest(MESSAGING_PACKAGE_NAME);
+
+ verify(mMockNotificationManager, never()).cancel(anyInt());
+ }
+
+ @Test
+ public void conversationsFromSameApplicationPostedOnSameChannel() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+ String firstChannelId = mNotificationCaptor.getValue().getChannelId();
+
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice,
+ VALID_CONVERSATION_MSG.toBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_2)
+ .setConversation(VALID_CONVERSATION.toBuilder()
+ .setMessagingStyle(
+ VALID_STYLE.toBuilder().addMessagingStyleMsg(MESSAGE_2))
+ .build())
+ .build());
+ verify(mMockNotificationManager, times(2)).notify(anyInt(), mNotificationCaptor.capture());
+
+ assertThat(mNotificationCaptor.getValue().getChannelId()).isEqualTo(firstChannelId);
+ }
+
+ @Test
+ public void messageDataNotSetShouldDoNothing() {
+ // For a PhoneToCarMessage w/ no MessageData
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .build());
+
+ verifyZeroInteractions(mMockNotificationManager);
+ }
+
+ @Test
+ public void dismissShouldCreateCarToPhoneMessage() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ CarToPhoneMessage dismissMessage = mNotificationMsgDelegate.dismiss(CONVERSATION_KEY_1);
+
+ verifyCarToPhoneActionMessage(dismissMessage, NOTIFICATION_KEY_1, DISMISS);
+ }
+
+ @Test
+ public void dismissShouldDismissNotification() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+ int notificationId = mNotificationIdCaptor.getValue();
+
+ mNotificationMsgDelegate.dismiss(CONVERSATION_KEY_1);
+
+ verify(mMockNotificationManager).cancel(eq(notificationId));
+ }
+
+ @Test
+ public void markAsReadShouldCreateCarToPhoneMessage() {
+ // Mark message as read, verify message sent to phone.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ CarToPhoneMessage markAsRead = mNotificationMsgDelegate.markAsRead(CONVERSATION_KEY_1);
+
+ verifyCarToPhoneActionMessage(markAsRead, NOTIFICATION_KEY_1, MARK_AS_READ);
+ }
+
+ @Test
+ public void markAsReadShouldExcludeMessageFromNotification() {
+ // Mark message as read, verify when new message comes in, read
+ // messages are not in notification.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(anyInt(), any(Notification.class));
+
+ mNotificationMsgDelegate.markAsRead(CONVERSATION_KEY_1);
+ // Post an update to this conversation to ensure the now read message is not in
+ // notification.
+ updateConversationWithMessage2();
+ verify(mMockNotificationManager, times(2)).notify(anyInt(),
+ mNotificationCaptor.capture());
+
+ // Verify the notification contains only the latest message.
+ NotificationCompat.MessagingStyle messagingStyle =
+ NotificationCompat.MessagingStyle.extractMessagingStyleFromNotification(
+ mNotificationCaptor.getValue());
+ assertThat(messagingStyle.getMessages().size()).isEqualTo(1);
+ verifyMessage(MESSAGE_2, messagingStyle.getMessages().get(0));
+
+ }
+
+ @Test
+ public void replyShouldCreateCarToPhoneMessage() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ CarToPhoneMessage reply = mNotificationMsgDelegate.reply(CONVERSATION_KEY_1,
+ MESSAGE_TEXT_2);
+ Action replyAction = reply.getActionRequest();
+ NotificationMsg.MapEntry replyEntry = replyAction.getMapEntry(0);
+
+ verifyCarToPhoneActionMessage(reply, NOTIFICATION_KEY_1, REPLY);
+ assertThat(replyAction.getMapEntryCount()).isEqualTo(1);
+ assertThat(replyEntry.getKey()).isEqualTo(NotificationMsgDelegate.REPLY_KEY);
+ assertThat(replyEntry.getValue()).isEqualTo(MESSAGE_TEXT_2);
+ }
+
+ @Test
+ public void onDestroyShouldClearInternalDataAndNotifications() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+ int notificationId = mNotificationIdCaptor.getValue();
+ sendValidAvatarIconSyncMessage();
+
+ mNotificationMsgDelegate.onDestroy();
+
+ assertThat(mNotificationMsgDelegate.mOneOnOneConversationAvatarMap.isEmpty()).isTrue();
+ verify(mMockNotificationManager).cancel(eq(notificationId));
+ }
+
+ @Test
+ public void deviceDisconnectedShouldClearDeviceNotificationsAndMetadata() {
+ // Test that after a device disconnects, all the avatars, notifications for the device
+ // is removed.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+ verify(mMockNotificationManager).notify(mNotificationIdCaptor.capture(),
+ any(Notification.class));
+ int notificationId = mNotificationIdCaptor.getValue();
+ sendValidAvatarIconSyncMessage();
+
+ mNotificationMsgDelegate.onDeviceDisconnected(COMPANION_DEVICE_ID);
+
+ assertThat(mNotificationMsgDelegate.mOneOnOneConversationAvatarMap.isEmpty()).isTrue();
+ verify(mMockNotificationManager).cancel(eq(notificationId));
+ }
+
+ @Test
+ public void deviceDisconnectedShouldResetProjectionDeviceAddress() {
+ // Test that after a device disconnects, then reconnects, the projection device address
+ // is reset.
+ when(mMockProjectionStateListener.isProjectionInActiveForeground(
+ BT_DEVICE_ADDRESS)).thenReturn(true);
+ sendValidPhoneMetadataMessage();
+
+ mNotificationMsgDelegate.onDeviceDisconnected(COMPANION_DEVICE_ID);
+
+ // Now post a new notification for this device and ensure it is not posted silently.
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, VALID_CONVERSATION_MSG);
+
+ verify(mMockProjectionStateListener).isProjectionInActiveForeground(null);
+ verify(mMockNotificationManager).notify(anyInt(), mNotificationCaptor.capture());
+ checkChannelImportanceLevel(
+ mNotificationCaptor.getValue().getChannelId(), /* isLowImportance= */ false);
+ }
+
+ private void verifyNotification(ConversationNotification expected, Notification notification) {
+ verifyConversationLevelMetadata(expected, notification);
+ verifyMessagingStyle(expected.getMessagingStyle(), notification);
+ }
+
+ /**
+ * Verifies the conversation level metadata and other aspects of a notification that do not
+ * change when a new message is added to it (such as the actions, intents).
+ */
+ private void verifyConversationLevelMetadata(ConversationNotification expected,
+ Notification notification) {
+ assertThat(notification.category).isEqualTo(CATEGORY_MESSAGE);
+
+ assertThat(notification.getSmallIcon()).isNotNull();
+ if (!expected.getAppIcon().isEmpty()) {
+ byte[] iconBytes = expected.getAppIcon().toByteArray();
+ Icon appIcon = Icon.createWithData(iconBytes, 0, iconBytes.length);
+ assertThat(notification.getSmallIcon()).isEqualTo(appIcon);
+ }
+
+ assertThat(notification.deleteIntent).isNotNull();
+
+ if (expected.getMessagingAppPackageName() != null) {
+ CharSequence appName = notification.extras.getCharSequence(
+ Notification.EXTRA_SUBSTITUTE_APP_NAME);
+ assertThat(appName).isEqualTo(expected.getMessagingAppDisplayName());
+ }
+
+ assertThat(notification.actions.length).isEqualTo(2);
+ for (NotificationCompat.Action action : getAllActions(notification)) {
+ if (action.getSemanticAction() == NotificationCompat.Action.SEMANTIC_ACTION_REPLY) {
+ assertThat(action.getRemoteInputs().length).isEqualTo(1);
+ }
+ assertThat(action.getShowsUserInterface()).isFalse();
+ }
+ }
+
+ private void verifyMessagingStyle(MessagingStyle expected, Notification notification) {
+ final NotificationCompat.MessagingStyle messagingStyle = getMessagingStyle(notification);
+
+ assertThat(messagingStyle.getUser().getName()).isEqualTo(expected.getUserDisplayName());
+ assertThat(messagingStyle.isGroupConversation()).isEqualTo(expected.getIsGroupConvo());
+ assertThat(messagingStyle.getMessages().size()).isEqualTo(expected.getMessagingStyleMsgCount());
+
+ for (int i = 0; i < expected.getMessagingStyleMsgCount(); i++) {
+ MessagingStyleMessage expectedMsg = expected.getMessagingStyleMsg(i);
+ NotificationCompat.MessagingStyle.Message actualMsg = messagingStyle.getMessages().get(
+ i);
+ verifyMessage(expectedMsg, actualMsg);
+
+ }
+ }
+
+ private void verifyMessage(MessagingStyleMessage expectedMsg,
+ NotificationCompat.MessagingStyle.Message actualMsg) {
+ assertThat(actualMsg.getTimestamp()).isEqualTo(expectedMsg.getTimestamp());
+ assertThat(actualMsg.getText()).isEqualTo(expectedMsg.getTextMessage());
+
+ Person expectedSender = expectedMsg.getSender();
+ androidx.core.app.Person actualSender = actualMsg.getPerson();
+ assertThat(actualSender.getName()).isEqualTo(expectedSender.getName());
+ if (!expectedSender.getAvatar().isEmpty()) {
+ assertThat(actualSender.getIcon()).isNotNull();
+ } else {
+ assertThat(actualSender.getIcon()).isNull();
+ }
+ }
+
+ private void verifyCarToPhoneActionMessage(CarToPhoneMessage message, String notificationKey,
+ Action.ActionName actionName) {
+ assertThat(message.getNotificationKey()).isEqualTo(notificationKey);
+ assertThat(message.getActionRequest()).isNotNull();
+ assertThat(message.getActionRequest().getNotificationKey()).isEqualTo(notificationKey);
+ assertThat(message.getActionRequest().getActionName()).isEqualTo(actionName);
+ }
+
+ private void checkChannelImportanceLevel(String channelId, boolean isLowImportance) {
+ ArgumentCaptor<NotificationChannel> channelCaptor = ArgumentCaptor.forClass(
+ NotificationChannel.class);
+ verify(mMockNotificationManager, atLeastOnce()).createNotificationChannel(
+ channelCaptor.capture());
+
+ int desiredImportance = isLowImportance ? IMPORTANCE_LOW : IMPORTANCE_HIGH;
+ List<String> desiredImportanceChannelIds = new ArrayList<>();
+ // Each messaging app has 2 channels, one high and one low importance.
+ for (NotificationChannel notificationChannel : channelCaptor.getAllValues()) {
+ if (notificationChannel.getImportance() == desiredImportance) {
+ desiredImportanceChannelIds.add(notificationChannel.getId());
+ }
+ }
+ assertThat(desiredImportanceChannelIds.contains(channelId)).isTrue();
+ }
+
+ private NotificationCompat.MessagingStyle getMessagingStyle(Notification notification) {
+ return NotificationCompat.MessagingStyle.extractMessagingStyleFromNotification(
+ notification);
+ }
+
+ private List<NotificationCompat.Action> getAllActions(Notification notification) {
+ List<NotificationCompat.Action> actions = new ArrayList<>();
+ actions.addAll(NotificationCompat.getInvisibleActions(notification));
+ for (int i = 0; i < NotificationCompat.getActionCount(notification); i++) {
+ actions.add(NotificationCompat.getAction(notification, i));
+ }
+ return actions;
+ }
+
+ private PhoneToCarMessage createSecondConversation() {
+ return VALID_CONVERSATION_MSG.toBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_2)
+ .setConversation(addSecondMessageToConversation())
+ .build();
+ }
+
+ private ConversationNotification addSecondMessageToConversation() {
+ return VALID_CONVERSATION.toBuilder()
+ .setMessagingStyle(
+ VALID_STYLE.toBuilder().addMessagingStyleMsg(MESSAGE_2)).build();
+ }
+
+ private AvatarIconSync createValidAvatarIconSync() {
+ return AvatarIconSync.newBuilder()
+ .setMessagingAppPackageName(MESSAGING_PACKAGE_NAME)
+ .setMessagingAppDisplayName(MESSAGING_APP_NAME)
+ .setPerson(Person.newBuilder()
+ .setName(SENDER_1)
+ .setAvatar(ByteString.copyFrom(mIconByteArray))
+ .build())
+ .build();
+ }
+
+ /**
+ * Small helper method that updates {@link NotificationMsgDelegateTest#VALID_CONVERSATION} with
+ * a new message.
+ */
+ private void updateConversationWithMessage2() {
+ PhoneToCarMessage updateConvo = PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .setMessage(MESSAGE_2)
+ .build();
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, updateConvo);
+ }
+
+ private void sendValidAvatarIconSyncMessage() {
+ PhoneToCarMessage validMessage = PhoneToCarMessage.newBuilder()
+ .setNotificationKey(NOTIFICATION_KEY_1)
+ .setAvatarIconSync(createValidAvatarIconSync())
+ .build();
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, validMessage);
+ }
+
+ private void sendValidPhoneMetadataMessage() {
+ PhoneToCarMessage metadataMessage = PhoneToCarMessage.newBuilder()
+ .setPhoneMetadata(PhoneMetadata.newBuilder()
+ .setBluetoothDeviceAddress(BT_DEVICE_ADDRESS)
+ .build())
+ .build();
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice, metadataMessage);
+ }
+
+ private void sendGroupConversationMessage() {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice,
+ VALID_CONVERSATION_MSG.toBuilder()
+ .setConversation(VALID_CONVERSATION.toBuilder()
+ .setMessagingStyle(VALID_STYLE.toBuilder()
+ .setIsGroupConvo(true)
+ .build())
+ .build())
+ .build());
+ }
+
+
+ private void sendClearAppDataRequest(String messagingAppPackageName) {
+ mNotificationMsgDelegate.onMessageReceived(mCompanionDevice,
+ PhoneToCarMessage.newBuilder()
+ .setClearAppDataRequest(ClearAppDataRequest.newBuilder()
+ .setMessagingAppPackageName(messagingAppPackageName)
+ .build())
+ .build());
+ }
+}
diff --git a/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeatureTest.java b/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeatureTest.java
new file mode 100644
index 0000000..e195610
--- /dev/null
+++ b/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/NotificationMsgFeatureTest.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2020 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.car.companiondevicesupport.feature.notificationmsg;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.ServiceConnection;
+import android.os.IBinder;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.car.companiondevicesupport.R;
+import com.android.car.companiondevicesupport.api.external.CompanionDevice;
+import com.android.car.messenger.NotificationMsgProto.NotificationMsg;
+import com.android.car.messenger.common.CompositeKey;
+import com.android.car.messenger.common.ConversationKey;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.UUID;
+import java.util.function.Predicate;
+
+@RunWith(AndroidJUnit4.class)
+public class NotificationMsgFeatureTest {
+
+ private static final String DEVICE_ID = UUID.randomUUID().toString();
+ private static final NotificationMsg.PhoneToCarMessage PHONE_TO_CAR_MESSAGE =
+ NotificationMsg.PhoneToCarMessage.newBuilder()
+ .build();
+
+ @Mock
+ private Context mContext;
+ @Mock
+ private IBinder mIBinder;
+ @Mock
+ private NotificationMsgDelegate mNotificationMsgDelegate;
+ @Mock
+ private CompanionDevice mCompanionDevice;
+
+
+ private NotificationMsgFeature mNotificationMsgFeature;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ when(mContext.getString(eq(R.string.notification_msg_feature_id))).thenReturn(
+ UUID.randomUUID().toString());
+ when(mContext.bindServiceAsUser(any(), any(), anyInt(), any())).thenReturn(true);
+ when(mCompanionDevice.getDeviceId()).thenReturn(DEVICE_ID);
+
+ mNotificationMsgFeature = new NotificationMsgFeature(mContext, mNotificationMsgDelegate);
+ }
+
+ @Test
+ public void startShouldClearInternalMemory() {
+ mNotificationMsgFeature.start();
+
+ ArgumentCaptor<Predicate<CompositeKey>> predicateArgumentCaptor = ArgumentCaptor.forClass(
+ Predicate.class);
+ verify(mNotificationMsgDelegate).cleanupMessagesAndNotifications(
+ predicateArgumentCaptor.capture());
+
+ // There's no way to test if two predicates have the same logic, so test the logic itself.
+ // The expected predicate should return true for any CompositeKey. Since CompositeKey is
+ // an abstract class, test with a class that extends it.
+ ConversationKey device_key = new ConversationKey(DEVICE_ID, "subKey");
+ ConversationKey device_key_1 = new ConversationKey("NOT_DEVICE_ID", "subKey");
+ assertThat(predicateArgumentCaptor.getValue().test(device_key)).isTrue();
+ assertThat(predicateArgumentCaptor.getValue().test(device_key_1)).isTrue();
+ assertThat(predicateArgumentCaptor.getValue().test(null)).isTrue();
+ }
+
+ @Test
+ public void stopShouldDestroyDelegate() {
+ mNotificationMsgFeature.start();
+
+ ArgumentCaptor<ServiceConnection> serviceConnectionCaptor =
+ ArgumentCaptor.forClass(ServiceConnection.class);
+ verify(mContext).bindServiceAsUser(any(), serviceConnectionCaptor.capture(), anyInt(),
+ any());
+ serviceConnectionCaptor.getValue().onServiceConnected(null, mIBinder);
+ mNotificationMsgFeature.stop();
+ verify(mNotificationMsgDelegate).onDestroy();
+ }
+
+ @Test
+ public void onMessageReceivedShouldPassMessageToDelegate() {
+ startWithSecureDevice();
+
+ mNotificationMsgFeature.onMessageReceived(mCompanionDevice,
+ PHONE_TO_CAR_MESSAGE.toByteArray());
+ verify(mNotificationMsgDelegate).onMessageReceived(mCompanionDevice, PHONE_TO_CAR_MESSAGE);
+ }
+
+ @Test
+ public void onMessageReceivedShouldCheckDeviceConnection() {
+ when(mCompanionDevice.hasSecureChannel()).thenReturn(false);
+ when(mCompanionDevice.isActiveUser()).thenReturn(true);
+ mNotificationMsgFeature.start();
+
+ mNotificationMsgFeature.onMessageReceived(mCompanionDevice,
+ PHONE_TO_CAR_MESSAGE.toByteArray());
+ verify(mNotificationMsgDelegate, never()).onMessageReceived(mCompanionDevice,
+ PHONE_TO_CAR_MESSAGE);
+ }
+
+ @Test
+ public void unknownDeviceDisconnectedShouldDoNothing() {
+ when(mCompanionDevice.hasSecureChannel()).thenReturn(true);
+ when(mCompanionDevice.isActiveUser()).thenReturn(true);
+ mNotificationMsgFeature.start();
+
+ mNotificationMsgFeature.onDeviceDisconnected(mCompanionDevice);
+ verify(mNotificationMsgDelegate, never()).onDeviceDisconnected(DEVICE_ID);
+ }
+
+ @Test
+ public void secureDeviceDisconnectedShouldAlertDelegate() {
+ startWithSecureDevice();
+
+ mNotificationMsgFeature.onDeviceDisconnected(mCompanionDevice);
+ verify(mNotificationMsgDelegate).onDeviceDisconnected(DEVICE_ID);
+ }
+
+ private void startWithSecureDevice() {
+ when(mCompanionDevice.hasSecureChannel()).thenReturn(true);
+ when(mCompanionDevice.isActiveUser()).thenReturn(true);
+ mNotificationMsgFeature.start();
+ mNotificationMsgFeature.onSecureChannelEstablished(mCompanionDevice);
+ }
+}
diff --git a/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/OWNERS b/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/OWNERS
new file mode 100644
index 0000000..0c113c4
--- /dev/null
+++ b/tests/unit/src/com/android/car/companiondevicesupport/feature/notificationmsg/OWNERS
@@ -0,0 +1,3 @@
+# People who can approve changes for submission.
+igorr@google.com
+jiayuzhou@google.com